@atlaspack/core 2.13.2-dev.3682 → 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 (87) 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 +24 -8
  5. package/src/loadAtlaspackPlugin.js +26 -71
  6. package/src/projectPath.js +14 -1
  7. package/src/requests/WriteBundlesRequest.js +31 -22
  8. package/LICENSE +0 -201
  9. package/lib/AssetGraph.js +0 -521
  10. package/lib/Atlaspack.js +0 -676
  11. package/lib/AtlaspackConfig.js +0 -298
  12. package/lib/AtlaspackConfig.schema.js +0 -103
  13. package/lib/BundleGraph.js +0 -1527
  14. package/lib/CommittedAsset.js +0 -155
  15. package/lib/Dependency.js +0 -136
  16. package/lib/Environment.js +0 -144
  17. package/lib/IdentifierRegistry.js +0 -36
  18. package/lib/InternalConfig.js +0 -56
  19. package/lib/PackagerRunner.js +0 -525
  20. package/lib/ReporterRunner.js +0 -151
  21. package/lib/RequestTracker.js +0 -1178
  22. package/lib/SymbolPropagation.js +0 -618
  23. package/lib/TargetDescriptor.schema.js +0 -118
  24. package/lib/Transformation.js +0 -522
  25. package/lib/UncommittedAsset.js +0 -348
  26. package/lib/Validation.js +0 -203
  27. package/lib/applyRuntimes.js +0 -355
  28. package/lib/assetUtils.js +0 -205
  29. package/lib/atlaspack-v3/AtlaspackV3.js +0 -57
  30. package/lib/atlaspack-v3/NapiWorkerPool.js +0 -71
  31. package/lib/atlaspack-v3/fs.js +0 -39
  32. package/lib/atlaspack-v3/index.js +0 -26
  33. package/lib/atlaspack-v3/jsCallable.js +0 -20
  34. package/lib/atlaspack-v3/worker/compat/asset-symbols.js +0 -197
  35. package/lib/atlaspack-v3/worker/compat/bitflags.js +0 -84
  36. package/lib/atlaspack-v3/worker/compat/dependency.js +0 -44
  37. package/lib/atlaspack-v3/worker/compat/environment.js +0 -57
  38. package/lib/atlaspack-v3/worker/compat/index.js +0 -104
  39. package/lib/atlaspack-v3/worker/compat/mutable-asset.js +0 -164
  40. package/lib/atlaspack-v3/worker/compat/plugin-config.js +0 -78
  41. package/lib/atlaspack-v3/worker/compat/plugin-logger.js +0 -29
  42. package/lib/atlaspack-v3/worker/compat/plugin-options.js +0 -113
  43. package/lib/atlaspack-v3/worker/compat/plugin-tracer.js +0 -12
  44. package/lib/atlaspack-v3/worker/compat/target.js +0 -17
  45. package/lib/atlaspack-v3/worker/index.js +0 -3
  46. package/lib/atlaspack-v3/worker/worker.js +0 -280
  47. package/lib/constants.js +0 -21
  48. package/lib/dumpGraphToGraphViz.js +0 -206
  49. package/lib/index.js +0 -70
  50. package/lib/loadAtlaspackPlugin.js +0 -136
  51. package/lib/loadDotEnv.js +0 -54
  52. package/lib/projectPath.js +0 -94
  53. package/lib/public/Asset.js +0 -259
  54. package/lib/public/Bundle.js +0 -236
  55. package/lib/public/BundleGraph.js +0 -279
  56. package/lib/public/BundleGroup.js +0 -50
  57. package/lib/public/Config.js +0 -202
  58. package/lib/public/Dependency.js +0 -131
  59. package/lib/public/Environment.js +0 -247
  60. package/lib/public/MutableBundleGraph.js +0 -204
  61. package/lib/public/PluginOptions.js +0 -71
  62. package/lib/public/Symbols.js +0 -247
  63. package/lib/public/Target.js +0 -64
  64. package/lib/registerCoreWithSerializer.js +0 -51
  65. package/lib/requests/AssetGraphRequest.js +0 -432
  66. package/lib/requests/AssetGraphRequestRust.js +0 -220
  67. package/lib/requests/AssetRequest.js +0 -132
  68. package/lib/requests/AtlaspackBuildRequest.js +0 -79
  69. package/lib/requests/AtlaspackConfigRequest.js +0 -479
  70. package/lib/requests/BundleGraphRequest.js +0 -485
  71. package/lib/requests/ConfigRequest.js +0 -203
  72. package/lib/requests/DevDepRequest.js +0 -193
  73. package/lib/requests/EntryRequest.js +0 -295
  74. package/lib/requests/PackageRequest.js +0 -88
  75. package/lib/requests/PathRequest.js +0 -357
  76. package/lib/requests/TargetRequest.js +0 -1179
  77. package/lib/requests/ValidationRequest.js +0 -66
  78. package/lib/requests/WriteBundleRequest.js +0 -252
  79. package/lib/requests/WriteBundlesRequest.js +0 -153
  80. package/lib/requests/asset-graph-diff.js +0 -128
  81. package/lib/requests/asset-graph-dot.js +0 -131
  82. package/lib/resolveOptions.js +0 -265
  83. package/lib/serializerCore.browser.js +0 -29
  84. package/lib/summarizeRequest.js +0 -55
  85. package/lib/types.js +0 -35
  86. package/lib/utils.js +0 -160
  87. 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;