@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.
- package/CHANGELOG.md +61 -0
- package/lib/AssetGraph.js +9 -0
- package/lib/Atlaspack.js +5 -2
- package/lib/AtlaspackConfig.schema.js +7 -1
- package/lib/BundleGraph.js +3 -4
- package/lib/PackagerRunner.js +2 -5
- package/lib/RequestTracker.js +48 -39
- package/lib/Transformation.js +2 -2
- package/lib/atlaspack-v3/AtlaspackV3.js +1 -44
- package/lib/atlaspack-v3/NapiWorkerPool.js +1 -1
- package/lib/atlaspack-v3/worker/compat/environment.js +2 -2
- package/lib/atlaspack-v3/worker/compat/mutable-asset.js +6 -6
- package/lib/atlaspack-v3/worker/compat/plugin-config.js +5 -5
- package/lib/atlaspack-v3/worker/index.js +6 -0
- package/lib/atlaspack-v3/worker/worker.js +4 -11
- package/lib/dumpGraphToGraphViz.js +1 -1
- package/lib/index.js +24 -4
- package/lib/loadAtlaspackPlugin.js +0 -15
- package/lib/public/Config.js +1 -8
- package/lib/public/PluginOptions.js +0 -3
- package/lib/requests/AtlaspackConfigRequest.js +29 -44
- package/lib/requests/DevDepRequest.js +22 -1
- package/lib/requests/PathRequest.js +10 -0
- package/lib/resolveOptions.js +4 -5
- package/lib/worker.js +26 -9
- package/package.json +17 -31
- package/src/AssetGraph.js +13 -0
- package/src/Atlaspack.js +7 -8
- package/src/BundleGraph.js +1 -8
- package/src/PackagerRunner.js +0 -5
- package/src/RequestTracker.js +8 -6
- package/src/atlaspack-v3/AtlaspackV3.js +2 -53
- package/src/atlaspack-v3/NapiWorkerPool.js +1 -5
- package/src/atlaspack-v3/worker/worker.js +4 -11
- package/src/index.js +5 -3
- package/src/loadAtlaspackPlugin.js +1 -23
- package/src/public/Config.js +1 -2
- package/src/public/PluginOptions.js +0 -4
- package/src/requests/AtlaspackConfigRequest.js +31 -77
- package/src/requests/DevDepRequest.js +44 -12
- package/src/requests/PathRequest.js +4 -0
- package/src/resolveOptions.js +0 -2
- package/src/types.js +1 -1
- package/src/worker.js +7 -8
- package/_empty.js +0 -0
- package/lib/atlaspack-v3/worker/napi-worker.js +0 -3
- package/lib/internal-plugins.js +0 -9
- package/lib/isSuperPackage.js +0 -23
- package/src/internal-plugins.js +0 -4
- package/src/isSuperPackage.js +0 -28
- /package/src/atlaspack-v3/worker/{napi-worker.js → index.js} +0 -0
package/lib/public/Config.js
CHANGED
|
@@ -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:
|
|
280
|
+
readTracking: true
|
|
288
281
|
});
|
|
289
282
|
if (!pkgConfig) {
|
|
290
283
|
return null;
|
|
@@ -40,7 +40,7 @@ function _diagnostic() {
|
|
|
40
40
|
return data;
|
|
41
41
|
}
|
|
42
42
|
function _json() {
|
|
43
|
-
const data =
|
|
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
|
-
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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().
|
|
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
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
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
|
-
|
|
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);
|
package/lib/resolveOptions.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
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.
|
|
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.
|
|
25
|
-
"@atlaspack/cache": "3.1.1-dev.
|
|
26
|
-
"@atlaspack/diagnostic": "2.14.1-dev.
|
|
27
|
-
"@atlaspack/events": "2.14.1-dev.
|
|
28
|
-
"@atlaspack/feature-flags": "2.14.1-dev.
|
|
29
|
-
"@atlaspack/fs": "2.14.5-dev.
|
|
30
|
-
"@atlaspack/graph": "3.4.1-dev.
|
|
31
|
-
"@atlaspack/logger": "2.14.5-dev.
|
|
32
|
-
"@atlaspack/package-manager": "2.14.5-dev.
|
|
33
|
-
"@atlaspack/plugin": "2.14.5-dev.
|
|
34
|
-
"@atlaspack/profiler": "2.14.1-dev.
|
|
35
|
-
"@atlaspack/rust": "3.2.1-dev.
|
|
36
|
-
"@atlaspack/types": "2.14.5-dev.
|
|
37
|
-
"@atlaspack/utils": "2.14.5-dev.
|
|
38
|
-
"@atlaspack/workers": "2.14.5-dev.
|
|
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": "
|
|
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 =
|
|
539
|
-
|
|
540
|
-
|
|
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) &&
|
package/src/BundleGraph.js
CHANGED
|
@@ -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) => {
|
package/src/PackagerRunner.js
CHANGED
|
@@ -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
|
|
package/src/RequestTracker.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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 {
|
|
14
|
-
|
|
14
|
+
export {ATLASPACK_VERSION} from './constants';
|
|
15
|
+
export {default as resolveOptions} from './resolveOptions';
|
|
15
16
|
export * from './atlaspack-v3';
|
|
17
|
+
export {EnvironmentManager};
|