@atlaspack/core 2.13.2-dev.3689 → 2.14.0

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 (85) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/package.json +20 -20
  3. package/src/Atlaspack.js +3 -2
  4. package/src/atlaspack-v3/AtlaspackV3.js +25 -9
  5. package/src/requests/WriteBundlesRequest.js +31 -22
  6. package/LICENSE +0 -201
  7. package/lib/AssetGraph.js +0 -521
  8. package/lib/Atlaspack.js +0 -676
  9. package/lib/AtlaspackConfig.js +0 -298
  10. package/lib/AtlaspackConfig.schema.js +0 -103
  11. package/lib/BundleGraph.js +0 -1527
  12. package/lib/CommittedAsset.js +0 -155
  13. package/lib/Dependency.js +0 -136
  14. package/lib/Environment.js +0 -144
  15. package/lib/IdentifierRegistry.js +0 -36
  16. package/lib/InternalConfig.js +0 -56
  17. package/lib/PackagerRunner.js +0 -525
  18. package/lib/ReporterRunner.js +0 -151
  19. package/lib/RequestTracker.js +0 -1178
  20. package/lib/SymbolPropagation.js +0 -618
  21. package/lib/TargetDescriptor.schema.js +0 -118
  22. package/lib/Transformation.js +0 -522
  23. package/lib/UncommittedAsset.js +0 -348
  24. package/lib/Validation.js +0 -203
  25. package/lib/applyRuntimes.js +0 -355
  26. package/lib/assetUtils.js +0 -205
  27. package/lib/atlaspack-v3/AtlaspackV3.js +0 -57
  28. package/lib/atlaspack-v3/NapiWorkerPool.js +0 -71
  29. package/lib/atlaspack-v3/fs.js +0 -39
  30. package/lib/atlaspack-v3/index.js +0 -26
  31. package/lib/atlaspack-v3/jsCallable.js +0 -20
  32. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +0 -197
  33. package/lib/atlaspack-v3/worker/compat/bitflags.js +0 -84
  34. package/lib/atlaspack-v3/worker/compat/dependency.js +0 -44
  35. package/lib/atlaspack-v3/worker/compat/environment.js +0 -57
  36. package/lib/atlaspack-v3/worker/compat/index.js +0 -104
  37. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +0 -164
  38. package/lib/atlaspack-v3/worker/compat/plugin-config.js +0 -78
  39. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  40. package/lib/atlaspack-v3/worker/compat/plugin-options.js +0 -113
  41. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +0 -12
  42. package/lib/atlaspack-v3/worker/compat/target.js +0 -17
  43. package/lib/atlaspack-v3/worker/index.js +0 -3
  44. package/lib/atlaspack-v3/worker/worker.js +0 -280
  45. package/lib/constants.js +0 -21
  46. package/lib/dumpGraphToGraphViz.js +0 -206
  47. package/lib/index.js +0 -70
  48. package/lib/loadAtlaspackPlugin.js +0 -115
  49. package/lib/loadDotEnv.js +0 -54
  50. package/lib/projectPath.js +0 -112
  51. package/lib/public/Asset.js +0 -259
  52. package/lib/public/Bundle.js +0 -236
  53. package/lib/public/BundleGraph.js +0 -279
  54. package/lib/public/BundleGroup.js +0 -50
  55. package/lib/public/Config.js +0 -202
  56. package/lib/public/Dependency.js +0 -131
  57. package/lib/public/Environment.js +0 -247
  58. package/lib/public/MutableBundleGraph.js +0 -204
  59. package/lib/public/PluginOptions.js +0 -71
  60. package/lib/public/Symbols.js +0 -247
  61. package/lib/public/Target.js +0 -64
  62. package/lib/registerCoreWithSerializer.js +0 -51
  63. package/lib/requests/AssetGraphRequest.js +0 -432
  64. package/lib/requests/AssetGraphRequestRust.js +0 -220
  65. package/lib/requests/AssetRequest.js +0 -132
  66. package/lib/requests/AtlaspackBuildRequest.js +0 -79
  67. package/lib/requests/AtlaspackConfigRequest.js +0 -479
  68. package/lib/requests/BundleGraphRequest.js +0 -485
  69. package/lib/requests/ConfigRequest.js +0 -203
  70. package/lib/requests/DevDepRequest.js +0 -193
  71. package/lib/requests/EntryRequest.js +0 -295
  72. package/lib/requests/PackageRequest.js +0 -88
  73. package/lib/requests/PathRequest.js +0 -357
  74. package/lib/requests/TargetRequest.js +0 -1179
  75. package/lib/requests/ValidationRequest.js +0 -66
  76. package/lib/requests/WriteBundleRequest.js +0 -252
  77. package/lib/requests/WriteBundlesRequest.js +0 -153
  78. package/lib/requests/asset-graph-diff.js +0 -128
  79. package/lib/requests/asset-graph-dot.js +0 -131
  80. package/lib/resolveOptions.js +0 -265
  81. package/lib/serializerCore.browser.js +0 -29
  82. package/lib/summarizeRequest.js +0 -55
  83. package/lib/types.js +0 -35
  84. package/lib/utils.js +0 -160
  85. package/lib/worker.js +0 -184
