@0xweb/hardhat 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +23 -8
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -101,10 +101,10 @@ var $path;
101
101
  return pathUtil.join(process.cwd(), path);
102
102
  }
103
103
  $path.resolve = resolve;
104
- function combine(...paths) {
104
+ function join(...paths) {
105
105
  return pathUtil.join(...paths);
106
106
  }
107
- $path.combine = combine;
107
+ $path.join = join;
108
108
  })($path = exports.$path || (exports.$path = {}));
109
109
  //# sourceMappingURL=$path.js.map
110
110
  //# sourceMappingURL=$path.ts.map;
@@ -142,20 +142,35 @@ const taskArgsStore = { compileAll: false };
142
142
  (0, config_1.task)(task_names_1.TASK_COMPILE, 'Compiles the entire project, building all artifacts')
143
143
  .addOptionalParam('sources', 'Override the sources directory')
144
144
  .addOptionalParam('artifacts', 'Override the artifacts output directory')
145
+ .addOptionalParam('root', 'Overrides root directory. If sources is also overriden must be the sub-folder of the sources dir')
145
146
  .addOptionalParam('watch', 'Re-runs compilation task on changes')
146
147
  .setAction(async (compilationArgs, { run, config, artifacts }, runSuper) => {
147
- if (compilationArgs.sources) {
148
- config.paths.sources = _path_1.$path.resolve(compilationArgs.sources);
148
+ let { sources: sourcesDir, artifacts: artifactsDir, root: rootDir } = compilationArgs;
149
+ if (rootDir != null) {
150
+ rootDir = _path_1.$path.resolve(rootDir);
151
+ if (sourcesDir == null) {
152
+ sourcesDir = `file://${_path_1.$path.join(rootDir, 'contracts')}`;
153
+ }
154
+ if (artifactsDir == null) {
155
+ artifactsDir = `file://${_path_1.$path.join(rootDir, 'artifacts')}`;
156
+ }
157
+ config.paths.root = rootDir;
158
+ config.paths.cache = _path_1.$path.join(rootDir, 'cache');
149
159
  }
150
- if (compilationArgs.artifacts) {
151
- const artifactsDir = _path_1.$path.resolve(compilationArgs.artifacts);
152
- const artifactsInstance = artifacts;
160
+ if (sourcesDir) {
161
+ sourcesDir = _path_1.$path.resolve(sourcesDir);
162
+ config.paths.sources = sourcesDir;
163
+ }
164
+ if (artifactsDir) {
165
+ artifactsDir = _path_1.$path.resolve(artifactsDir);
153
166
  config.paths.artifacts = artifactsDir;
167
+ // Re-set Artifacts Path manually, as Hardhat initializes the Artifacts Instance before this task runs.
168
+ // Other paths (sources, cache) will be resolved later by hardhat from config
169
+ const artifactsInstance = artifacts;
154
170
  if (artifactsInstance._artifactsPath == null) {
155
171
  console.error(`Articats Internal interface was changed. Trying to set private _artifactsPath, but it doesn't exist.`);
156
172
  }
157
173
  artifactsInstance._artifactsPath = artifactsDir;
158
- config.paths.cache = _path_1.$path.combine(artifactsDir, '../cache/');
159
174
  }
160
175
  if (compilationArgs.watch != null) {
161
176
  const directory = `file://${config.paths.sources}/`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@0xweb/hardhat",
3
3
  "description": "Hardhat plugin for 0xweb",
4
- "version": "0.1.7",
4
+ "version": "0.1.9",
5
5
  "main": "./lib/index.js",
6
6
  "author": {
7
7
  "name": "Alex Kit",