@atlaspack/core 2.16.2-dev.72 → 2.16.2-dev.93

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 (51) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/lib/AssetGraph.js +9 -0
  3. package/lib/Atlaspack.js +5 -2
  4. package/lib/AtlaspackConfig.schema.js +7 -1
  5. package/lib/BundleGraph.js +3 -4
  6. package/lib/PackagerRunner.js +2 -5
  7. package/lib/RequestTracker.js +48 -39
  8. package/lib/Transformation.js +2 -2
  9. package/lib/atlaspack-v3/AtlaspackV3.js +1 -44
  10. package/lib/atlaspack-v3/NapiWorkerPool.js +1 -1
  11. package/lib/atlaspack-v3/worker/compat/environment.js +2 -2
  12. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +6 -6
  13. package/lib/atlaspack-v3/worker/compat/plugin-config.js +5 -5
  14. package/lib/atlaspack-v3/worker/index.js +6 -0
  15. package/lib/atlaspack-v3/worker/worker.js +4 -11
  16. package/lib/dumpGraphToGraphViz.js +1 -1
  17. package/lib/index.js +24 -4
  18. package/lib/loadAtlaspackPlugin.js +0 -15
  19. package/lib/public/Config.js +1 -8
  20. package/lib/public/PluginOptions.js +0 -3
  21. package/lib/requests/AtlaspackConfigRequest.js +29 -44
  22. package/lib/requests/DevDepRequest.js +22 -1
  23. package/lib/requests/PathRequest.js +10 -0
  24. package/lib/resolveOptions.js +4 -5
  25. package/lib/worker.js +26 -9
  26. package/package.json +17 -31
  27. package/src/AssetGraph.js +13 -0
  28. package/src/Atlaspack.js +7 -8
  29. package/src/BundleGraph.js +1 -8
  30. package/src/PackagerRunner.js +0 -5
  31. package/src/RequestTracker.js +8 -6
  32. package/src/atlaspack-v3/AtlaspackV3.js +2 -53
  33. package/src/atlaspack-v3/NapiWorkerPool.js +1 -5
  34. package/src/atlaspack-v3/worker/worker.js +4 -11
  35. package/src/index.js +5 -3
  36. package/src/loadAtlaspackPlugin.js +1 -23
  37. package/src/public/Config.js +1 -2
  38. package/src/public/PluginOptions.js +0 -4
  39. package/src/requests/AtlaspackConfigRequest.js +31 -77
  40. package/src/requests/DevDepRequest.js +44 -12
  41. package/src/requests/PathRequest.js +4 -0
  42. package/src/resolveOptions.js +0 -2
  43. package/src/types.js +1 -1
  44. package/src/worker.js +7 -8
  45. package/_empty.js +0 -0
  46. package/lib/atlaspack-v3/worker/napi-worker.js +0 -3
  47. package/lib/internal-plugins.js +0 -9
  48. package/lib/isSuperPackage.js +0 -23
  49. package/src/internal-plugins.js +0 -4
  50. package/src/isSuperPackage.js +0 -28
  51. /package/src/atlaspack-v3/worker/{napi-worker.js → index.js} +0 -0
@@ -28,13 +28,6 @@ function _utils() {
28
28
  }
29
29
  var _Environment = _interopRequireDefault(require("./Environment"));
30
30
  var _projectPath = require("../projectPath");
31
- function _featureFlags() {
32
- const data = require("@atlaspack/feature-flags");
33
- _featureFlags = function () {
34
- return data;
35
- };
36
- return data;
37
- }
38
31
  var _EnvironmentManager = require("../EnvironmentManager");
39
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
40
33
  const internalConfigToConfig = new (_utils().DefaultWeakMap)(() => new WeakMap());
@@ -284,7 +277,7 @@ class PublicConfig {
284
277
  return this.#pkg;
285
278
  }
286
279
  let pkgConfig = await this.getConfig(['package.json'], {
287
- readTracking: (0, _featureFlags().getFeatureFlag)('granularTsConfigInvalidation')
280
+ readTracking: true
288
281
  });
