浏览代码

Improve Hardhat config (#2612)

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
Hadrien Croubois 4 年之前
父节点
当前提交
585db1f667
共有 4 个文件被更改,包括 33 次插入522 次删除
  1. 1 1
      .github/workflows/test.yml
  2. 18 8
      hardhat.config.js
  3. 11 511
      package-lock.json
  4. 3 2
      package.json

+ 1 - 1
.github/workflows/test.yml

@@ -28,7 +28,7 @@ jobs:
       - run: npm run test
         env:
           FORCE_COLOR: 1
-          ENABLE_GAS_REPORT: 1
+          ENABLE_GAS_REPORT: true
       - name: Print gas report
         run: cat gas-report.txt
 

+ 18 - 8
hardhat.config.js

@@ -1,27 +1,38 @@
+/// ENVVAR
+// - ENABLE_GAS_REPORT
+// - CI
+// - COMPILE_MODE
+
 const fs = require('fs');
 const path = require('path');
+const argv = require('yargs/yargs')()
+  .env('')
+  .boolean('enableGasReport')
+  .boolean('ci')
+  .string('compileMode')
+  .argv;
 
 require('@nomiclabs/hardhat-truffle5');
 require('@nomiclabs/hardhat-solhint');
 require('solidity-coverage');
-require('hardhat-gas-reporter');
+
+if (argv.enableGasReport) {
+  require('hardhat-gas-reporter');
+}
 
 for (const f of fs.readdirSync(path.join(__dirname, 'hardhat'))) {
   require(path.join(__dirname, 'hardhat', f));
 }
 
-const enableGasReport = !!process.env.ENABLE_GAS_REPORT;
-const enableProduction = process.env.COMPILE_MODE === 'production';
-
 /**
  * @type import('hardhat/config').HardhatUserConfig
  */
 module.exports = {
   solidity: {
-    version: '0.8.0',
+    version: '0.8.3',
     settings: {
       optimizer: {
-        enabled: enableGasReport || enableProduction,
+        enabled: argv.enableGasReport || argv.compileMode === 'production',
         runs: 200,
       },
     },
@@ -32,8 +43,7 @@ module.exports = {
     },
   },
   gasReporter: {
-    enable: enableGasReport,
     currency: 'USD',
-    outputFile: process.env.CI ? 'gas-report.txt' : undefined,
+    outputFile: argv.ci ? 'gas-report.txt' : undefined,
   },
 };

文件差异内容过多而无法显示
+ 11 - 511
package-lock.json


+ 3 - 2
package.json

@@ -27,7 +27,7 @@
     "release": "scripts/release/release.sh",
     "version": "scripts/release/version.sh",
     "test": "hardhat test",
-    "gas-report": "env ENABLE_GAS_REPORT=1 npm run test"
+    "gas-report": "env ENABLE_GAS_REPORT=true npm run test"
   },
   "repository": {
     "type": "git",
@@ -76,6 +76,7 @@
     "solhint": "^3.2.0",
     "solidity-coverage": "^0.7.11",
     "solidity-docgen": "^0.5.3",
-    "web3": "^1.3.0"
+    "web3": "^1.3.0",
+    "yargs": "^16.2.0"
   }
 }

部分文件因为文件数量过多而无法显示