package-build-stats 7.3.8 → 8.0.0-beta.3

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 (74) hide show
  1. package/.parcelrc +37 -0
  2. package/build/common.types.d.ts +3 -8
  3. package/build/common.types.d.ts.map +1 -0
  4. package/build/common.types.js +1 -0
  5. package/build/common.types.js.map +1 -0
  6. package/build/config/{config.d.ts → index.d.ts} +2 -0
  7. package/build/config/index.d.ts.map +1 -0
  8. package/build/config/{config.js → index.js} +2 -0
  9. package/build/config/index.js.map +1 -0
  10. package/build/errors/CustomError.d.ts +1 -0
  11. package/build/errors/CustomError.d.ts.map +1 -0
  12. package/build/errors/CustomError.js +1 -0
  13. package/build/errors/CustomError.js.map +1 -0
  14. package/build/fixed/fixed/parseReference.js +5388 -0
  15. package/build/fixed/parseReference.js +762 -727
  16. package/build/getPackageExportSizes.d.ts +5 -29
  17. package/build/getPackageExportSizes.d.ts.map +1 -0
  18. package/build/getPackageExportSizes.js +18 -10
  19. package/build/getPackageExportSizes.js.map +1 -0
  20. package/build/getPackageStats.d.ts +13 -54
  21. package/build/getPackageStats.d.ts.map +1 -0
  22. package/build/getPackageStats.js +30 -7
  23. package/build/getPackageStats.js.map +1 -0
  24. package/build/getParseTime.d.ts +1 -0
  25. package/build/getParseTime.d.ts.map +1 -0
  26. package/build/getParseTime.js +5 -4
  27. package/build/getParseTime.js.map +1 -0
  28. package/build/index.d.ts +1 -0
  29. package/build/index.d.ts.map +1 -0
  30. package/build/index.js +1 -0
  31. package/build/index.js.map +1 -0
  32. package/build/utils/build.utils.d.ts +39 -69
  33. package/build/utils/build.utils.d.ts.map +1 -0
  34. package/build/utils/build.utils.js +177 -159
  35. package/build/utils/build.utils.js.map +1 -0
  36. package/build/utils/common.utils.d.ts +22 -0
  37. package/build/utils/common.utils.d.ts.map +1 -0
  38. package/build/utils/common.utils.js +94 -1
  39. package/build/utils/common.utils.js.map +1 -0
  40. package/build/utils/exports.utils.d.ts +1 -0
  41. package/build/utils/exports.utils.d.ts.map +1 -0
  42. package/build/utils/exports.utils.js +35 -23
  43. package/build/utils/exports.utils.js.map +1 -0
  44. package/build/utils/installation.utils.d.ts +1 -0
  45. package/build/utils/installation.utils.d.ts.map +1 -0
  46. package/build/utils/installation.utils.js +25 -7
  47. package/build/utils/installation.utils.js.map +1 -0
  48. package/build/utils/telemetry.utils.d.ts +1 -2
  49. package/build/utils/telemetry.utils.d.ts.map +1 -0
  50. package/build/utils/telemetry.utils.js +7 -20
  51. package/build/utils/telemetry.utils.js.map +1 -0
  52. package/package.json +75 -73
  53. package/src/common.types.ts +3 -10
  54. package/src/config/{config.ts → index.ts} +1 -0
  55. package/src/errors/CustomError.d.ts +42 -0
  56. package/src/errors/CustomError.js +81 -0
  57. package/src/errors/CustomError.js.map +1 -0
  58. package/src/fixed/parseReference.js +762 -727
  59. package/src/getPackageExportSizes.ts +33 -14
  60. package/src/getPackageStats.ts +55 -16
  61. package/src/typings/is-valid-npm-name.d.ts +3 -0
  62. package/src/utils/build.utils.ts +258 -230
  63. package/src/utils/common.utils.ts +138 -0
  64. package/src/utils/exports.utils.ts +34 -21
  65. package/src/utils/installation.utils.ts +28 -5
  66. package/src/utils/telemetry.utils.ts +0 -21
  67. package/LICENSE +0 -21
  68. package/README.md +0 -67
  69. package/build/config/makeWebpackConfig.d.ts +0 -11
  70. package/build/config/makeWebpackConfig.js +0 -225
  71. package/build/getDependencySizeTree.d.ts +0 -6
  72. package/build/getDependencySizeTree.js +0 -238
  73. package/src/config/makeWebpackConfig.ts +0 -251
  74. package/src/getDependencySizeTree.ts +0 -266