289
282
  if (!pkgConfig) {
290
283
  return null;
@@ -29,9 +29,6 @@ class PluginOptions {
29
29
  get parcelVersion() {
30
30
  return this.#options.parcelVersion;
31
31
  }
32
- get isAtlaspackSuper() {
33
- return Boolean(this.#options.isAtlaspackSuper);
34
- }
35
32
  get hmrOptions() {
36
33
  return this.#options.hmrOptions;
37
34
  }
@@ -40,7 +40,7 @@ function _diagnostic() {
40
40
  return data;
41
41
  }
42
42
  function _json() {
43
- const data = _interopRequireDefault(require("json5"));
43
+ const data = require("json5");
44
44
  _json = function () {
45
45
  return data;
46
46
  };
@@ -60,13 +60,11 @@ function _assert() {
60
60
  };
61
61
  return data;
62
62
  }
63
- var _internalPlugins = _interopRequireDefault(require("../internal-plugins"));
64
63
  var _AtlaspackConfig = require("../AtlaspackConfig");
65
64
  var _AtlaspackConfig2 = _interopRequireDefault(require("../AtlaspackConfig.schema"));
66
65
  var _projectPath = require("../projectPath");
67
66
  var _RequestTracker = require("../RequestTracker");
68
67
  var _utils2 = require("../utils");
69
- var _isSuperPackage = require("../isSuperPackage");
70
68
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
71
69
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
72
70
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -136,38 +134,28 @@ async function resolveAtlaspackConfig(options) {
136
134
  let resolveFrom = getResolveFrom(options.inputFS, options.projectRoot);
137
135
  let configPath = options.config != null ? (await options.packageManager.resolve(options.config, resolveFrom)).resolved : await (0, _utils().resolveConfig)(options.inputFS, resolveFrom, ['.parcelrc'], options.projectRoot);
138
136
  let usedDefault = false;
139
- let config, extendedFiles;
140
- if (configPath == null && options.defaultConfig != null && (0, _isSuperPackage.isSuperPackage)() && options.defaultConfig.endsWith('.js')) {
137
+ if (configPath == null && options.defaultConfig != null) {
141
138
  usedDefault = true;
142
- // Load the super package default config
143
- let result = await processConfigChain(_internalPlugins.default['@atlaspack/config-default'](),
144
- // $FlowFixMe
145
- options.defaultConfig, options);
146
- config = result.config;
147
- extendedFiles = result.extendedFiles;
148
- } else {
149
- if (configPath == null && options.defaultConfig != null) {
150
- usedDefault = true;
151
- configPath = (await options.packageManager.resolve(options.defaultConfig, resolveFrom)).resolved;
152
- }
153
- if (configPath == null) {
154
- return null;
155
- }
156
- let contents;
157
- try {
158
- contents = await options.inputFS.readFile(configPath, 'utf8');
159
- } catch (e) {
160
- throw new (_diagnostic().default)({
161
- diagnostic: {
162
- message: (0, _diagnostic().md)`Could not find parcel config at ${_path().default.relative(options.projectRoot, configPath)}`,
163
- origin: '@atlaspack/core'
164
- }
165
- });
166
- }
167
- let result = await parseAndProcessConfig(configPath, contents, options);
168
- config = result.config;
169
- extendedFiles = result.extendedFiles;
139
+ configPath = (await options.packageManager.resolve(options.defaultConfig, resolveFrom)).resolved;
140
+ }
141
+ if (configPath == null) {
142
+ return null;
170
143
  }
144
+ let contents;
145
+ try {
146
+ contents = await options.inputFS.readFile(configPath, 'utf8');
147
+ } catch (e) {
148
+ throw new (_diagnostic().default)({
149
+ diagnostic: {
150
+ message: (0, _diagnostic().md)`Could not find parcel config at ${_path().default.relative(options.projectRoot, configPath)}`,
151
+ origin: '@atlaspack/core'
152
+ }
153
+ });
154
+ }
155
+ let {
156
+ config,
157
+ extendedFiles
158
+ } = await parseAndProcessConfig(configPath, contents, options);
171
159
  if (options.additionalReporters.length > 0) {
172
160
  config.reporters = [...options.additionalReporters.map(({
173
161
  packageName,
@@ -191,7 +179,7 @@ function create(config, options) {
191
179
  async function parseAndProcessConfig(configPath, contents, options) {
192
180
  let config;
193
181
  try {
194
- config = _json().default.parse(contents);
182
+ config = (0, _json().parse)(contents);
195
183
  } catch (e) {
196
184
  let pos = {
197
185
  line: e.lineNumber,
@@ -316,16 +304,13 @@ async function processConfigChain(configFile, filePath, options) {
316
304
  for (let ext of exts) {
317
305
  try {
318
306
  let key = Array.isArray(configFile.extends) ? `/extends/${i}` : '/extends';
319
- let nextConfig;
320
- if (_internalPlugins.default[ext]) {
321
- nextConfig = (await processConfigChain(_internalPlugins.default[ext](), /*#__ATLASPACK_IGNORE__*/__dirname, options)).config;
322
- } else {
323
- let resolved = await resolveExtends(ext, filePath, key, options);
324
- extendedFiles.push(resolved);
325
- let result = await processExtendedConfig(filePath, key, ext, resolved, options);
326
- extendedFiles = extendedFiles.concat(result.extendedFiles);
327
- nextConfig = result.config;
328
- }
307
+ let resolved = await resolveExtends(ext, filePath, key, options);
308
+ extendedFiles.push(resolved);
309
+ let {
310
+ extendedFiles: moreExtendedFiles,
311
+ config: nextConfig
312
+ } = await processExtendedConfig(filePath, key, ext, resolved, options);
313
+ extendedFiles = extendedFiles.concat(moreExtendedFiles);
329
314
  extStartConfig = extStartConfig ? mergeConfigs(extStartConfig, nextConfig) : nextConfig;
330
315
  } catch (err) {
331
316
  errors.push(err);
@@ -27,6 +27,13 @@ var _assetUtils = require("../assetUtils");
27
27
  var _utils = require("../utils");
28
28
  var _projectPath = require("../projectPath");
29
29
  var _RequestTracker = require("../RequestTracker");
30
+ function _featureFlags() {
31
+ const data = require("@atlaspack/feature-flags");
32
+ _featureFlags = function () {
33
+ return data;
34
+ };
35
+ return data;
36
+ }
30
37
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
38
  // A cache of dev dep requests keyed by invalidations.
32
39
  // If the package manager returns the same invalidation object, then
@@ -89,7 +96,21 @@ async function createDevDependency(opts, requestDevDeps, options) {
89
96
  return devDepRequest;
90
97
  }
91
98
  async function getDevDepRequests(api) {
92
- let previousDevDepRequests = new Map(await Promise.all(api.getSubRequests().filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request).map(async req => [req.id, (0, _nullthrows().default)(await api.getRequestResult(req.id))])));
99
+ async function getPreviousDevDepRequests() {
100
+ if ((0, _featureFlags().getFeatureFlag)('fixBuildAbortCorruption')) {
101
+ const allDevDepRequests = await Promise.all(api.getSubRequests().filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request).map(async req => [req.id, await api.getRequestResult(req.id)]));
102
+ const nonNullDevDepRequests = [];
103
+ for (const [id, result] of allDevDepRequests) {
104
+ if (result != null) {
105
+ nonNullDevDepRequests.push([id, result]);
106
+ }
107
+ }
108
+ return new Map(nonNullDevDepRequests);
109
+ } else {
110
+ return new Map(await Promise.all(api.getSubRequests().filter(req => req.requestType === _RequestTracker.requestTypes.dev_dep_request).map(async req => [req.id, (0, _nullthrows().default)(await api.getRequestResult(req.id))])));
111
+ }
112
+ }
113
+ const previousDevDepRequests = await getPreviousDevDepRequests();
93
114
  return {
94
115
  devDeps: new Map([...previousDevDepRequests.entries()].filter(([id]) => api.canSkipSubrequest(id)).map(([, req]) => [`${req.specifier}:${(0, _projectPath.fromProjectPathRelative)(req.resolveFrom)}`, req.hash])),
95
116
  invalidDevDeps: await Promise.all([...previousDevDepRequests.entries()].filter(([id]) => !api.canSkipSubrequest(id)).flatMap(([, req]) => {
@@ -26,6 +26,13 @@ function _logger() {
26
26
  };
27
27
  return data;
28
28
  }
29
+ function _featureFlags() {
30
+ const data = require("@atlaspack/feature-flags");
31
+ _featureFlags = function () {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
29
36
  function _nullthrows() {
30
37
  const data = _interopRequireDefault(require("nullthrows"));
31
38
  _nullthrows = function () {
@@ -259,6 +266,9 @@ class ResolverRunner {
259
266
  }
260
267
  if (result.priority != null) {
261
268
  dependency.priority = _types.Priority[result.priority];
269
+ if ((0, _featureFlags().getFeatureFlag)('hmrImprovements')) {
270
+ dependency.resolverPriority = dependency.priority;
271
+ }
262
272
  }
263
273
  if (result.invalidateOnEnvChange) {
264
274
  invalidateOnEnvChange.push(...result.invalidateOnEnvChange);
@@ -56,7 +56,6 @@ function _utils() {
56
56
  var _loadDotEnv = _interopRequireDefault(require("./loadDotEnv"));
57
57
  var _projectPath = require("./projectPath");
58
58
  var _AtlaspackConfigRequest = require("./requests/AtlaspackConfigRequest");
59
- var _isSuperPackage = require("./isSuperPackage");
60
59
  var _constants = require("./constants");
61
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
62
61
  // Default cache directory name
@@ -140,7 +139,7 @@ async function resolveOptions(initialOptions) {
140
139
  // where symlinked dependencies outside the project root need to trigger HMR
141
140
  // updates. Default to the project root if not provided.
142
141
  let watchDir = initialOptions.watchDir != null ? _path().default.resolve(initialOptions.watchDir) : projectRoot;
143
- let cache = function createCache() {
142
+ function createCache() {
144
143
  if (initialOptions.cache) {
145
144
  return initialOptions.cache;
146
145
  }
@@ -151,7 +150,8 @@ async function resolveOptions(initialOptions) {
151
150
  }
152
151
  }
153
152
  return new (_cache().LMDBLiteCache)(cacheDir);
154
- }();
153
+ }
154
+ let cache = createCache();
155
155
  let mode = initialOptions.mode ?? 'development';
156
156
  let shouldOptimize = (initialOptions === null || initialOptions === void 0 || (_initialOptions$defau = initialOptions.defaultTargetOptions) === null || _initialOptions$defau === void 0 ? void 0 : _initialOptions$defau.shouldOptimize) ?? mode === 'production';
157
157
  let publicUrl = (initialOptions === null || initialOptions === void 0 || (_initialOptions$defau2 = initialOptions.defaultTargetOptions) === null || _initialOptions$defau2 === void 0 ? void 0 : _initialOptions$defau2.publicUrl) ?? '/';
@@ -238,8 +238,7 @@ async function resolveOptions(initialOptions) {
238
238
  ..._featureFlags().DEFAULT_FEATURE_FLAGS,
239
239
  ...(initialOptions === null || initialOptions === void 0 ? void 0 : initialOptions.featureFlags)
240
240
  },
241
- parcelVersion: _constants.ATLASPACK_VERSION,
242
- isAtlaspackSuper: (0, _isSuperPackage.isSuperPackage)()
241
+ parcelVersion: _constants.ATLASPACK_VERSION
243
242
  };
244
243
  }
245
244
  function getRelativeConfigSpecifier(fs, projectRoot, specifier) {
package/lib/worker.js CHANGED
@@ -78,15 +78,15 @@ require("@atlaspack/package-manager");
78
78
  require("@atlaspack/fs");
79
79
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
80
80
  // register with serializer
81
- // Repl builds are currently not enabled
82
81
  // $FlowFixMe
83
- // if (process.env.ATLASPACK_BUILD_REPL && process.browser) {
84
- // /* eslint-disable import/no-extraneous-dependencies, monorepo/no-internal-import */
85
- // require('@atlaspack/repl/src/atlaspack/BrowserPackageManager.js');
86
- // // $FlowFixMe
87
- // require('@atlaspack/repl/src/atlaspack/ExtendedMemoryFS.js');
88
- // /* eslint-enable import/no-extraneous-dependencies, monorepo/no-internal-import */
89
- // }
82
+ if (process.env.ATLASPACK_BUILD_REPL && process.browser) {
83
+ /* eslint-disable import/no-extraneous-dependencies, monorepo/no-internal-import */
84
+ require('@atlaspack/repl/src/atlaspack/BrowserPackageManager.js');
85
+ // $FlowFixMe
86
+ require('@atlaspack/repl/src/atlaspack/ExtendedMemoryFS.js');
87
+ /* eslint-enable import/no-extraneous-dependencies, monorepo/no-internal-import */
88
+ }
89
+
90
90
  (0, _registerCoreWithSerializer.registerCoreWithSerializer)();
91
91
 
92
92
  // Remove the workerApi type from the TransformationOpts and ValidationOpts types:
@@ -172,7 +172,24 @@ async function childInit() {
172
172
  await (_rust().init === null || _rust().init === void 0 ? void 0 : (0, _rust().init)());
173
173
  }
174
174
  const PKG_RE = /node_modules[/\\]((?:@[^/\\]+[/\\][^/\\]+)|[^/\\]+)(?!.*[/\\]node_modules[/\\])/;
175
- function invalidateRequireCache() {
175
+ function invalidateRequireCache(workerApi, file) {
176
+ if (process.env.ATLASPACK_BUILD_ENV === 'test') {
177
+ // Delete this module and all children in the same node_modules folder
178
+ let module = require.cache[file];
179
+ if (module) {
180
+ var _file$match;
181
+ delete require.cache[file];
182
+ let pkg = (_file$match = file.match(PKG_RE)) === null || _file$match === void 0 ? void 0 : _file$match[1];
183
+ for (let child of module.children) {
184
+ var _child$id$match;
185
+ if (pkg === ((_child$id$match = child.id.match(PKG_RE)) === null || _child$id$match === void 0 ? void 0 : _child$id$match[1])) {
186
+ invalidateRequireCache(workerApi, child.id);
187
+ }
188
+ }
189
+ }
190
+ atlaspackConfigCache.clear();
191
+ return;
192
+ }
176
193
  throw new Error('invalidateRequireCache is only for tests');
177
194
  }
178
195
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaspack/core",
3
- "version": "2.16.2-dev.72+9840480de",
3
+ "version": "2.16.2-dev.93+207d003c0",
4
4
  "license": "(MIT OR Apache-2.0)",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -21,21 +21,21 @@
21
21
  "check-ts": "tsc --noEmit index.d.ts"
22
22
  },
23
23
  "dependencies": {
24
- "@atlaspack/build-cache": "2.13.3-dev.140+9840480de",
25
- "@atlaspack/cache": "3.1.1-dev.72+9840480de",
26
- "@atlaspack/diagnostic": "2.14.1-dev.140+9840480de",
27
- "@atlaspack/events": "2.14.1-dev.140+9840480de",
28
- "@atlaspack/feature-flags": "2.14.1-dev.140+9840480de",
29
- "@atlaspack/fs": "2.14.5-dev.72+9840480de",
30
- "@atlaspack/graph": "3.4.1-dev.140+9840480de",
31
- "@atlaspack/logger": "2.14.5-dev.72+9840480de",
32
- "@atlaspack/package-manager": "2.14.5-dev.72+9840480de",
33
- "@atlaspack/plugin": "2.14.5-dev.72+9840480de",
34
- "@atlaspack/profiler": "2.14.1-dev.140+9840480de",
35
- "@atlaspack/rust": "3.2.1-dev.72+9840480de",
36
- "@atlaspack/types": "2.14.5-dev.72+9840480de",
37
- "@atlaspack/utils": "2.14.5-dev.72+9840480de",
38
- "@atlaspack/workers": "2.14.5-dev.72+9840480de",
24
+ "@atlaspack/build-cache": "2.13.3-dev.161+207d003c0",
25
+ "@atlaspack/cache": "3.1.1-dev.93+207d003c0",
26
+ "@atlaspack/diagnostic": "2.14.1-dev.161+207d003c0",
27
+ "@atlaspack/events": "2.14.1-dev.161+207d003c0",
28
+ "@atlaspack/feature-flags": "2.14.1-dev.161+207d003c0",
29
+ "@atlaspack/fs": "2.14.5-dev.93+207d003c0",
30
+ "@atlaspack/graph": "3.4.1-dev.161+207d003c0",
31
+ "@atlaspack/logger": "2.14.5-dev.93+207d003c0",
32
+ "@atlaspack/package-manager": "2.14.5-dev.93+207d003c0",
33
+ "@atlaspack/plugin": "2.14.5-dev.93+207d003c0",
34
+ "@atlaspack/profiler": "2.14.1-dev.161+207d003c0",
35
+ "@atlaspack/rust": "3.2.1-dev.93+207d003c0",
36
+ "@atlaspack/types": "2.14.5-dev.93+207d003c0",
37
+ "@atlaspack/utils": "2.14.5-dev.93+207d003c0",
38
+ "@atlaspack/workers": "2.14.5-dev.93+207d003c0",
39
39
  "@mischnic/json-sourcemap": "^0.1.0",
40
40
  "@parcel/source-map": "^2.1.1",
41
41
  "base-x": "^3.0.8",
@@ -56,23 +56,9 @@
56
56
  "rfdc": "1",
57
57
  "tempy": "^0.2.1"
58
58
  },
59
- "exports": {
60
- "./*": "./*",
61
- ".": {
62
- "types": "./index.d.ts",
63
- "default": "./lib/index.js"
64
- },
65
- "./worker": {
66
- "@atlaspack::sources": "./src/worker.js",
67
- "default": "./lib/worker.js"
68
- }
69
- },
70
- "atlaspackReferences": [
71
- "_empty.js"
72
- ],
73
59
  "browser": {
74
60
  "./src/serializerCore.js": "./src/serializerCore.browser.js"
75
61
  },
76
62
  "type": "commonjs",
77
- "gitHead": "9840480de27511f558d8f5b8cf82220de977b4fb"
63
+ "gitHead": "207d003c0f1d4ffa6a1c52d2f8841d998616c523"
78
64
  }
package/src/AssetGraph.js CHANGED
@@ -538,6 +538,19 @@ export default class AssetGraph extends ContentGraph<AssetGraphNode> {
538
538
  ...depNode.value.meta,
539
539
  ...existing.value.resolverMeta,
540
540
  };
541
+
542
+ if (getFeatureFlag('hmrImprovements')) {
543
+ depNode.value.resolverMeta = existing.value.resolverMeta;
544
+ }
545
+ }
546
+ if (getFeatureFlag('hmrImprovements')) {
547
+ if (
548
+ existing?.type === 'dependency' &&
549
+ existing.value.resolverPriority != null
550
+ ) {
551
+ depNode.value.priority = existing.value.resolverPriority;
552
+ depNode.value.resolverPriority = existing.value.resolverPriority;
553
+ }
541
554
  }
542
555
  let dependentAsset = dependentAssets.find(
543
556
  (a) => a.uniqueKey === dep.specifier,
package/src/Atlaspack.js CHANGED
@@ -69,10 +69,7 @@ registerCoreWithSerializer();
69
69
 
70
70
  export const INTERNAL_TRANSFORM: symbol = Symbol('internal_transform');
71
71
  export const INTERNAL_RESOLVE: symbol = Symbol('internal_resolve');
72
- export const WORKER_PATH: string = path.join(
73
- /*#__ATLASPACK_IGNORE__*/ __dirname,
74
- 'worker.js',
75
- );
72
+ export const WORKER_PATH: string = path.join(__dirname, 'worker.js');
76
73
 
77
74
  export default class Atlaspack {
78
75
  #requestTracker /*: RequestTracker*/;
@@ -177,6 +174,7 @@ export default class Atlaspack {
177
174
 
178
175
  rustAtlaspack = await AtlaspackV3.create({
179
176
  ...options,
177
+ corePath: path.join(__dirname, '..'),
180
178
  threads,
181
179
  entries: Array.isArray(entries)
182
180
  ? entries
@@ -535,10 +533,11 @@ export default class Atlaspack {
535
533
  nativeInvalid = await this.rustAtlaspack.respondToFsEvents(events);
536
534
  }
537
535
 
538
- let isInvalid = await this.#requestTracker.respondToFSEvents(
539
- events,
540
- Number.POSITIVE_INFINITY,
541
- );
536
+ let {didInvalidate: isInvalid} =
537
+ await this.#requestTracker.respondToFSEvents(
538
+ events,
539
+ Number.POSITIVE_INFINITY,
540
+ );
542
541
 
543
542
  if (
544
543
  (nativeInvalid || isInvalid) &&
@@ -1316,14 +1316,7 @@ export default class BundleGraph {
1316
1316
  }
1317
1317
 
1318
1318
  let dependencies = this._graph
1319
- .getNodeIdsConnectedTo(
1320
- assetNodeId,
1321
- // TODO: This seems like bug with library builds when assets are present
1322
- // in other files. Guarding the fix for now exclusively for super builds
1323
- process.env.ATLASPACK_SUPER_BUILD === 'true'
1324
- ? ALL_EDGE_TYPES
1325
- : undefined,
1326
- )
1319
+ .getNodeIdsConnectedTo(assetNodeId)
1327
1320
  .map((id) => nullthrows(this._graph.getNode(id)))
1328
1321
  .filter((node) => node.type === 'dependency')
1329
1322
  .map((node) => {
@@ -603,11 +603,6 @@ export default class PackagerRunner {
603
603
  }
604
604
  }
605
605
 
606
- if (process.env.ATLASPACK_SUPER_BUILD === 'true') {
607
- // Set source root to 'atlaspack' so stack traces are clean in Sentry
608
- sourceRoot = 'atlaspack';
609
- }
610
-
611
606
  let mapFilename = fullPath + '.map';
612
607
  let isInlineMap = bundleEnv.sourceMap && bundleEnv.sourceMap.inline;
613
608
 
@@ -1123,11 +1123,7 @@ export class RequestGraph extends ContentGraph<
1123
1123
  //
1124
1124
  // Currently create events can invalidate a large number of nodes due to
1125
1125
  // "create above" invalidations.
1126
- const isConfigKeyChange =
1127
- getFeatureFlag('granularTsConfigInvalidation') ||
1128
- type === 'delete' ||
1129
- type === 'update';
1130
- if (configKeyNodes && isConfigKeyChange) {
1126
+ if (configKeyNodes) {
1131
1127
  for (let nodeId of configKeyNodes) {
1132
1128
  let isInvalid = type === 'delete';
1133
1129
 
@@ -1239,6 +1235,9 @@ export default class RequestTracker {
1239
1235
 
1240
1236
  // TODO: refactor (abortcontroller should be created by RequestTracker)
1241
1237
  setSignal(signal?: AbortSignal) {
1238
+ if (getFeatureFlag('fixBuildAbortCorruption')) {
1239
+ return;
1240
+ }
1242
1241
  this.signal = signal;
1243
1242
  }
1244
1243
 
@@ -1422,7 +1421,10 @@ export default class RequestTracker {
1422
1421
  rustAtlaspack: this.rustAtlaspack,
1423
1422
  });
1424
1423
 
1425
- assertSignalNotAborted(this.signal);
1424
+ if (!getFeatureFlag('fixBuildAbortCorruption')) {
1425
+ assertSignalNotAborted(this.signal);
1426
+ }
1427
+
1426
1428
  this.completeRequest(requestNodeId);
1427
1429
 
1428
1430
  deferred.resolve(true);
@@ -12,8 +12,6 @@ import {NapiWorkerPool} from './NapiWorkerPool';
12
12
  import ThrowableDiagnostic from '@atlaspack/diagnostic';
13
13
  import type {Event} from '@parcel/watcher';
14
14
  import type {NapiWorkerPool as INapiWorkerPool} from '@atlaspack/types';
15
- import {isSuperPackage} from '../isSuperPackage';
16
- import path from 'path';
17
15
 
18
16
  export type AtlaspackV3Options = {|
19
17
  fs?: AtlaspackNapiOptions['fs'],
@@ -25,54 +23,9 @@ export type AtlaspackV3Options = {|
25
23
  lmdb: Lmdb,
26
24
  featureFlags?: {[string]: string | boolean},
27
25
  napiWorkerPool?: INapiWorkerPool,
28
- ...$Diff<
29
- AtlaspackNapiOptions['options'],
30
- {|
31
- jsPaths: AtlaspackNapiOptions['options']['jsPaths'],
32
- useBuiltinConfigs: AtlaspackNapiOptions['options']['useBuiltinConfigs'],
33
- |},
34
- >,
26
+ ...AtlaspackNapiOptions['options'],
35
27
  |};
36
28
 
37
- function getJsPaths(): AtlaspackNapiOptions['options']['jsPaths'] {
38
- const dirname = /*#__ATLASPACK_IGNORE__*/ __dirname;
39
-
40
- if (isSuperPackage()) {
41
- // dirname: atlaspack/lib/core/core/atlaspack-v3
42
- // core: atlaspack/lib/core/core/index.js
43
- const corePath = path.join(dirname, '..');
44
- // esmodule helpers: atlaspack/lib/transformers/js/esmodule-helpers.js
45
- const esmoduleHelpersPath = path.join(
46
- dirname,
47
- '../../../transformers/js/esmodule-helpers.js',
48
- );
49
-
50
- // empty file: atlaspack/lib/core/core/_empty.js
51
- const emptyFile = path.join(dirname, '_empty.js');
52
-
53
- return {
54
- corePath,
55
- esmoduleHelpersSpecifier: path.relative(corePath, esmoduleHelpersPath),
56
- esmoduleHelpersIncludeNodeModules: 'atlaspack',
57
- emptyFile,
58
- };
59
- }
60
-
61
- // dirname: @atlaspack/core/lib/atlaspack-v3
62
- // core: @atlaspack/core
63
- const corePath = path.join(dirname, '../..');
64
- // empty file: atlaspack/lib/core/core/_empty.js
65
- const emptyFile = path.join(dirname, '_empty.js');
66
-
67
- return {
68
- corePath,
69
- esmoduleHelpersSpecifier:
70
- '@atlaspack/transformer-js/src/esmodule-helpers.js',
71
- esmoduleHelpersIncludeNodeModules: '@atlaspack/transformer-js',
72
- emptyFile,
73
- };
74
- }
75
-
76
29
  export class AtlaspackV3 {
77
30
  _atlaspack_napi: AtlaspackNapi;
78
31
 
@@ -99,11 +52,7 @@ export class AtlaspackV3 {
99
52
  fs,
100
53
  packageManager,
101
54
  threads,
102
- options: {
103
- ...options,
104
- jsPaths: getJsPaths(),
105
- useBuiltinConfigs: isSuperPackage(),
106
- },
55
+ options,
107
56
  napiWorkerPool,
108
57
  },
109
58
  lmdb,
@@ -6,11 +6,7 @@ import process from 'process';
6
6
  import type {Transferable} from '@atlaspack/rust';
7
7
  import {getAvailableThreads} from '@atlaspack/rust';
8
8
 
9
- const WORKER_PATH = path.join(
10
- /*#__ATLASPACK_IGNORE__*/ __dirname,
11
- 'worker',
12
- 'napi-worker.js',
13
- );
9
+ const WORKER_PATH = path.join(__dirname, 'worker', 'index.js');
14
10
  const ATLASPACK_NAPI_WORKERS =
15
11
  process.env.ATLASPACK_NAPI_WORKERS &&
16
12
  parseInt(process.env.ATLASPACK_NAPI_WORKERS, 10);
@@ -25,7 +25,6 @@ import {
25
25
  bundleBehaviorMap,
26
26
  dependencyPriorityMap,
27
27
  } from './compat';
28
- import atlaspackInternalPlugins from '../../internal-plugins';
29
28
 
30
29
  const CONFIG = Symbol.for('parcel-plugin-config');
31
30
 
@@ -42,16 +41,10 @@ export class AtlaspackWorker {
42
41
 
43
42
  loadPlugin: JsCallable<[LoadPluginOptions], Promise<void>> = jsCallable(
44
43
  async ({kind, specifier, resolveFrom}) => {
45
- let resolvedModule;
46
- if (atlaspackInternalPlugins && atlaspackInternalPlugins[specifier]) {
47
- // If the plugin is available inside the package then use it
48
- resolvedModule = atlaspackInternalPlugins[specifier]();
49
- } else {
50
- let customRequire = module.createRequire(resolveFrom);
51
- let resolvedPath = customRequire.resolve(specifier);
52
- // $FlowFixMe
53
- resolvedModule = await import(resolvedPath);
54
- }
44
+ let customRequire = module.createRequire(resolveFrom);
45
+ let resolvedPath = customRequire.resolve(specifier);
46
+ // $FlowFixMe
47
+ let resolvedModule = await import(resolvedPath);
55
48
 
56
49
  let instance = undefined;
57
50
  if (resolvedModule.default && resolvedModule.default[CONFIG]) {
package/src/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // @flow
2
+ import * as EnvironmentManager from './EnvironmentManager';
2
3
 
3
4
  export {
4
5
  default,
@@ -8,8 +9,9 @@ export {
8
9
  createWorkerFarm,
9
10
  INTERNAL_RESOLVE,
10
11
  INTERNAL_TRANSFORM,
12
+ WORKER_PATH,
11
13
  } from './Atlaspack';
12
-
13
- export {isSuperPackage} from './isSuperPackage';
14
-
14
+ export {ATLASPACK_VERSION} from './constants';
15
+ export {default as resolveOptions} from './resolveOptions';
15
16
  export * from './atlaspack-v3';
17
+ export {EnvironmentManager};