@@ -1,357 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ResolverRunner = void 0;
7
- exports.default = createPathRequest;
8
- function _buildCache() {
9
- const data = require("@atlaspack/build-cache");
10
- _buildCache = function () {
11
- return data;
12
- };
13
- return data;
14
- }
15
- function _diagnostic() {
16
- const data = _interopRequireWildcard(require("@atlaspack/diagnostic"));
17
- _diagnostic = function () {
18
- return data;
19
- };
20
- return data;
21
- }
22
- function _logger() {
23
- const data = require("@atlaspack/logger");
24
- _logger = function () {
25
- return data;
26
- };
27
- return data;
28
- }
29
- function _nullthrows() {
30
- const data = _interopRequireDefault(require("nullthrows"));
31
- _nullthrows = function () {
32
- return data;
33
- };
34
- return data;
35
- }
36
- function _path() {
37
- const data = _interopRequireDefault(require("path"));
38
- _path = function () {
39
- return data;
40
- };
41
- return data;
42
- }
43
- function _utils() {
44
- const data = require("@atlaspack/utils");
45
- _utils = function () {
46
- return data;
47
- };
48
- return data;
49
- }
50
- var _ReporterRunner = require("../ReporterRunner");
51
- var _Dependency = require("../public/Dependency");
52
- var _PluginOptions = _interopRequireDefault(require("../public/PluginOptions"));
53
- var _AtlaspackConfig = require("../AtlaspackConfig");
54
- var _AtlaspackConfigRequest = _interopRequireWildcard(require("./AtlaspackConfigRequest"));
55
- var _utils2 = require("../utils");
56
- var _projectPath = require("../projectPath");
57
- var _types = require("../types");
58
- var _InternalConfig = require("../InternalConfig");
59
- var _ConfigRequest = require("./ConfigRequest");
60
- var _DevDepRequest = require("./DevDepRequest");
61
- function _profiler() {
62
- const data = require("@atlaspack/profiler");
63
- _profiler = function () {
64
- return data;
65
- };
66
- return data;
67
- }
68
- var _RequestTracker = require("../RequestTracker");
69
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
70
- 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); }
71
- 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; }
72
- const PIPELINE_REGEX = /^([a-z0-9-]+?):(.*)$/i;
73
- function createPathRequest(input) {
74
- return {
75
- id: input.dependency.id + ':' + input.name,
76
- type: _RequestTracker.requestTypes.path_request,
77
- run,
78
- input
79
- };
80
- }
81
- async function run({
82
- input,
83
- api,
84
- options
85
- }) {
86
- let configResult = (0, _nullthrows().default)(await api.runRequest((0, _AtlaspackConfigRequest.default)()));
87
- let config = (0, _AtlaspackConfigRequest.getCachedAtlaspackConfig)(configResult, options);
88
- let {
89
- devDeps,
90
- invalidDevDeps
91
- } = await (0, _DevDepRequest.getDevDepRequests)(api);
92
- (0, _DevDepRequest.invalidateDevDeps)(invalidDevDeps, options, config);
93
- let resolverRunner = new ResolverRunner({
94
- options,
95
- config,
96
- previousDevDeps: devDeps
97
- });
98
- let result = await resolverRunner.resolve(input.dependency);
99
- if (result.invalidateOnEnvChange) {
100
- for (let env of result.invalidateOnEnvChange) {
101
- api.invalidateOnEnvChange(env);
102
- }
103
- }
104
- if (result.invalidateOnFileCreate) {
105
- for (let file of result.invalidateOnFileCreate) {
106
- api.invalidateOnFileCreate((0, _utils2.invalidateOnFileCreateToInternal)(options.projectRoot, file));
107
- }
108
- }
109
- if (result.invalidateOnFileChange) {
110
- for (let filePath of result.invalidateOnFileChange) {
111
- let pp = (0, _projectPath.toProjectPath)(options.projectRoot, filePath);
112
- api.invalidateOnFileUpdate(pp);
113
- api.invalidateOnFileDelete(pp);
114
- }
115
- }
116
- for (let config of resolverRunner.configs.values()) {
117
- await (0, _ConfigRequest.runConfigRequest)(api, config);
118
- }
119
- for (let devDepRequest of resolverRunner.devDepRequests.values()) {
120
- await (0, _DevDepRequest.runDevDepRequest)(api, devDepRequest);
121
- }
122
- if (result.assetGroup) {
123
- api.invalidateOnFileDelete(result.assetGroup.filePath);
124
- return result.assetGroup;
125
- }
126
- if (result.diagnostics && result.diagnostics.length > 0) {
127
- let err = new (_diagnostic().default)({
128
- diagnostic: result.diagnostics
129
- });
130
- // $FlowFixMe[prop-missing]
131
- err.code = 'MODULE_NOT_FOUND';
132
- throw err;
133
- }
134
- }
135
- const configCache = (0, _buildCache().createBuildCache)();
136
- class ResolverRunner {
137
- constructor({
138
- config,
139
- options,
140
- previousDevDeps
141
- }) {
142
- this.config = config;
143
- this.options = options;
144
- this.pluginOptions = new _PluginOptions.default(this.options);
145
- this.previousDevDeps = previousDevDeps;
146
- this.devDepRequests = new Map();
147
- this.configs = new Map();
148
- }
149
- async getDiagnostic(dependency, message) {
150
- let diagnostic = {
151
- message,
152
- origin: '@atlaspack/core'
153
- };
154
- if (dependency.loc && dependency.sourcePath != null) {
155
- let filePath = (0, _projectPath.fromProjectPath)(this.options.projectRoot, dependency.sourcePath);
156
- diagnostic.codeFrames = [{
157
- filePath,
158
- code: await this.options.inputFS.readFile(filePath, 'utf8').catch(() => ''),
159
- codeHighlights: dependency.loc ? [(0, _diagnostic().convertSourceLocationToHighlight)(dependency.loc)] : []
160
- }];
161
- }
162
- return diagnostic;
163
- }
164
- async loadConfigs(resolvers) {
165
- for (let plugin of resolvers) {
166
- // Only load config for a plugin once per build.
167
- let config = configCache.get(plugin.name);
168
- if (!config && plugin.plugin.loadConfig != null) {
169
- config = (0, _InternalConfig.createConfig)({
170
- plugin: plugin.name,
171
- searchPath: (0, _projectPath.toProjectPathUnsafe)('index')
172
- });
173
- await (0, _ConfigRequest.loadPluginConfig)(plugin, config, this.options);
174
- configCache.set(plugin.name, config);
175
- this.configs.set(plugin.name, config);
176
- }
177
- if (config) {
178
- for (let devDep of config.devDeps) {
179
- let devDepRequest = await (0, _DevDepRequest.createDevDependency)(devDep, this.previousDevDeps, this.options);
180
- this.runDevDepRequest(devDepRequest);
181
- }
182
- this.configs.set(plugin.name, config);
183
- }
184
- }
185
- }
186
- runDevDepRequest(devDepRequest) {
187
- if (devDepRequest.type !== 'ref') {
188
- let {
189
- specifier,
190
- resolveFrom
191
- } = devDepRequest;
192
- let key = `${specifier}:${(0, _projectPath.fromProjectPathRelative)(resolveFrom)}`;
193
- this.devDepRequests.set(key, devDepRequest);
194
- }
195
- }
196
- async resolve(dependency) {
197
- let dep = (0, _Dependency.getPublicDependency)(dependency, this.options);
198
- (0, _ReporterRunner.report)({
199
- type: 'buildProgress',
200
- phase: 'resolving',
201
- dependency: dep
202
- });
203
- let resolvers = await this.config.getResolvers();
204
- await this.loadConfigs(resolvers);
205
- let pipeline;
206
- let specifier;
207
- let validPipelines = new Set(this.config.getNamedPipelines());
208
- let match = dependency.specifier.match(PIPELINE_REGEX);
209
- if (match &&
210
- // Don't consider absolute paths. Absolute paths are only supported for entries,
211
- // and include e.g. `C:\` on Windows, conflicting with pipelines.
212
- !_path().default.isAbsolute(dependency.specifier)) {
213
- [, pipeline, specifier] = match;
214
- if (!validPipelines.has(pipeline)) {
215
- // This may be a url protocol or scheme rather than a pipeline, such as
216
- // `url('http://example.com/foo.png')`. Pass it to resolvers to handle.
217
- specifier = dependency.specifier;
218
- pipeline = null;
219
- }
220
- } else {
221
- specifier = dependency.specifier;
222
- }
223
-
224
- // Entrypoints, convert ProjectPath in module specifier to absolute path
225
- if (dep.resolveFrom == null) {
226
- specifier = _path().default.join(this.options.projectRoot, specifier);
227
- }
228
- let diagnostics = [];
229
- let invalidateOnFileCreate = [];
230
- let invalidateOnFileChange = [];
231
- let invalidateOnEnvChange = [];
232
- for (let resolver of resolvers) {
233
- let measurement;
234
- try {
235
- var _this$configs$get;
236
- measurement = _profiler().tracer.createMeasurement(resolver.name, 'resolve', specifier);
237
- let result = await resolver.plugin.resolve({
238
- specifier,
239
- pipeline,
240
- dependency: dep,
241
- options: this.pluginOptions,
242
- logger: new (_logger().PluginLogger)({
243
- origin: resolver.name
244
- }),
245
- tracer: new (_profiler().PluginTracer)({
246
- origin: resolver.name,
247
- category: 'resolver'
248
- }),
249
- config: (_this$configs$get = this.configs.get(resolver.name)) === null || _this$configs$get === void 0 ? void 0 : _this$configs$get.result
250
- });
251
- measurement && measurement.end();
252
- if (result) {
253
- if (result.meta) {
254
- dependency.resolverMeta = result.meta;
255
- dependency.meta = {
256
- ...dependency.meta,
257
- ...result.meta
258
- };
259
- }
260
- if (result.priority != null) {
261
- dependency.priority = _types.Priority[result.priority];
262
- }
263
- if (result.invalidateOnEnvChange) {
264
- invalidateOnEnvChange.push(...result.invalidateOnEnvChange);
265
- }
266
- if (result.invalidateOnFileCreate) {
267
- invalidateOnFileCreate.push(...result.invalidateOnFileCreate);
268
- }
269
- if (result.invalidateOnFileChange) {
270
- invalidateOnFileChange.push(...result.invalidateOnFileChange);
271
- }
272
- if (result.isExcluded) {
273
- return {
274
- assetGroup: null,
275
- invalidateOnFileCreate,
276
- invalidateOnFileChange,
277
- invalidateOnEnvChange
278
- };
279
- }
280
- if (result.filePath != null) {
281
- var _result$query;
282
- let resultFilePath = result.filePath;
283
- if (!_path().default.isAbsolute(resultFilePath)) {
284
- throw new Error((0, _diagnostic().md)`Resolvers must return an absolute path, ${resolver.name} returned: ${resultFilePath}`);
285
- }
286
- return {
287
- assetGroup: {
288
- canDefer: result.canDefer,
289
- filePath: (0, _projectPath.toProjectPath)(this.options.projectRoot, resultFilePath),
290
- query: (_result$query = result.query) === null || _result$query === void 0 ? void 0 : _result$query.toString(),
291
- sideEffects: result.sideEffects,
292
- code: result.code,
293
- env: dependency.env,
294
- pipeline: result.pipeline === undefined ? pipeline ?? dependency.pipeline : result.pipeline,
295
- isURL: dep.specifierType === 'url'
296
- },
297
- invalidateOnFileCreate,
298
- invalidateOnFileChange,
299
- invalidateOnEnvChange
300
- };
301
- }
302
- if (result.diagnostics != null && !(Array.isArray(result.diagnostics) && result.diagnostics.length === 0)) {
303
- let errorDiagnostic = (0, _diagnostic().errorToDiagnostic)(new (_diagnostic().default)({
304
- diagnostic: result.diagnostics
305
- }), {
306
- origin: resolver.name,
307
- filePath: specifier
308
- });
309
- diagnostics.push(...errorDiagnostic);
310
- }
311
- }
312
- } catch (e) {
313
- // Add error to error map, we'll append these to the standard error if we can't resolve the asset
314
- let errorDiagnostic = (0, _diagnostic().errorToDiagnostic)(e, {
315
- origin: resolver.name,
316
- filePath: specifier
317
- });
318
- if (Array.isArray(errorDiagnostic)) {
319
- diagnostics.push(...errorDiagnostic);
320
- } else {
321
- diagnostics.push(errorDiagnostic);
322
- }
323
- break;
324
- } finally {
325
- measurement && measurement.end();
326
-
327
- // Add dev dependency for the resolver. This must be done AFTER running it due to
328
- // the potential for lazy require() that aren't executed until the request runs.
329
- let devDepRequest = await (0, _DevDepRequest.createDevDependency)({
330
- specifier: resolver.name,
331
- resolveFrom: resolver.resolveFrom
332
- }, this.previousDevDeps, this.options);
333
- this.runDevDepRequest(devDepRequest);
334
- }
335
- }
336
- if (dep.isOptional) {
337
- return {
338
- assetGroup: null,
339
- invalidateOnFileCreate,
340
- invalidateOnFileChange,
341
- invalidateOnEnvChange
342
- };
343
- }
344
- let resolveFrom = dependency.resolveFrom ?? dependency.sourcePath;
345
- let dir = resolveFrom != null ? (0, _utils().normalizePath)((0, _projectPath.fromProjectPathRelative)(resolveFrom)) : '';
346
- let diagnostic = await this.getDiagnostic(dependency, (0, _diagnostic().md)`Failed to resolve '${dependency.specifier}' ${dir ? `from '${dir}'` : ''}`);
347
- diagnostics.unshift(diagnostic);
348
- return {
349
- assetGroup: null,
350
- invalidateOnFileCreate,
351
- invalidateOnFileChange,
352
- invalidateOnEnvChange,
353
- diagnostics
354
- };
355
- }
356
- }
357
- exports.ResolverRunner = ResolverRunner;