@@ -5,20 +5,82 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const log = require('debug')('bp:worker');
8
- const webpack_1 = __importDefault(require("webpack"));
9
- const memory_fs_1 = __importDefault(require("memory-fs"));
10
8
  const is_valid_npm_name_1 = __importDefault(require("is-valid-npm-name"));
11
- const zlib_1 = require("zlib");
12
9
  const fs_1 = __importDefault(require("fs"));
13
- const getDependencySizeTree_1 = __importDefault(require("../getDependencySizeTree"));
14
10
  const getParseTime_1 = __importDefault(require("../getParseTime"));
15
- const makeWebpackConfig_1 = __importDefault(require("../config/makeWebpackConfig"));
16
11
  const perf_hooks_1 = require("perf_hooks");
12
+ const node_gzip_1 = require("node-gzip");
13
+ const core_1 = require("@parcel/core");
17
14
  const CustomError_1 = require("../errors/CustomError");
18
15
  const telemetry_utils_1 = __importDefault(require("./telemetry.utils"));
19
- const BuildUtils = {
20
- createEntryPoint(packageName, installPath, options) {
21
- const entryPath = path_1.default.join(installPath, options.entryFilename || 'index.js');
16
+ const common_utils_1 = require("./common.utils");
17
+ const config_1 = __importDefault(require("../config"));
18
+ const p_all_1 = __importDefault(require("p-all"));
19
+ function notEmpty(value) {
20
+ return value !== null && value !== undefined;
21
+ }
22
+ function isDiagnosticError(error) {
23
+ return 'diagnostics' in error;
24
+ }
25
+ function parseMissingModules(errors) {
26
+ const missingModuleErrors = errors.filter(error => error.message.startsWith('Failed to resolve') &&
27
+ error.origin === '@parcel/core');
28
+ if (!missingModuleErrors.length) {
29
+ return [];
30
+ }
31
+ // There's a better way to get the missing module's name, maybe ?
32
+ const missingModuleRegex = /Failed to resolve '(.+)' from/;
33
+ const missingModules = missingModuleErrors.map(err => {
34
+ const matches = err.message.match(missingModuleRegex);
35
+ if (!matches) {
36
+ throw new CustomError_1.UnexpectedBuildError('Expected to find a file path in the module not found error, but found none. Regex for this might be out of date.');
37
+ }
38
+ const missingFilePath = matches[1];
39
+ let packageNameMatch;
40
+ if (missingFilePath.startsWith('@')) {
41
+ packageNameMatch = missingFilePath.match(/@[^\/]+\/[^\/]+/); // @babel/runtime/object/create -> @babel/runtime
42
+ }
43
+ else {
44
+ packageNameMatch = missingFilePath.match(/[^\/]+/); // babel-runtime/object/create -> babel-runtime
45
+ }
46
+ if (!packageNameMatch) {
47
+ throw new CustomError_1.UnexpectedBuildError('Failed to resolve the missing package name. Regex for this might be out of date.');
48
+ }
49
+ return packageNameMatch[0];
50
+ });
51
+ let uniqueMissingModules = Array.from(new Set(missingModules));
52
+ uniqueMissingModules = uniqueMissingModules.filter(mod => !mod.startsWith(`${uniqueMissingModules[0]}/`));
53
+ return uniqueMissingModules;
54
+ }
55
+ async function getAssetStats(assets, options) {
56
+ const getAssetStats = async (asset) => {
57
+ if (!asset.file)
58
+ return null;
59
+ const bundleContents = fs_1.default.readFileSync(asset.file, 'utf8');
60
+ let parseTimes = null;
61
+ if (options.calcParse) {
62
+ parseTimes = (0, getParseTime_1.default)(bundleContents);
63
+ }
64
+ const gzipSize = (await (0, node_gzip_1.gzip)(bundleContents)).length;
65
+ const { ext, name } = path_1.default.parse(asset.file);
66
+ return {
67
+ name: name,
68
+ type: ext.slice(1),
69
+ size: asset.size,
70
+ gzip: gzipSize,
71
+ parse: parseTimes,
72
+ };
73
+ };
74
+ const assetStatsPromises = assets
75
+ .filter(asset => !!asset.file)
76
+ .map(getAssetStats);
77
+ const assetStats = (await Promise.all(assetStatsPromises)).filter(notEmpty);
78
+ return assetStats;
79
+ }
80
+ class BuildUtils {
81
+ static createEntryPoint(packageName, installPath, options) {
82
+ const entryFilename = options.entryFilename || 'index.js';
83
+ const entryPath = path_1.default.join(installPath, entryFilename);
22
84
  let importStatement;
23
85
  if (options.esm) {
24
86
  if (options.customImports) {
@@ -49,73 +111,89 @@ const BuildUtils = {
49
111
  catch (err) {
50
112
  throw new CustomError_1.EntryPointError(err);
51
113
  }
52
- },
53
- compilePackage({ name, entry, externals, debug, minifier, }) {
114
+ }
115
+ static async compileEntry({ entry, externals, installPath, measureComposition, }) {
116
+ await (0, common_utils_1.updateProjectPeerDependencies)(installPath, Object.fromEntries([...externals.externalBuiltIns, ...externals.externalPackages].map(pack => [pack, '*'])));
117
+ // We use this as a way to pass options to the reporter plugin
118
+ process.env.MEASURE_COMPOSISION = `${measureComposition}`;
119
+ let bundler = new core_1.Parcel({
120
+ entries: [entry],
121
+ mode: 'production',
122
+ env: Object.assign(Object.assign({}, process.env), {
123
+ NODE_ENV: 'production',
124
+ }),
125
+ defaultConfig: '@parcel/config-default',
126
+ shouldAutoInstall: false,
127
+ cacheDir: path_1.default.join(config_1.default.tmp, 'parcel-cache'),
128
+ config: require.resolve(path_1.default.join(__dirname, '..', '..', '.parcelrc')),
129
+ shouldDisableCache: true,
130
+ shouldContentHash: false,
131
+ defaultTargetOptions: {
132
+ sourceMaps: measureComposition,
133
+ outputFormat: 'global',
134
+ shouldOptimize: true,
135
+ isLibrary: false,
136
+ engines: {
137
+ browsers: [
138
+ 'last 5 Chrome versions',
139
+ 'last 5 Firefox versions',
140
+ 'Safari >= 9',
141
+ 'edge >= 12',
142
+ ],
143
+ },
144
+ },
145
+ });
146
+ const assets = [];
147
+ let { bundleGraph } = await bundler.run();
148
+ for (let bundle of bundleGraph.getBundles()) {
149
+ assets.push({
150
+ file: bundle.filePath,
151
+ size: bundle.stats.size,
152
+ });
153
+ }
154
+ return { assets };
155
+ }
156
+ static async compilePackage({ name, entry, externals, minifier, installPath, }) {
54
157
  const startTime = perf_hooks_1.performance.now();
55
- const compiler = webpack_1.default(makeWebpackConfig_1.default({
56
- packageName: name,
57
- entry,
58
- externals,
59
- debug,
60
- minifier,
61
- }));
62
- const memoryFileSystem = new memory_fs_1.default();
63
- compiler.outputFileSystem = memoryFileSystem;
64
- return new Promise(resolve => {
65
- compiler.run((err, stats) => {
66
- const error = err; // Webpack types incorrect
67
- // stats object can be empty if there are build errors
68
- resolve({ stats, error, memoryFileSystem });
69
- if (error) {
70
- console.error(error);
71
- telemetry_utils_1.default.compilePackage(name, false, startTime, { minifier }, error);
72
- }
73
- else {
74
- telemetry_utils_1.default.compilePackage(name, true, startTime, { minifier });
75
- }
158
+ let allAssets = [];
159
+ const entries = Object.values(entry);
160
+ const entryPromises = entries.map(entry => async () => {
161
+ const { assets } = await BuildUtils.compileEntry({
162
+ name,
163
+ entry,
164
+ measureComposition: entries.length === 1,
165
+ externals,
166
+ installPath,
76
167
  });
168
+ log('Building entry %s', entry);
169
+ allAssets = [...allAssets, ...assets];
77
170
  });
78
- },
79
- _parseMissingModules(errors) {
80
- const missingModuleErrors = errors.filter(error => error.name === 'ModuleNotFoundError');
81
- if (!missingModuleErrors.length) {
82
- return [];
171
+ try {
172
+ await (0, p_all_1.default)(entryPromises, { concurrency: 1 });
173
+ telemetry_utils_1.default.compilePackage(name, true, startTime, { minifier });
174
+ return { assets: allAssets };
83
175
  }
84
- // There's a better way to get the missing module's name, maybe ?
85
- const missingModuleRegex = /Can't resolve '(.+)' in/;
86
- const missingModules = missingModuleErrors.map(err => {
87
- const matches = err.error.toString().match(missingModuleRegex);
88
- if (!matches) {
89
- throw new CustomError_1.UnexpectedBuildError('Expected to find a file path in the module not found error, but found none. Regex for this might be out of date.');
90
- }
91
- const missingFilePath = matches[1];
92
- let packageNameMatch;
93
- if (missingFilePath.startsWith('@')) {
94
- packageNameMatch = missingFilePath.match(/@[^\/]+\/[^\/]+/); // @babel/runtime/object/create -> @babel/runtime
176
+ catch (err) {
177
+ if (isDiagnosticError(err)) {
178
+ (0, common_utils_1.printDiagnosticError)(err);
95
179
  }
96
180
  else {
97
- packageNameMatch = missingFilePath.match(/[^\/]+/); // babel-runtime/object/create -> babel-runtime
98
- }
99
- if (!packageNameMatch) {
100
- throw new CustomError_1.UnexpectedBuildError('Failed to resolve the missing package name. Regex for this might be out of date.');
181
+ console.error(err);
101
182
  }
102
- return packageNameMatch[0];
103
- });
104
- let uniqueMissingModules = Array.from(new Set(missingModules));
105
- uniqueMissingModules = uniqueMissingModules.filter(mod => !mod.startsWith(`${uniqueMissingModules[0]}/`));
106
- return uniqueMissingModules;
107
- },
108
- async buildPackage({ name, installPath, externals, options, }) {
109
- var _a;
183
+ telemetry_utils_1.default.compilePackage(name, false, startTime, { minifier }, err);
184
+ throw err;
185
+ }
186
+ }
187
+ static async buildPackage({ name, installPath, externals, options, }) {
110
188
  let entry = {};
111
189
  if (options.splitCustomImports) {
112
190
  if (!options.customImports || !options.customImports.length) {
113
191
  return { assets: [] };
114
192
  }
115
- options.customImports.forEach(importt => {
193
+ options.customImports.forEach((importt) => {
116
194
  entry[importt] = BuildUtils.createEntryPoint(name, installPath, {
117
195
  customImports: [importt],
118
- entryFilename: importt,
196
+ entryFilename: `${importt}.js`,
119
197
  esm: true,
120
198
  });
121
199
  });
@@ -127,102 +205,41 @@ const BuildUtils = {
127
205
  });
128
206
  }
129
207
  log('build start %s', name);
130
- const { stats, error, memoryFileSystem } = await BuildUtils.compilePackage({
131
- name,
132
- entry,
133
- externals,
134
- debug: options.debug,
135
- minifier: options.minifier,
136
- });
137
- log('build end %s', name);
138
- const jsonStatsStartTime = perf_hooks_1.performance.now();
139
- let jsonStats = stats.toJson({
140
- assets: true,
141
- children: false,
142
- chunks: false,
143
- chunkGroups: false,
144
- chunkModules: false,
145
- chunkOrigins: false,
146
- modules: true,
147
- errorDetails: false,
148
- entrypoints: false,
149
- reasons: false,
150
- maxModules: 500,
151
- performance: false,
152
- source: true,
153
- depth: true,
154
- providedExports: true,
155
- warnings: false,
156
- modulesSort: 'depth',
157
- });
158
- if (!jsonStats) {
159
- telemetry_utils_1.default.parseWebpackStats(name, false, jsonStatsStartTime);
160
- throw new CustomError_1.UnexpectedBuildError('Expected webpack json stats to be non-null, but was null');
161
- }
162
- else {
163
- telemetry_utils_1.default.parseWebpackStats(name, true, jsonStatsStartTime);
164
- }
165
- if (error && !stats) {
166
- throw new CustomError_1.BuildError(error);
208
+ try {
209
+ const { assets } = await BuildUtils.compilePackage({
210
+ name,
211
+ entry,
212
+ installPath,
213
+ externals,
214
+ debug: options.debug,
215
+ minifier: options.minifier,
216
+ });
217
+ log('build end %s', name);
218
+ log('after compile assets %o', assets);
219
+ const assetStats = await getAssetStats(assets, options);
220
+ return Object.assign({ assets: assetStats || [] }, (options.includeDependencySizes && {
221
+ dependencySizes: require(path_1.default.join(installPath, 'composition.json')),
222
+ }));
167
223
  }
168
- else if (stats.compilation.errors && stats.compilation.errors.length) {
169
- const missingModules = BuildUtils._parseMissingModules(stats.compilation.errors);
170
- if (missingModules.length) {
171
- if (missingModules.length === 1 && missingModules[0] === name) {
172
- throw new CustomError_1.EntryPointError(stats.compilation.errors.map(err => err.toString()));
173
- }
174
- else {
175
- throw new CustomError_1.MissingDependencyError(stats.compilation.errors.map(err => err.toString()), { missingModules });
176
- }
177
- }
178
- else if (jsonStats.errors && jsonStats.errors.length > 0) {
179
- if (jsonStats.errors.some(error => error.includes("Unexpected character '#'"))) {
180
- throw new CustomError_1.CLIBuildError(jsonStats.errors);
224
+ catch (error) {
225
+ if (isDiagnosticError(error)) {
226
+ const missingModules = parseMissingModules(error.diagnostics);
227
+ if (missingModules.length) {
228
+ if (missingModules.length === 1 && missingModules[0] === name) {
229
+ throw new CustomError_1.EntryPointError(error.diagnostics);
230
+ }
231
+ else {
232
+ throw new CustomError_1.MissingDependencyError(error.diagnostics, {
233
+ missingModules,
234
+ });
235
+ }
181
236
  }
182
- else {
183
- throw new CustomError_1.BuildError(jsonStats.errors);
184
- }
185
- }
186
- else {
187
- throw new CustomError_1.UnexpectedBuildError('The webpack stats object was unexpectedly empty');
188
237
  }
238
+ throw new CustomError_1.BuildError(error);
189
239
  }
190
- else {
191
- const getAssetStats = (asset) => {
192
- const bundle = path_1.default.join(process.cwd(), 'dist', asset.name);
193
- const bundleContents = memoryFileSystem.readFileSync(bundle);
194
- let parseTimes = null;
195
- if (options.calcParse) {
196
- parseTimes = getParseTime_1.default(bundleContents);
197
- }
198
- const gzip = zlib_1.gzipSync(bundleContents, {}).length;
199
- const matches = asset.name.match(/(.+?)\.bundle\.(.+)$/);
200
- if (!matches) {
201
- throw new CustomError_1.UnexpectedBuildError('Found an asset without the `.bundle` suffix. ' +
202
- 'A loader customization might be needed to recognize this asset type' +
203
- asset.name);
204
- }
205
- const [, entryName, extension] = matches;
206
- return {
207
- name: entryName,
208
- type: extension,
209
- size: asset.size,
210
- gzip,
211
- parse: parseTimes,
212
- };
213
- };
214
- const assetsGzipStartTime = perf_hooks_1.performance.now();
215
- const assetStats = (_a = jsonStats === null || jsonStats === void 0 ? void 0 : jsonStats.assets) === null || _a === void 0 ? void 0 : _a.filter(asset => !asset.chunkNames.includes('runtime')).filter(asset => !asset.name.endsWith('LICENSE.txt')).map(getAssetStats);
216
- telemetry_utils_1.default.assetsGZIPParseTime(name, assetsGzipStartTime);
217
- log('build result %O', assetStats);
218
- return Object.assign({ assets: assetStats || [] }, (options.includeDependencySizes && {
219
- dependencySizes: await getDependencySizeTree_1.default(name, jsonStats, options.minifier),
220
- }));
221
- }
222
- },
223
- async buildPackageIgnoringMissingDeps({ name, externals, installPath, options, }) {
240
+ }
241
+ static async buildPackageIgnoringMissingDeps({ name, externals, installPath, options }, buildIteration) {
224
242
  const buildStartTime = perf_hooks_1.performance.now();
225
- let buildIteration = 1;
226
243
  try {
227
244
  const buildResult = await BuildUtils.buildPackage({
228
245
  name,
@@ -236,26 +253,27 @@ const BuildUtils = {
236
253
  catch (e) {
237
254
  buildIteration++;
238
255
  if (e instanceof CustomError_1.MissingDependencyError &&
239
- e.missingModules.length <= 6 &&
240
- e.missingModules.every(mod => is_valid_npm_name_1.default(mod))) {
256
+ e.missingModules.every(mod => (0, is_valid_npm_name_1.default)(mod)) &&
257
+ buildIteration < 4) {
241
258
  const { missingModules } = e.extra;
242
259
  const newExternals = Object.assign(Object.assign({}, externals), { externalPackages: externals.externalPackages.concat(missingModules) });
243
260
  log('%s has missing dependencies, rebuilding without %o', name, missingModules);
244
- const rebuiltResult = await BuildUtils.buildPackage({
261
+ const rebuiltResults = await BuildUtils.buildPackageIgnoringMissingDeps({
245
262
  name,
246
263
  externals: newExternals,
247
264
  installPath,
248
265
  options,
249
- });
266
+ }, buildIteration);
250
267
  telemetry_utils_1.default.buildPackage(name, true, buildStartTime, Object.assign(Object.assign({}, options), { buildIteration,
251
268
  missingModules }));
252
- return Object.assign({ ignoredMissingDependencies: missingModules }, rebuiltResult);
269
+ return rebuiltResults;
253
270
  }
254
271
  else {
255
272
  telemetry_utils_1.default.buildPackage(name, false, buildStartTime, Object.assign(Object.assign({}, options), { buildIteration }), e);
256
273
  throw e;
257
274
  }
258
275
  }
259
- },
260
- };
276
+ }
277
+ }
261
278
  exports.default = BuildUtils;
279
+ //# sourceMappingURL=build.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.utils.js","sourceRoot":"","sources":["../../src/utils/build.utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import memoize from 'memoizee';
2
+ import ThrowableDiagnostic from '@parcel/diagnostic';
1
3
  export declare function exec(command: string, options: any, timeout?: number): Promise<unknown>;
2
4
  /**
3
5
  * Gets external peerDeps that shouldn't be a
@@ -16,4 +18,24 @@ declare type ParsePackageResult = {
16
18
  normalPath?: string;
17
19
  };
18
20
  export declare function parsePackageString(packageString: string): ParsePackageResult;
21
+ export declare const parsePackageNameFromPath: (path: string) => string;
22
+ export declare function getPackageFromWebpackPath(filePath: string): {
23
+ name: string;
24
+ cleanPath: string;
25
+ };
26
+ export declare const getPackageJSONFromPath: ((filePath: string) => any) & memoize.Memoized<(filePath: string) => any>;
27
+ export declare function updateProjectPeerDependencies(projectPath: string, peerDependencies: {
28
+ [key: string]: string;
29
+ }): Promise<void>;
30
+ export declare function updateProjectEntries(projectPath: string, entries: {
31
+ [key: string]: string;
32
+ }): Promise<void>;
33
+ /**
34
+ * eg.
35
+ * loader!/private/tmp/tmp-build/packages/build-gulp-ORQ/node_modules/.pnpm/is-data@0.1.4/node_modules/is-data/index.ts => is-data/index.ts
36
+ */
37
+ export declare function cleanWebpackPath(filePath: string, installPath: string): string;
38
+ export declare function isReactNativePackage(packageName: string): boolean;
39
+ export declare function printDiagnosticError(error: ThrowableDiagnostic): void;
19
40
  export {};
41
+ //# sourceMappingURL=common.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.utils.d.ts","sourceRoot":"","sources":["../../src/utils/common.utils.ts"],"names":[],"mappings":"AAKA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,mBAAmB,MAAM,oBAAoB,CAAA;AAKpD,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,oBA+BnE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;EAqBpE;AAuBD,aAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAyCD,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,CAU5E;AAGD,eAAO,MAAM,wBAAwB,SAAU,MAAM,KAAG,MAOvD,CAAA;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM;;;EAYzD;AAED,eAAO,MAAM,sBAAsB,cACtB,MAAM,wCAAN,MAAM,SAclB,CAAA;AAED,wBAAsB,6BAA6B,CACjD,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,iBAkBF;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,iBAwBF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAarE;AAID,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,WAEvD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,QAa9D"}
@@ -3,12 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parsePackageString = exports.getExternals = exports.exec = void 0;
6
+ exports.printDiagnosticError = exports.isReactNativePackage = exports.cleanWebpackPath = exports.updateProjectEntries = exports.updateProjectPeerDependencies = exports.getPackageJSONFromPath = exports.getPackageFromWebpackPath = exports.parsePackageNameFromPath = exports.parsePackageString = exports.getExternals = exports.exec = void 0;
7
7
  const child_process_1 = __importDefault(require("child_process"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const builtin_modules_1 = __importDefault(require("builtin-modules"));
10
10
  const fs_1 = __importDefault(require("fs"));
11
11
  const os_1 = __importDefault(require("os"));
12
+ const memoizee_1 = __importDefault(require("memoizee"));
13
+ const code_frame_1 = require("@babel/code-frame");
12
14
  const homeDirectory = os_1.default.homedir();
13
15
  function exec(command, options, timeout) {
14
16
  let timerId;
@@ -116,3 +118,94 @@ function parsePackageString(packageString) {
116
118
  }
117
119
  }
118
120
  exports.parsePackageString = parsePackageString;
121
+ // Works only when the `path` begins with the package name
122
+ const parsePackageNameFromPath = (path) => {
123
+ const fragments = path.split('/');
124
+ if (path.startsWith('@')) {
125
+ return [fragments[0], fragments[1]].join('/');
126
+ }
127
+ else {
128
+ return fragments[0];
129
+ }
130
+ };
131
+ exports.parsePackageNameFromPath = parsePackageNameFromPath;
132
+ function getPackageFromWebpackPath(filePath) {
133
+ let filePathReal = filePath.includes('!')
134
+ ? filePath.split('!')[filePath.split('!').length - 1]
135
+ : filePath;
136
+ let lastNodeModulesIndex = filePathReal.lastIndexOf('node_modules') + 'node_modules'.length + 1;
137
+ return {
138
+ name: (0, exports.parsePackageNameFromPath)(filePathReal.substring(lastNodeModulesIndex)),
139
+ cleanPath: filePathReal,
140
+ };
141
+ }
142
+ exports.getPackageFromWebpackPath = getPackageFromWebpackPath;
143
+ exports.getPackageJSONFromPath = (0, memoizee_1.default)((filePath) => {
144
+ const { cleanPath, name } = getPackageFromWebpackPath(filePath);
145
+ const packageRoot = cleanPath.substring(0, cleanPath.lastIndexOf(name) + name.length);
146
+ try {
147
+ const packageJSON = require(path_1.default.join(packageRoot, 'package.json'));
148
+ return packageJSON;
149
+ }
150
+ catch (err) {
151
+ return null;
152
+ }
153
+ }, { max: 1000 });
154
+ async function updateProjectPeerDependencies(projectPath, peerDependencies) {
155
+ const packageJSONPath = path_1.default.join(projectPath, 'package.json');
156
+ const packageJSONContents = JSON.parse(await fs_1.default.promises.readFile(packageJSONPath, 'utf-8'));
157
+ const updatedJSON = Object.assign(Object.assign({}, packageJSONContents), { peerDependencies: Object.assign(Object.assign({}, packageJSONContents.peerDependencies), peerDependencies) });
158
+ await fs_1.default.promises.writeFile(packageJSONPath, JSON.stringify(updatedJSON, null, 2), 'utf-8');
159
+ }
160
+ exports.updateProjectPeerDependencies = updateProjectPeerDependencies;
161
+ async function updateProjectEntries(projectPath, entries) {
162
+ return;
163
+ const packageJSONPath = path_1.default.join(projectPath, 'package.json');
164
+ const packageJSONContents = JSON.parse(await fs_1.default.promises.readFile(packageJSONPath, 'utf-8'));
165
+ const updatedJSON = Object.assign(Object.assign({}, packageJSONContents), { targets: Object.fromEntries(Object.entries(entries).map(([entryName, entryPath]) => [
166
+ entryName,
167
+ {
168
+ source: entryName + '.html',
169
+ },
170
+ ])) });
171
+ await fs_1.default.promises.writeFile(packageJSONPath, JSON.stringify(updatedJSON, null, 2), 'utf-8');
172
+ }
173
+ exports.updateProjectEntries = updateProjectEntries;
174
+ /**
175
+ * eg.
176
+ * loader!/private/tmp/tmp-build/packages/build-gulp-ORQ/node_modules/.pnpm/is-data@0.1.4/node_modules/is-data/index.ts => is-data/index.ts
177
+ */
178
+ function cleanWebpackPath(filePath, installPath) {
179
+ // Webpack paths are of the form `loader!path`
180
+ let filePathReal = filePath.includes('!')
181
+ ? filePath.split('!')[filePath.split('!').length - 1]
182
+ : filePath;
183
+ let fragments = filePathReal
184
+ .substring(filePathReal.indexOf(installPath) + installPath.length + 1)
185
+ .split(path_1.default.sep);
186
+ // let currentFragment = fragments[0]
187
+ // while (['node_modules', '.pnpm'].includes(currentFragment)) {
188
+ // currentFragment = fragments.shift() || ''
189
+ // }
190
+ return filePath; //fragments.join(path.sep)
191
+ }
192
+ exports.cleanWebpackPath = cleanWebpackPath;
193
+ exports.cleanWebpackPath = cleanWebpackPath;
194
+ function isReactNativePackage(packageName) {
195
+ return packageName.startsWith('react-native');
196
+ }
197
+ exports.isReactNativePackage = isReactNativePackage;
198
+ function printDiagnosticError(error) {
199
+ error.diagnostics.forEach(diagnostic => {
200
+ var _a;
201
+ console.error(...[diagnostic.name, diagnostic.origin, diagnostic.message].filter(Boolean));
202
+ (_a = diagnostic.codeFrames) === null || _a === void 0 ? void 0 : _a.forEach(codeFrame => {
203
+ codeFrame.codeHighlights.forEach(highlight => {
204
+ if (codeFrame.code)
205
+ (0, code_frame_1.codeFrameColumns)(codeFrame.code, highlight);
206
+ });
207
+ });
208
+ });
209
+ }
210
+ exports.printDiagnosticError = printDiagnosticError;
211
+ //# sourceMappingURL=common.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.utils.js","sourceRoot":"","sources":["../../src/utils/common.utils.ts"],"names":[],"mappings":"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"}
@@ -15,3 +15,4 @@ declare type ResolvedExports = {
15
15
  */
16
16
  export declare function getAllExports(packageString: string, context: string, lookupPath: string): Promise<ResolvedExports>;
17
17
  export {};
18
+ //# sourceMappingURL=exports.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.utils.d.ts","sourceRoot":"","sources":["../../src/utils/exports.utils.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;EAsM7C;AA8BD,aAAK,eAAe,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,4BAuCnB"}