<commit_before>const _ = require("lodash");
const path = require("path");
const Provider = require("@truffle/provider");
const TruffleError = require("@truffle/error");
const Module = require("module");
const findUp = require("find-up");
const originalrequire = require("original-require");
const Configstore = require("configstore");

const DEFAULT_CONFIG_FILENAME = "truffle-config.js";
const BACKUP_CONFIG_FILENAME = "truffle.js"; // old config filename

class Config {
  constructor(truffle_directory, working_directory, network) {
    const default_tx_values = {
      gas: 6721975,
      gasPrice: 20000000000, // 20 gwei,
      from: null
    };

    // This is a list of multi-level keys with defaults
    // we need to _.merge. Using this list for safety
    // vs. just merging all objects.
    this._deepCopy = ["compilers"];

    this._values = {
      truffle_directory:
        truffle_directory || path.resolve(path.join(__dirname, "../")),
      working_directory: working_directory || process.cwd(),
      network,
      networks: {},
      verboseRpc: false,
      gas: null,
      gasPrice: null,
      from: null,
      confirmations: 0,
      timeoutBlocks: 0,
      production: false,
      skipDryRun: false,
      build: null,
      resolver: null,
      artifactor: null,
      ethpm: {
        ipfs_host: "ipfs.infura.io",
        ipfs_protocol: "https",
        registry: "0x8011df4830b4f696cd81393997e5371b93338878",
        install_provider_uri: "https://ropsten.infura.io/truffle"
      },
      compilers: {
        solc: {
          settings: {
            optimizer: {
              enabled: false,
              runs: 200
            }
          }
        },
        vyper: {}
      },
      logger: {
        log() {}
      }
    };

    const resolveDirectory = value =>
      path.resolve(this.working_directory, value);

    const props = {
      // These are already set.
      truffle_directory() {},<commit_msg>Add default for compiler.solc.settings.remappings to truffle config<commit_after>const _ = require("lodash");
const path = require("path");
const Provider = require("@truffle/provider");
const TruffleError = require("@truffle/error");
const Module = require("module");
const findUp = require("find-up");
const originalrequire = require("original-require");
const Configstore = require("configstore");

const DEFAULT_CONFIG_FILENAME = "truffle-config.js";
const BACKUP_CONFIG_FILENAME = "truffle.js"; // old config filename

class Config {
  constructor(truffle_directory, working_directory, network) {
    const default_tx_values = {
      gas: 6721975,
      gasPrice: 20000000000, // 20 gwei,
      from: null
    };

    // This is a list of multi-level keys with defaults
    // we need to _.merge. Using this list for safety
    // vs. just merging all objects.
    this._deepCopy = ["compilers"];

    this._values = {
      truffle_directory:
        truffle_directory || path.resolve(path.join(__dirname, "../")),
      working_directory: working_directory || process.cwd(),
      network,
      networks: {},
      verboseRpc: false,
      gas: null,
      gasPrice: null,
      from: null,
      confirmations: 0,
      timeoutBlocks: 0,
      production: false,
      skipDryRun: false,
      build: null,
      resolver: null,
      artifactor: null,
      ethpm: {
        ipfs_host: "ipfs.infura.io",
        ipfs_protocol: "https",
        registry: "0x8011df4830b4f696cd81393997e5371b93338878",
        install_provider_uri: "https://ropsten.infura.io/truffle"
      },
      compilers: {
        solc: {
          settings: {
            optimizer: {
              enabled: false,
              runs: 200
            },
            remappings: []
          }
        },
        vyper: {}
      },
      logger: {
        log() {}
      }
    };

    const resolveDirectory = value =>
      path.resolve(this.working_directory, value);

    const props = {
      // These are already set.
      truffle_directory() {},
{'fraction_non_alphanumeric': 0.11916708479678877, 'fraction_numerical': 0.029101856497742096, 'mean_word_length': 2.3730964467005076, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5685651', 'n_tokens_mistral': 1264, 'n_tokens_neox': 1187, 'n_words': 277}