@simplysm/sd-cli 11.0.11 → 11.0.13
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/dist/build-tools/SdNgBundler.d.ts +0 -1
- package/dist/build-tools/SdNgBundler.js +51 -68
- package/dist/build-tools/SdNgBundler.js.map +1 -1
- package/dist/build-tools/SdNgBundlerContext.d.ts +16 -0
- package/dist/build-tools/SdNgBundlerContext.js +98 -0
- package/dist/build-tools/SdNgBundlerContext.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/SdMemoryLoadResultCache.js +1 -5
- package/dist/utils/SdMemoryLoadResultCache.js.map +1 -1
- package/package.json +11 -11
- package/src/build-tools/SdNgBundler.ts +204 -227
- package/src/build-tools/SdNgBundlerContext.ts +116 -0
- package/src/index.ts +1 -0
- package/src/utils/SdMemoryLoadResultCache.ts +1 -5
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { createCompilerPlugin } from "@angular-devkit/build-angular/src/tools/esbuild/angular/compiler-plugin";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { BundlerContext } from "@angular-devkit/build-angular/src/tools/esbuild/bundler-context";
|
|
4
3
|
import { FsUtil, PathUtil } from "@simplysm/sd-core-node";
|
|
5
4
|
import { fileURLToPath } from "url";
|
|
6
5
|
import { createVirtualModulePlugin } from "@angular-devkit/build-angular/src/tools/esbuild/virtual-module-plugin";
|
|
7
6
|
import { createSourcemapIgnorelistPlugin } from "@angular-devkit/build-angular/src/tools/esbuild/sourcemap-ignorelist-plugin";
|
|
8
7
|
import nodeStdLibBrowser from "node-stdlib-browser";
|
|
9
8
|
import nodeStdLibBrowserPlugin from "node-stdlib-browser/helpers/esbuild/plugin";
|
|
10
|
-
import { ExecutionResult } from "@angular-devkit/build-angular/src/tools/esbuild/bundler-execution-result";
|
|
11
9
|
import { copyAssets } from "@angular-devkit/build-angular/src/utils/copy-assets";
|
|
12
10
|
import { extractLicenses } from "@angular-devkit/build-angular/src/tools/esbuild/license-extractor";
|
|
13
11
|
import { augmentAppWithServiceWorkerEsbuild } from "@angular-devkit/build-angular/src/utils/service-worker";
|
|
14
12
|
import browserslist from "browserslist";
|
|
15
|
-
import { transformSupportedBrowsersToTargets } from "@angular-devkit/build-angular/src/tools/esbuild/utils";
|
|
13
|
+
import { createOutputFileFromText, transformSupportedBrowsersToTargets } from "@angular-devkit/build-angular/src/tools/esbuild/utils";
|
|
16
14
|
import { createCssResourcePlugin } from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/css-resource-plugin";
|
|
17
15
|
import { CssStylesheetLanguage } from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/css-language";
|
|
18
16
|
import { SassStylesheetLanguage } from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/sass-language";
|
|
@@ -21,6 +19,7 @@ import { IndexHtmlGenerator } from "@angular-devkit/build-angular/src/utils/inde
|
|
|
21
19
|
import { CrossOrigin } from "@angular-devkit/build-angular";
|
|
22
20
|
import { InlineCriticalCssProcessor } from "@angular-devkit/build-angular/src/utils/index-file/inline-critical-css";
|
|
23
21
|
import { SdSourceFileCache } from "../utils/SdSourceFileCache";
|
|
22
|
+
import { SdNgBundlerContext } from "./SdNgBundlerContext";
|
|
24
23
|
export class SdNgBundler {
|
|
25
24
|
constructor(_opt) {
|
|
26
25
|
this._opt = _opt;
|
|
@@ -45,60 +44,39 @@ export class SdNgBundler {
|
|
|
45
44
|
this._contexts.push(this._getStyleContext());
|
|
46
45
|
}
|
|
47
46
|
//-- build
|
|
48
|
-
const
|
|
49
|
-
const results =
|
|
50
|
-
...bundlingResult.warnings.map((warn) => ({
|
|
51
|
-
filePath: warn.location?.file !== undefined ? path.resolve(this._opt.pkgPath, warn.location.file) : undefined,
|
|
52
|
-
line: warn.location?.line,
|
|
53
|
-
char: warn.location?.column,
|
|
54
|
-
code: undefined,
|
|
55
|
-
severity: "warning",
|
|
56
|
-
message: warn.text.replace(/^(NG|TS)[0-9]+: /, ""),
|
|
57
|
-
type: "build"
|
|
58
|
-
})),
|
|
59
|
-
...bundlingResult.errors?.map((err) => ({
|
|
60
|
-
filePath: err.location?.file !== undefined ? path.resolve(this._opt.pkgPath, err.location.file) : undefined,
|
|
61
|
-
line: err.location?.line,
|
|
62
|
-
char: err.location?.column !== undefined ? err.location.column + 1 : undefined,
|
|
63
|
-
code: undefined,
|
|
64
|
-
severity: "error",
|
|
65
|
-
message: err.text.replace(/^[^:]*: /, ""),
|
|
66
|
-
type: "build"
|
|
67
|
-
})) ?? []
|
|
68
|
-
];
|
|
47
|
+
const bundlingResults = await this._contexts.mapAsync(async (ctx) => await ctx.bundleAsync());
|
|
48
|
+
const results = bundlingResults.mapMany(bundlingResult => bundlingResult.results);
|
|
69
49
|
const watchFilePaths = [
|
|
70
50
|
...this._sourceFileCache.keys(),
|
|
71
51
|
...this._sourceFileCache.babelFileCache.keys(),
|
|
72
52
|
...this._sourceFileCache.loadResultCache.fileDependencies.keys()
|
|
73
53
|
].map((item) => path.resolve(item)).distinct();
|
|
74
54
|
let affectedSourceFilePaths = watchFilePaths.filter((item) => PathUtil.isChildPath(item, this._opt.pkgPath));
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
for (const entry of Object.entries(bundlingResult.metafile.inputs)) {
|
|
82
|
-
for (const imp of entry[1].imports) {
|
|
83
|
-
const deps = this._depsMap.getOrCreate(path.resolve(this._opt.pkgPath, imp.path), new Set());
|
|
84
|
-
deps.add(path.resolve(this._opt.pkgPath, entry[0]));
|
|
55
|
+
if (this._sourceFileCache.modifiedFiles.size > 0) {
|
|
56
|
+
const depMap = new Map();
|
|
57
|
+
for (const bundlingResult of bundlingResults) {
|
|
58
|
+
for (const [k, v] of bundlingResult.dependencyMap) {
|
|
59
|
+
const currSet = depMap.getOrCreate(k, new Set());
|
|
60
|
+
currSet.adds(...v);
|
|
85
61
|
}
|
|
86
62
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const importerPaths = this._depsMap.get(filePath);
|
|
91
|
-
if (!importerPaths)
|
|
92
|
-
return result;
|
|
93
|
-
for (const importerPath of importerPaths) {
|
|
94
|
-
if (result.has(importerPath))
|
|
95
|
-
continue;
|
|
96
|
-
result.adds(importerPath);
|
|
97
|
-
result.adds(...searchAffectedFiles(importerPath, result));
|
|
63
|
+
for (const [k, v] of this._sourceFileCache.loadResultCache.fileDependencies) {
|
|
64
|
+
const currSet = depMap.getOrCreate(k, new Set());
|
|
65
|
+
currSet.adds(...Array.from(v).map((item) => item.startsWith("file:") ? fileURLToPath(item) : undefined).filterExists());
|
|
98
66
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
67
|
+
const searchAffectedFiles = (filePath, prev) => {
|
|
68
|
+
const result = new Set(prev);
|
|
69
|
+
const importerPaths = depMap.get(filePath);
|
|
70
|
+
if (!importerPaths)
|
|
71
|
+
return result;
|
|
72
|
+
for (const importerPath of importerPaths) {
|
|
73
|
+
if (result.has(importerPath))
|
|
74
|
+
continue;
|
|
75
|
+
result.adds(importerPath);
|
|
76
|
+
result.adds(...searchAffectedFiles(importerPath, result));
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
};
|
|
102
80
|
const affectedFilePathSet = new Set();
|
|
103
81
|
for (const modFile of this._sourceFileCache.modifiedFiles) {
|
|
104
82
|
affectedFilePathSet.add(path.resolve(modFile));
|
|
@@ -106,15 +84,20 @@ export class SdNgBundler {
|
|
|
106
84
|
}
|
|
107
85
|
affectedSourceFilePaths = Array.from(affectedFilePathSet.values()).filter((item) => PathUtil.isChildPath(item, this._opt.pkgPath));
|
|
108
86
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
87
|
+
/*const executionResult = new ExecutionResult(this._contexts, this._sourceFileCache);
|
|
88
|
+
executionResult.outputFiles.push(...bundlingResult.outputFiles);*/
|
|
89
|
+
const outputFiles = bundlingResults.mapMany(item => item.outputFiles ?? []);
|
|
90
|
+
const initialFiles = new Map();
|
|
91
|
+
const metafile = {
|
|
92
|
+
inputs: {},
|
|
93
|
+
outputs: {}
|
|
94
|
+
};
|
|
95
|
+
for (const bundlingResult of bundlingResults) {
|
|
96
|
+
bundlingResult.initialFiles.forEach((v, k) => initialFiles.set(k, v));
|
|
97
|
+
metafile.inputs = { ...metafile.inputs, ...bundlingResult.metafile?.inputs };
|
|
98
|
+
metafile.outputs = { ...metafile.outputs, ...bundlingResult.metafile?.outputs };
|
|
115
99
|
}
|
|
116
|
-
const
|
|
117
|
-
executionResult.outputFiles.push(...bundlingResult.outputFiles);
|
|
100
|
+
const assetFiles = [];
|
|
118
101
|
//-- Check commonjs
|
|
119
102
|
// if (!this._opt.dev) {
|
|
120
103
|
// const messages = checkCommonJSModules(bundlingResult.metafile, []);
|
|
@@ -131,7 +114,7 @@ export class SdNgBundler {
|
|
|
131
114
|
// }
|
|
132
115
|
// }
|
|
133
116
|
//-- index
|
|
134
|
-
const genIndexHtmlResult = await this._genIndexHtmlAsync(
|
|
117
|
+
const genIndexHtmlResult = await this._genIndexHtmlAsync(outputFiles, initialFiles);
|
|
135
118
|
for (const warning of genIndexHtmlResult.warnings) {
|
|
136
119
|
results.push({
|
|
137
120
|
filePath: undefined,
|
|
@@ -154,19 +137,19 @@ export class SdNgBundler {
|
|
|
154
137
|
type: "build",
|
|
155
138
|
});
|
|
156
139
|
}
|
|
157
|
-
|
|
140
|
+
outputFiles.push(createOutputFileFromText("index.html", genIndexHtmlResult.content));
|
|
158
141
|
//-- copy assets
|
|
159
|
-
|
|
142
|
+
assetFiles.push(...(await this._copyAssetsAsync()));
|
|
160
143
|
//-- extract 3rdpartylicenses
|
|
161
144
|
if (!this._opt.dev) {
|
|
162
|
-
|
|
145
|
+
outputFiles.push(createOutputFileFromText('3rdpartylicenses.txt', await extractLicenses(metafile, this._opt.pkgPath)));
|
|
163
146
|
}
|
|
164
147
|
//-- service worker
|
|
165
148
|
if (FsUtil.exists(this._swConfFilePath)) {
|
|
166
149
|
try {
|
|
167
|
-
const serviceWorkerResult = await this._genServiceWorkerAsync(
|
|
168
|
-
|
|
169
|
-
|
|
150
|
+
const serviceWorkerResult = await this._genServiceWorkerAsync(outputFiles, assetFiles);
|
|
151
|
+
outputFiles.push(createOutputFileFromText('ngsw.json', serviceWorkerResult.manifest));
|
|
152
|
+
assetFiles.push(...serviceWorkerResult.assetFiles);
|
|
170
153
|
}
|
|
171
154
|
catch (err) {
|
|
172
155
|
results.push({
|
|
@@ -181,7 +164,7 @@ export class SdNgBundler {
|
|
|
181
164
|
}
|
|
182
165
|
}
|
|
183
166
|
//-- write
|
|
184
|
-
for (const outputFile of
|
|
167
|
+
for (const outputFile of outputFiles) {
|
|
185
168
|
const distFilePath = path.resolve(this._opt.outputPath, outputFile.path);
|
|
186
169
|
const prev = this._outputCache.get(distFilePath);
|
|
187
170
|
if (prev !== Buffer.from(outputFile.contents).toString("base64")) {
|
|
@@ -189,7 +172,7 @@ export class SdNgBundler {
|
|
|
189
172
|
this._outputCache.set(distFilePath, Buffer.from(outputFile.contents).toString("base64"));
|
|
190
173
|
}
|
|
191
174
|
}
|
|
192
|
-
for (const assetFile of
|
|
175
|
+
for (const assetFile of assetFiles) {
|
|
193
176
|
const prev = this._outputCache.get(assetFile.source);
|
|
194
177
|
const curr = FsUtil.lstat(assetFile.source).mtime.getTime();
|
|
195
178
|
if (prev !== curr) {
|
|
@@ -309,7 +292,7 @@ export class SdNgBundler {
|
|
|
309
292
|
return await augmentAppWithServiceWorkerEsbuild(this._opt.pkgPath, this._swConfFilePath, this._baseHref, outputFiles, assetFiles);
|
|
310
293
|
}
|
|
311
294
|
async _getAppContextAsync() {
|
|
312
|
-
return new
|
|
295
|
+
return new SdNgBundlerContext(this._opt.pkgPath, {
|
|
313
296
|
absWorkingDir: this._opt.pkgPath,
|
|
314
297
|
bundle: true,
|
|
315
298
|
keepNames: true,
|
|
@@ -421,7 +404,7 @@ export class SdNgBundler {
|
|
|
421
404
|
sourcemap: this._opt.dev,
|
|
422
405
|
includePaths: []
|
|
423
406
|
}, this._sourceFileCache.loadResultCache);
|
|
424
|
-
return new
|
|
407
|
+
return new SdNgBundlerContext(this._opt.pkgPath, {
|
|
425
408
|
absWorkingDir: this._opt.pkgPath,
|
|
426
409
|
bundle: true,
|
|
427
410
|
entryNames: '[name]',
|
|
@@ -454,7 +437,7 @@ export class SdNgBundler {
|
|
|
454
437
|
pluginFactory.create(CssStylesheetLanguage),
|
|
455
438
|
createCssResourcePlugin(this._sourceFileCache.loadResultCache),
|
|
456
439
|
],
|
|
457
|
-
}
|
|
440
|
+
});
|
|
458
441
|
}
|
|
459
442
|
}
|
|
460
443
|
//# sourceMappingURL=SdNgBundler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdNgBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdNgBundler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SdNgBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdNgBundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import esbuild from "esbuild";
|
|
2
|
+
import { InitialFileRecord } from "@angular-devkit/build-angular/src/tools/esbuild/bundler-context";
|
|
3
|
+
import { ISdCliPackageBuildResult } from "../commons";
|
|
4
|
+
export declare class SdNgBundlerContext {
|
|
5
|
+
private readonly _pkgPath;
|
|
6
|
+
private readonly _esbuildOptions;
|
|
7
|
+
private _context?;
|
|
8
|
+
constructor(_pkgPath: string, _esbuildOptions: esbuild.BuildOptions);
|
|
9
|
+
bundleAsync(): Promise<{
|
|
10
|
+
results: ISdCliPackageBuildResult[];
|
|
11
|
+
initialFiles: Map<string, InitialFileRecord>;
|
|
12
|
+
outputFiles: esbuild.OutputFile[] | undefined;
|
|
13
|
+
dependencyMap: Map<string, Set<string>>;
|
|
14
|
+
metafile: esbuild.Metafile | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import esbuild from "esbuild";
|
|
2
|
+
import path from "path";
|
|
3
|
+
export class SdNgBundlerContext {
|
|
4
|
+
constructor(_pkgPath, _esbuildOptions) {
|
|
5
|
+
this._pkgPath = _pkgPath;
|
|
6
|
+
this._esbuildOptions = _esbuildOptions;
|
|
7
|
+
}
|
|
8
|
+
async bundleAsync() {
|
|
9
|
+
if (this._context == null) {
|
|
10
|
+
this._context = await esbuild.context(this._esbuildOptions);
|
|
11
|
+
}
|
|
12
|
+
let buildResult;
|
|
13
|
+
try {
|
|
14
|
+
buildResult = await this._context.rebuild();
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if ("warnings" in err || "errors" in err) {
|
|
18
|
+
buildResult = err;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw err;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const results = [
|
|
25
|
+
...buildResult.warnings.map((warn) => ({
|
|
26
|
+
filePath: warn.location?.file !== undefined ? path.resolve(this._pkgPath, warn.location.file) : undefined,
|
|
27
|
+
line: warn.location?.line,
|
|
28
|
+
char: warn.location?.column,
|
|
29
|
+
code: undefined,
|
|
30
|
+
severity: "warning",
|
|
31
|
+
message: warn.text.replace(/^(NG|TS)[0-9]+: /, ""),
|
|
32
|
+
type: "build"
|
|
33
|
+
})),
|
|
34
|
+
...buildResult.errors?.map((err) => ({
|
|
35
|
+
filePath: err.location?.file !== undefined ? path.resolve(this._pkgPath, err.location.file) : undefined,
|
|
36
|
+
line: err.location?.line,
|
|
37
|
+
char: err.location?.column !== undefined ? err.location.column + 1 : undefined,
|
|
38
|
+
code: undefined,
|
|
39
|
+
severity: "error",
|
|
40
|
+
message: err.text.replace(/^[^:]*: /, ""),
|
|
41
|
+
type: "build"
|
|
42
|
+
}))
|
|
43
|
+
];
|
|
44
|
+
const initialFiles = new Map();
|
|
45
|
+
for (const outputFile of buildResult.outputFiles ?? []) {
|
|
46
|
+
const relativeFilePath = path.relative(this._pkgPath, outputFile.path);
|
|
47
|
+
const entryPoint = buildResult.metafile?.outputs[relativeFilePath]?.entryPoint;
|
|
48
|
+
outputFile.path = relativeFilePath;
|
|
49
|
+
if (entryPoint != null) {
|
|
50
|
+
const name = path.basename(relativeFilePath).split('.', 1)[0];
|
|
51
|
+
const type = path.extname(relativeFilePath) === '.css' ? 'style' : 'script';
|
|
52
|
+
if (this._esbuildOptions.entryPoints?.[name] != null) {
|
|
53
|
+
initialFiles.set(relativeFilePath, {
|
|
54
|
+
name,
|
|
55
|
+
type,
|
|
56
|
+
entrypoint: true,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const files = [...initialFiles.keys()];
|
|
62
|
+
for (const file of files) {
|
|
63
|
+
for (const initialImport of buildResult.metafile?.outputs[file]?.imports ?? []) {
|
|
64
|
+
if (initialFiles.has(initialImport.path)) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (initialImport.kind === 'import-statement' || initialImport.kind === 'import-rule') {
|
|
68
|
+
const record = {
|
|
69
|
+
type: initialImport.kind === 'import-rule' ? 'style' : 'script',
|
|
70
|
+
entrypoint: false,
|
|
71
|
+
external: initialImport.external,
|
|
72
|
+
};
|
|
73
|
+
initialFiles.set(initialImport.path, record);
|
|
74
|
+
if (!initialImport.external) {
|
|
75
|
+
files.push(initialImport.path);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const dependencyMap = new Map();
|
|
81
|
+
if (buildResult.metafile) {
|
|
82
|
+
for (const [key, val] of Object.entries(buildResult.metafile.inputs)) {
|
|
83
|
+
for (const imp of val.imports) {
|
|
84
|
+
const deps = dependencyMap.getOrCreate(path.resolve(this._pkgPath, imp.path), new Set());
|
|
85
|
+
deps.add(path.resolve(this._pkgPath, key));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
results,
|
|
91
|
+
initialFiles,
|
|
92
|
+
outputFiles: buildResult.outputFiles,
|
|
93
|
+
dependencyMap,
|
|
94
|
+
metafile: buildResult.metafile
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=SdNgBundlerContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdNgBundlerContext.js","sourceRoot":"","sources":["../../src/build-tools/SdNgBundlerContext.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./build-tools/SdCliIndexFileGenerator";
|
|
|
3
3
|
export * from "./build-tools/SdCliNgRoutesFileGenerator";
|
|
4
4
|
export * from "./build-tools/SdLinter";
|
|
5
5
|
export * from "./build-tools/SdNgBundler";
|
|
6
|
+
export * from "./build-tools/SdNgBundlerContext";
|
|
6
7
|
export * from "./build-tools/SdTsBundler";
|
|
7
8
|
export * from "./build-tools/SdTsCompiler";
|
|
8
9
|
export * from "./builders/SdCliClientBuilder";
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./build-tools/SdCliIndexFileGenerator";
|
|
|
3
3
|
export * from "./build-tools/SdCliNgRoutesFileGenerator";
|
|
4
4
|
export * from "./build-tools/SdLinter";
|
|
5
5
|
export * from "./build-tools/SdNgBundler";
|
|
6
|
+
export * from "./build-tools/SdNgBundlerContext";
|
|
6
7
|
export * from "./build-tools/SdTsBundler";
|
|
7
8
|
export * from "./build-tools/SdTsCompiler";
|
|
8
9
|
export * from "./builders/SdCliClientBuilder";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC"}
|
|
@@ -15,11 +15,7 @@ export class SdMemoryLoadResultCache extends MemoryLoadResultCache {
|
|
|
15
15
|
for (const watchFile of result.watchFiles) {
|
|
16
16
|
// Normalize the watch file path to ensure OS consistent paths
|
|
17
17
|
const watchFilePath = path.resolve(watchFile);
|
|
18
|
-
let affected = this.fileDependencies.
|
|
19
|
-
if (affected === undefined) {
|
|
20
|
-
affected = new Set();
|
|
21
|
-
this.fileDependencies.set(watchFilePath, affected);
|
|
22
|
-
}
|
|
18
|
+
let affected = this.fileDependencies.getOrCreate(watchFilePath, new Set());
|
|
23
19
|
affected.add(putPath);
|
|
24
20
|
}
|
|
25
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdMemoryLoadResultCache.js","sourceRoot":"","sources":["../../src/utils/SdMemoryLoadResultCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,mEAAmE,CAAC;AAExG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,uBAAwB,SAAQ,qBAAqB;IAAlE;;QACE,gBAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9C,qBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SdMemoryLoadResultCache.js","sourceRoot":"","sources":["../../src/utils/SdMemoryLoadResultCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,mEAAmE,CAAC;AAExG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,uBAAwB,SAAQ,qBAAqB;IAAlE;;QACE,gBAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9C,qBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAiCpD,CAAC;IA/BU,GAAG,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEQ,GAAG,CAAC,OAAe,EAAE,MAAoB;QAChD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;gBACzC,8DAA8D;gBAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC3E,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACvB;SACF;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,UAAU,CAAC,cAAsB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SAC9C;QAED,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.13",
|
|
4
4
|
"description": "심플리즘 패키지 - CLI",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"repository": {
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
"node": "^16"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@angular-devkit/build-angular": "^16.2.
|
|
21
|
-
"@angular/common": "^16.2.
|
|
22
|
-
"@angular/compiler": "^16.2.
|
|
23
|
-
"@angular/compiler-cli": "^16.2.
|
|
24
|
-
"@angular/core": "^16.2.
|
|
20
|
+
"@angular-devkit/build-angular": "^16.2.8",
|
|
21
|
+
"@angular/common": "^16.2.11",
|
|
22
|
+
"@angular/compiler": "^16.2.11",
|
|
23
|
+
"@angular/compiler-cli": "^16.2.11",
|
|
24
|
+
"@angular/core": "^16.2.11",
|
|
25
25
|
"@electron/rebuild": "^3.3.0",
|
|
26
|
-
"@simplysm/sd-core-common": "11.0.
|
|
27
|
-
"@simplysm/sd-core-node": "11.0.
|
|
28
|
-
"@simplysm/sd-service-server": "11.0.
|
|
29
|
-
"@simplysm/sd-storage": "11.0.
|
|
26
|
+
"@simplysm/sd-core-common": "11.0.13",
|
|
27
|
+
"@simplysm/sd-core-node": "11.0.13",
|
|
28
|
+
"@simplysm/sd-service-server": "11.0.13",
|
|
29
|
+
"@simplysm/sd-storage": "11.0.13",
|
|
30
30
|
"browserslist": "^4.22.1",
|
|
31
31
|
"cordova": "^12.0.0",
|
|
32
32
|
"electron": "^27.0.2",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"eslint": "^8.52.0",
|
|
37
37
|
"node-stdlib-browser": "^1.2.0",
|
|
38
38
|
"rxjs": "^7.8.1",
|
|
39
|
-
"sass": "^1.69.
|
|
39
|
+
"sass": "^1.69.5",
|
|
40
40
|
"semver": "^7.5.4",
|
|
41
41
|
"xml2js": "^0.6.2",
|
|
42
42
|
"yargs": "^17.7.2",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {createCompilerPlugin} from "@angular-devkit/build-angular/src/tools/esbuild/angular/compiler-plugin";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import {
|
|
4
|
-
import esbuild from "esbuild";
|
|
3
|
+
import {InitialFileRecord} from "@angular-devkit/build-angular/src/tools/esbuild/bundler-context";
|
|
4
|
+
import esbuild, {Metafile} from "esbuild";
|
|
5
5
|
import {FsUtil, PathUtil} from "@simplysm/sd-core-node";
|
|
6
6
|
import {fileURLToPath} from "url";
|
|
7
7
|
import {createVirtualModulePlugin} from "@angular-devkit/build-angular/src/tools/esbuild/virtual-module-plugin";
|
|
@@ -10,13 +10,15 @@ import {
|
|
|
10
10
|
} from "@angular-devkit/build-angular/src/tools/esbuild/sourcemap-ignorelist-plugin";
|
|
11
11
|
import nodeStdLibBrowser from "node-stdlib-browser";
|
|
12
12
|
import nodeStdLibBrowserPlugin from "node-stdlib-browser/helpers/esbuild/plugin";
|
|
13
|
-
import {ExecutionResult} from "@angular-devkit/build-angular/src/tools/esbuild/bundler-execution-result";
|
|
14
13
|
import {INpmConfig, ISdCliPackageBuildResult} from "../commons";
|
|
15
14
|
import {copyAssets} from "@angular-devkit/build-angular/src/utils/copy-assets";
|
|
16
15
|
import {extractLicenses} from "@angular-devkit/build-angular/src/tools/esbuild/license-extractor";
|
|
17
16
|
import {augmentAppWithServiceWorkerEsbuild} from "@angular-devkit/build-angular/src/utils/service-worker";
|
|
18
17
|
import browserslist from "browserslist";
|
|
19
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
createOutputFileFromText,
|
|
20
|
+
transformSupportedBrowsersToTargets
|
|
21
|
+
} from "@angular-devkit/build-angular/src/tools/esbuild/utils";
|
|
20
22
|
import {createCssResourcePlugin} from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/css-resource-plugin";
|
|
21
23
|
import {CssStylesheetLanguage} from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/css-language";
|
|
22
24
|
import {SassStylesheetLanguage} from "@angular-devkit/build-angular/src/tools/esbuild/stylesheets/sass-language";
|
|
@@ -32,11 +34,12 @@ import {Entrypoint} from "@angular-devkit/build-angular/src/utils/index-file/aug
|
|
|
32
34
|
import {CrossOrigin} from "@angular-devkit/build-angular";
|
|
33
35
|
import {InlineCriticalCssProcessor} from "@angular-devkit/build-angular/src/utils/index-file/inline-critical-css";
|
|
34
36
|
import {SdSourceFileCache} from "../utils/SdSourceFileCache";
|
|
37
|
+
import {SdNgBundlerContext} from "./SdNgBundlerContext";
|
|
35
38
|
|
|
36
39
|
export class SdNgBundler {
|
|
37
40
|
private readonly _sourceFileCache = new SdSourceFileCache();
|
|
38
41
|
|
|
39
|
-
private _contexts:
|
|
42
|
+
private _contexts: SdNgBundlerContext[] | undefined;
|
|
40
43
|
|
|
41
44
|
private readonly _outputCache = new Map<string, string | number>();
|
|
42
45
|
|
|
@@ -49,8 +52,6 @@ export class SdNgBundler {
|
|
|
49
52
|
private readonly _pkgName: string;
|
|
50
53
|
private readonly _baseHref: string;
|
|
51
54
|
|
|
52
|
-
private _depsMap?: Map<string, Set<string>>;
|
|
53
|
-
|
|
54
55
|
public constructor(private readonly _opt: {
|
|
55
56
|
dev: boolean;
|
|
56
57
|
outputPath: string;
|
|
@@ -85,28 +86,10 @@ export class SdNgBundler {
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
//-- build
|
|
88
|
-
const
|
|
89
|
+
const bundlingResults = await this._contexts.mapAsync(async ctx => await ctx.bundleAsync());
|
|
90
|
+
|
|
91
|
+
const results = bundlingResults.mapMany(bundlingResult => bundlingResult.results);
|
|
89
92
|
|
|
90
|
-
const results = [
|
|
91
|
-
...bundlingResult.warnings.map((warn) => ({
|
|
92
|
-
filePath: warn.location?.file !== undefined ? path.resolve(this._opt.pkgPath, warn.location.file) : undefined,
|
|
93
|
-
line: warn.location?.line,
|
|
94
|
-
char: warn.location?.column,
|
|
95
|
-
code: undefined,
|
|
96
|
-
severity: "warning",
|
|
97
|
-
message: warn.text.replace(/^(NG|TS)[0-9]+: /, ""),
|
|
98
|
-
type: "build"
|
|
99
|
-
})),
|
|
100
|
-
...bundlingResult.errors?.map((err) => ({
|
|
101
|
-
filePath: err.location?.file !== undefined ? path.resolve(this._opt.pkgPath, err.location.file) : undefined,
|
|
102
|
-
line: err.location?.line,
|
|
103
|
-
char: err.location?.column !== undefined ? err.location.column + 1 : undefined,
|
|
104
|
-
code: undefined,
|
|
105
|
-
severity: "error",
|
|
106
|
-
message: err.text.replace(/^[^:]*: /, ""),
|
|
107
|
-
type: "build"
|
|
108
|
-
})) ?? []
|
|
109
|
-
] as ISdCliPackageBuildResult[];
|
|
110
93
|
const watchFilePaths = [
|
|
111
94
|
...this._sourceFileCache.keys(),
|
|
112
95
|
...this._sourceFileCache.babelFileCache.keys(),
|
|
@@ -115,36 +98,34 @@ export class SdNgBundler {
|
|
|
115
98
|
|
|
116
99
|
let affectedSourceFilePaths = watchFilePaths.filter((item) => PathUtil.isChildPath(item, this._opt.pkgPath));
|
|
117
100
|
|
|
118
|
-
if (
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
for (const entry of Object.entries(bundlingResult.metafile.inputs)) {
|
|
125
|
-
for (const imp of entry[1].imports) {
|
|
126
|
-
const deps = this._depsMap.getOrCreate(path.resolve(this._opt.pkgPath, imp.path), new Set<string>());
|
|
127
|
-
deps.add(path.resolve(this._opt.pkgPath, entry[0]));
|
|
101
|
+
if (this._sourceFileCache.modifiedFiles.size > 0) {
|
|
102
|
+
const depMap = new Map<string, Set<string>>();
|
|
103
|
+
for (const bundlingResult of bundlingResults) {
|
|
104
|
+
for(const [k, v] of bundlingResult.dependencyMap){
|
|
105
|
+
const currSet = depMap.getOrCreate(k, new Set<string>());
|
|
106
|
+
currSet.adds(...v);
|
|
128
107
|
}
|
|
129
108
|
}
|
|
130
|
-
|
|
109
|
+
for (const [k, v] of this._sourceFileCache.loadResultCache.fileDependencies) {
|
|
110
|
+
const currSet = depMap.getOrCreate(k, new Set<string>());
|
|
111
|
+
currSet.adds(...Array.from(v).map((item) => item.startsWith("file:") ? fileURLToPath(item) : undefined).filterExists());
|
|
112
|
+
}
|
|
131
113
|
|
|
132
|
-
|
|
133
|
-
|
|
114
|
+
const searchAffectedFiles = (filePath: string, prev?: Set<string>): Set<string> => {
|
|
115
|
+
const result = new Set<string>(prev);
|
|
134
116
|
|
|
135
|
-
|
|
136
|
-
|
|
117
|
+
const importerPaths = depMap.get(filePath);
|
|
118
|
+
if (!importerPaths) return result;
|
|
137
119
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
120
|
+
for (const importerPath of importerPaths) {
|
|
121
|
+
if (result.has(importerPath)) continue;
|
|
122
|
+
result.adds(importerPath);
|
|
123
|
+
result.adds(...searchAffectedFiles(importerPath, result));
|
|
124
|
+
}
|
|
143
125
|
|
|
144
|
-
|
|
145
|
-
|
|
126
|
+
return result;
|
|
127
|
+
};
|
|
146
128
|
|
|
147
|
-
if (this._sourceFileCache.modifiedFiles.size > 0) {
|
|
148
129
|
const affectedFilePathSet = new Set<string>();
|
|
149
130
|
for (const modFile of this._sourceFileCache.modifiedFiles) {
|
|
150
131
|
affectedFilePathSet.add(path.resolve(modFile));
|
|
@@ -153,16 +134,26 @@ export class SdNgBundler {
|
|
|
153
134
|
affectedSourceFilePaths = Array.from(affectedFilePathSet.values()).filter((item) => PathUtil.isChildPath(item, this._opt.pkgPath));
|
|
154
135
|
}
|
|
155
136
|
|
|
156
|
-
if (bundlingResult.errors) {
|
|
157
|
-
return {
|
|
158
|
-
filePaths: watchFilePaths,
|
|
159
|
-
affectedFilePaths: affectedSourceFilePaths,
|
|
160
|
-
results
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
137
|
|
|
164
|
-
const executionResult = new ExecutionResult(this._contexts, this._sourceFileCache);
|
|
165
|
-
executionResult.outputFiles.push(...bundlingResult.outputFiles)
|
|
138
|
+
/*const executionResult = new ExecutionResult(this._contexts, this._sourceFileCache);
|
|
139
|
+
executionResult.outputFiles.push(...bundlingResult.outputFiles);*/
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
const outputFiles = bundlingResults.mapMany(item => item.outputFiles ?? []);
|
|
143
|
+
const initialFiles = new Map<string, InitialFileRecord>();
|
|
144
|
+
const metafile: {
|
|
145
|
+
inputs: Metafile["inputs"],
|
|
146
|
+
outputs: Metafile["outputs"]
|
|
147
|
+
} = {
|
|
148
|
+
inputs: {},
|
|
149
|
+
outputs: {}
|
|
150
|
+
};
|
|
151
|
+
for (const bundlingResult of bundlingResults) {
|
|
152
|
+
bundlingResult.initialFiles.forEach((v, k) => initialFiles.set(k, v));
|
|
153
|
+
metafile.inputs = {...metafile.inputs, ...bundlingResult.metafile?.inputs};
|
|
154
|
+
metafile.outputs = {...metafile.outputs, ...bundlingResult.metafile?.outputs};
|
|
155
|
+
}
|
|
156
|
+
const assetFiles: { source: string; destination: string }[] = [];
|
|
166
157
|
|
|
167
158
|
//-- Check commonjs
|
|
168
159
|
// if (!this._opt.dev) {
|
|
@@ -181,10 +172,8 @@ export class SdNgBundler {
|
|
|
181
172
|
// }
|
|
182
173
|
|
|
183
174
|
//-- index
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
bundlingResult.initialFiles
|
|
187
|
-
);
|
|
175
|
+
|
|
176
|
+
const genIndexHtmlResult = await this._genIndexHtmlAsync(outputFiles, initialFiles);
|
|
188
177
|
for (const warning of genIndexHtmlResult.warnings) {
|
|
189
178
|
results.push({
|
|
190
179
|
filePath: undefined,
|
|
@@ -207,25 +196,22 @@ export class SdNgBundler {
|
|
|
207
196
|
type: "build",
|
|
208
197
|
});
|
|
209
198
|
}
|
|
210
|
-
|
|
199
|
+
outputFiles.push(createOutputFileFromText("index.html", genIndexHtmlResult.content));
|
|
211
200
|
|
|
212
201
|
//-- copy assets
|
|
213
|
-
|
|
202
|
+
assetFiles.push(...(await this._copyAssetsAsync()));
|
|
214
203
|
|
|
215
204
|
//-- extract 3rdpartylicenses
|
|
216
205
|
if (!this._opt.dev) {
|
|
217
|
-
|
|
206
|
+
outputFiles.push(createOutputFileFromText('3rdpartylicenses.txt', await extractLicenses(metafile, this._opt.pkgPath)));
|
|
218
207
|
}
|
|
219
208
|
|
|
220
209
|
//-- service worker
|
|
221
210
|
if (FsUtil.exists(this._swConfFilePath)) {
|
|
222
211
|
try {
|
|
223
|
-
const serviceWorkerResult = await this._genServiceWorkerAsync(
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
);
|
|
227
|
-
executionResult.addOutputFile('ngsw.json', serviceWorkerResult.manifest);
|
|
228
|
-
executionResult.assetFiles.push(...serviceWorkerResult.assetFiles);
|
|
212
|
+
const serviceWorkerResult = await this._genServiceWorkerAsync(outputFiles, assetFiles);
|
|
213
|
+
outputFiles.push(createOutputFileFromText('ngsw.json', serviceWorkerResult.manifest));
|
|
214
|
+
assetFiles.push(...serviceWorkerResult.assetFiles);
|
|
229
215
|
}
|
|
230
216
|
catch (err) {
|
|
231
217
|
results.push({
|
|
@@ -241,7 +227,7 @@ export class SdNgBundler {
|
|
|
241
227
|
}
|
|
242
228
|
|
|
243
229
|
//-- write
|
|
244
|
-
for (const outputFile of
|
|
230
|
+
for (const outputFile of outputFiles) {
|
|
245
231
|
const distFilePath = path.resolve(this._opt.outputPath, outputFile.path);
|
|
246
232
|
|
|
247
233
|
const prev = this._outputCache.get(distFilePath);
|
|
@@ -250,7 +236,7 @@ export class SdNgBundler {
|
|
|
250
236
|
this._outputCache.set(distFilePath, Buffer.from(outputFile.contents).toString("base64"));
|
|
251
237
|
}
|
|
252
238
|
}
|
|
253
|
-
for (const assetFile of
|
|
239
|
+
for (const assetFile of assetFiles) {
|
|
254
240
|
const prev = this._outputCache.get(assetFile.source);
|
|
255
241
|
const curr = FsUtil.lstat(assetFile.source).mtime.getTime();
|
|
256
242
|
if (prev !== curr) {
|
|
@@ -408,122 +394,118 @@ export class SdNgBundler {
|
|
|
408
394
|
);
|
|
409
395
|
}
|
|
410
396
|
|
|
411
|
-
private async _getAppContextAsync(): Promise<
|
|
412
|
-
return new
|
|
413
|
-
this._opt.pkgPath,
|
|
414
|
-
true,
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
nodeStdLibBrowserPlugin(nodeStdLibBrowser)
|
|
521
|
-
]
|
|
522
|
-
}
|
|
523
|
-
);
|
|
397
|
+
private async _getAppContextAsync(): Promise<SdNgBundlerContext> {
|
|
398
|
+
return new SdNgBundlerContext(this._opt.pkgPath, {
|
|
399
|
+
absWorkingDir: this._opt.pkgPath,
|
|
400
|
+
bundle: true,
|
|
401
|
+
keepNames: true,
|
|
402
|
+
format: 'esm',
|
|
403
|
+
assetNames: 'media/[name]',
|
|
404
|
+
conditions: ['es2020', 'es2015', 'module'],
|
|
405
|
+
resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'],
|
|
406
|
+
metafile: true,
|
|
407
|
+
legalComments: this._opt.dev ? 'eof' : 'none',
|
|
408
|
+
logLevel: 'silent',
|
|
409
|
+
minifyIdentifiers: !this._opt.dev,
|
|
410
|
+
minifySyntax: !this._opt.dev,
|
|
411
|
+
minifyWhitespace: !this._opt.dev,
|
|
412
|
+
pure: ['forwardRef'],
|
|
413
|
+
outdir: this._opt.pkgPath,
|
|
414
|
+
outExtension: undefined,
|
|
415
|
+
sourcemap: this._opt.dev,
|
|
416
|
+
splitting: true,
|
|
417
|
+
chunkNames: 'chunk-[hash]',
|
|
418
|
+
tsconfig: this._tsConfigFilePath,
|
|
419
|
+
external: [],
|
|
420
|
+
write: false,
|
|
421
|
+
preserveSymlinks: false,
|
|
422
|
+
define: {
|
|
423
|
+
...!this._opt.dev ? {ngDevMode: 'false'} : {},
|
|
424
|
+
ngJitMode: 'false',
|
|
425
|
+
global: 'global',
|
|
426
|
+
process: 'process',
|
|
427
|
+
Buffer: 'Buffer',
|
|
428
|
+
'process.env.SD_VERSION': JSON.stringify(this._pkgNpmConf.version),
|
|
429
|
+
"process.env.NODE_ENV": JSON.stringify(this._opt.dev ? "development" : "production"),
|
|
430
|
+
...this._opt.env ? Object.keys(this._opt.env).toObject(
|
|
431
|
+
key => `process.env.${key}`,
|
|
432
|
+
key => JSON.stringify(this._opt.env![key])
|
|
433
|
+
) : {}
|
|
434
|
+
},
|
|
435
|
+
platform: 'browser',
|
|
436
|
+
mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'],
|
|
437
|
+
entryNames: '[name]',
|
|
438
|
+
entryPoints: {
|
|
439
|
+
main: this._mainFilePath,
|
|
440
|
+
polyfills: 'angular:polyfills',
|
|
441
|
+
...this._opt.builderType === "cordova" ? {
|
|
442
|
+
"cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../lib/cordova-entry.js`)
|
|
443
|
+
} : {}
|
|
444
|
+
},
|
|
445
|
+
target: this._browserTarget,
|
|
446
|
+
supported: {'async-await': false, 'object-rest-spread': false},
|
|
447
|
+
loader: {
|
|
448
|
+
".png": "file",
|
|
449
|
+
".jpeg": "file",
|
|
450
|
+
".jpg": "file",
|
|
451
|
+
".jfif": "file",
|
|
452
|
+
".gif": "file",
|
|
453
|
+
".svg": "file",
|
|
454
|
+
".woff": "file",
|
|
455
|
+
".woff2": "file",
|
|
456
|
+
".ttf": "file",
|
|
457
|
+
".eot": "file",
|
|
458
|
+
".ico": "file",
|
|
459
|
+
".otf": "file",
|
|
460
|
+
".csv": "file",
|
|
461
|
+
".xlsx": "file",
|
|
462
|
+
".xls": "file",
|
|
463
|
+
".pptx": "file",
|
|
464
|
+
".ppt": "file",
|
|
465
|
+
".docx": "file",
|
|
466
|
+
".doc": "file",
|
|
467
|
+
".zip": "file",
|
|
468
|
+
".pfx": "file",
|
|
469
|
+
".pkl": "file"
|
|
470
|
+
},
|
|
471
|
+
inject: [PathUtil.posix(fileURLToPath(await import.meta.resolve!("node-stdlib-browser/helpers/esbuild/shim")))],
|
|
472
|
+
plugins: [
|
|
473
|
+
createVirtualModulePlugin({
|
|
474
|
+
namespace: "angular:polyfills",
|
|
475
|
+
loadContent: () => ({
|
|
476
|
+
contents: `import "./src/polyfills.ts";`,
|
|
477
|
+
loader: 'js',
|
|
478
|
+
resolveDir: this._opt.pkgPath
|
|
479
|
+
})
|
|
480
|
+
}) as esbuild.Plugin,
|
|
481
|
+
createSourcemapIgnorelistPlugin(),
|
|
482
|
+
createCompilerPlugin({
|
|
483
|
+
sourcemap: this._opt.dev,
|
|
484
|
+
thirdPartySourcemaps: false,
|
|
485
|
+
tsconfig: this._tsConfigFilePath,
|
|
486
|
+
jit: false,
|
|
487
|
+
advancedOptimizations: true,
|
|
488
|
+
fileReplacements: undefined,
|
|
489
|
+
sourceFileCache: this._sourceFileCache,
|
|
490
|
+
loadResultCache: this._sourceFileCache.loadResultCache
|
|
491
|
+
}, {
|
|
492
|
+
workspaceRoot: this._opt.pkgPath,
|
|
493
|
+
optimization: !this._opt.dev,
|
|
494
|
+
sourcemap: this._opt.dev ? 'inline' : false,
|
|
495
|
+
outputNames: {bundles: '[name]', media: 'media/[name]'},
|
|
496
|
+
includePaths: [],
|
|
497
|
+
externalDependencies: [],
|
|
498
|
+
target: this._browserTarget,
|
|
499
|
+
inlineStyleLanguage: 'scss',
|
|
500
|
+
preserveSymlinks: false,
|
|
501
|
+
tailwindConfiguration: undefined
|
|
502
|
+
}) as esbuild.Plugin,
|
|
503
|
+
nodeStdLibBrowserPlugin(nodeStdLibBrowser)
|
|
504
|
+
]
|
|
505
|
+
});
|
|
524
506
|
}
|
|
525
507
|
|
|
526
|
-
private _getStyleContext():
|
|
508
|
+
private _getStyleContext(): SdNgBundlerContext {
|
|
527
509
|
const browserTarget = transformSupportedBrowsersToTargets(browserslist("defaults and fully supports es6-module"));
|
|
528
510
|
|
|
529
511
|
const pluginFactory = new StylesheetPluginFactory(
|
|
@@ -534,44 +516,39 @@ export class SdNgBundler {
|
|
|
534
516
|
this._sourceFileCache.loadResultCache,
|
|
535
517
|
);
|
|
536
518
|
|
|
537
|
-
return new
|
|
538
|
-
this._opt.pkgPath,
|
|
539
|
-
true,
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
contents: `@import 'src/styles.scss';`,
|
|
565
|
-
loader: 'css',
|
|
566
|
-
resolveDir: this._opt.pkgPath
|
|
567
|
-
}),
|
|
519
|
+
return new SdNgBundlerContext(this._opt.pkgPath, {
|
|
520
|
+
absWorkingDir: this._opt.pkgPath,
|
|
521
|
+
bundle: true,
|
|
522
|
+
entryNames: '[name]',
|
|
523
|
+
assetNames: 'media/[name]',
|
|
524
|
+
logLevel: 'silent',
|
|
525
|
+
minify: !this._opt.dev,
|
|
526
|
+
metafile: true,
|
|
527
|
+
sourcemap: this._opt.dev,
|
|
528
|
+
outdir: this._opt.pkgPath,
|
|
529
|
+
write: false,
|
|
530
|
+
platform: 'browser',
|
|
531
|
+
target: browserTarget,
|
|
532
|
+
preserveSymlinks: false,
|
|
533
|
+
external: [],
|
|
534
|
+
conditions: ['style', 'sass'],
|
|
535
|
+
mainFields: ['style', 'sass'],
|
|
536
|
+
legalComments: !this._opt.dev ? "none" : "eof",
|
|
537
|
+
entryPoints: {styles: 'angular:styles/global;styles'},
|
|
538
|
+
plugins: [
|
|
539
|
+
createVirtualModulePlugin({
|
|
540
|
+
namespace: "angular:styles/global",
|
|
541
|
+
transformPath: (currPath) => currPath.split(';', 2)[1],
|
|
542
|
+
loadContent: () => ({
|
|
543
|
+
contents: `@import 'src/styles.scss';`,
|
|
544
|
+
loader: 'css',
|
|
545
|
+
resolveDir: this._opt.pkgPath
|
|
568
546
|
}),
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
);
|
|
547
|
+
}),
|
|
548
|
+
pluginFactory.create(SassStylesheetLanguage),
|
|
549
|
+
pluginFactory.create(CssStylesheetLanguage),
|
|
550
|
+
createCssResourcePlugin(this._sourceFileCache.loadResultCache),
|
|
551
|
+
],
|
|
552
|
+
});
|
|
576
553
|
}
|
|
577
554
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import esbuild from "esbuild";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import {InitialFileRecord} from "@angular-devkit/build-angular/src/tools/esbuild/bundler-context";
|
|
4
|
+
import {ISdCliPackageBuildResult} from "../commons";
|
|
5
|
+
|
|
6
|
+
export class SdNgBundlerContext {
|
|
7
|
+
private _context?: esbuild.BuildContext;
|
|
8
|
+
|
|
9
|
+
public constructor(private readonly _pkgPath: string,
|
|
10
|
+
private readonly _esbuildOptions: esbuild.BuildOptions) {
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public async bundleAsync() {
|
|
14
|
+
if (this._context == null) {
|
|
15
|
+
this._context = await esbuild.context(this._esbuildOptions);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
let buildResult: esbuild.BuildResult;
|
|
19
|
+
|
|
20
|
+
try {
|
|
21
|
+
buildResult = await this._context.rebuild();
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
if ("warnings" in err || "errors" in err) {
|
|
25
|
+
buildResult = err;
|
|
26
|
+
}
|
|
27
|
+
else{
|
|
28
|
+
throw err;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const results = [
|
|
33
|
+
...buildResult.warnings.map((warn) => ({
|
|
34
|
+
filePath: warn.location?.file !== undefined ? path.resolve(this._pkgPath, warn.location.file) : undefined,
|
|
35
|
+
line: warn.location?.line,
|
|
36
|
+
char: warn.location?.column,
|
|
37
|
+
code: undefined,
|
|
38
|
+
severity: "warning",
|
|
39
|
+
message: warn.text.replace(/^(NG|TS)[0-9]+: /, ""),
|
|
40
|
+
type: "build"
|
|
41
|
+
})),
|
|
42
|
+
...buildResult.errors?.map((err) => ({
|
|
43
|
+
filePath: err.location?.file !== undefined ? path.resolve(this._pkgPath, err.location.file) : undefined,
|
|
44
|
+
line: err.location?.line,
|
|
45
|
+
char: err.location?.column !== undefined ? err.location.column + 1 : undefined,
|
|
46
|
+
code: undefined,
|
|
47
|
+
severity: "error",
|
|
48
|
+
message: err.text.replace(/^[^:]*: /, ""),
|
|
49
|
+
type: "build"
|
|
50
|
+
}))
|
|
51
|
+
] as ISdCliPackageBuildResult[];
|
|
52
|
+
|
|
53
|
+
const initialFiles = new Map<string, InitialFileRecord>();
|
|
54
|
+
|
|
55
|
+
for (const outputFile of buildResult.outputFiles ?? []) {
|
|
56
|
+
const relativeFilePath = path.relative(this._pkgPath, outputFile.path);
|
|
57
|
+
const entryPoint = buildResult.metafile?.outputs[relativeFilePath]?.entryPoint;
|
|
58
|
+
|
|
59
|
+
outputFile.path = relativeFilePath;
|
|
60
|
+
|
|
61
|
+
if (entryPoint != null) {
|
|
62
|
+
const name = path.basename(relativeFilePath).split('.', 1)[0];
|
|
63
|
+
const type = path.extname(relativeFilePath) === '.css' ? 'style' : 'script';
|
|
64
|
+
|
|
65
|
+
if (this._esbuildOptions.entryPoints?.[name] != null) {
|
|
66
|
+
initialFiles.set(relativeFilePath, {
|
|
67
|
+
name,
|
|
68
|
+
type,
|
|
69
|
+
entrypoint: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const files = [...initialFiles.keys()];
|
|
76
|
+
for (const file of files) {
|
|
77
|
+
for (const initialImport of buildResult.metafile?.outputs[file]?.imports ?? []) {
|
|
78
|
+
if (initialFiles.has(initialImport.path)) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (initialImport.kind === 'import-statement' || initialImport.kind === 'import-rule') {
|
|
83
|
+
const record: InitialFileRecord = {
|
|
84
|
+
type: initialImport.kind === 'import-rule' ? 'style' : 'script',
|
|
85
|
+
entrypoint: false,
|
|
86
|
+
external: initialImport.external,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
initialFiles.set(initialImport.path, record);
|
|
90
|
+
|
|
91
|
+
if (!initialImport.external) {
|
|
92
|
+
files.push(initialImport.path);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const dependencyMap = new Map<string, Set<string>>();
|
|
99
|
+
if (buildResult.metafile) {
|
|
100
|
+
for (const [key, val] of Object.entries(buildResult.metafile.inputs)) {
|
|
101
|
+
for (const imp of val.imports) {
|
|
102
|
+
const deps = dependencyMap.getOrCreate(path.resolve(this._pkgPath, imp.path), new Set<string>());
|
|
103
|
+
deps.add(path.resolve(this._pkgPath, key));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
results,
|
|
110
|
+
initialFiles,
|
|
111
|
+
outputFiles: buildResult.outputFiles,
|
|
112
|
+
dependencyMap,
|
|
113
|
+
metafile: buildResult.metafile
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./build-tools/SdCliIndexFileGenerator";
|
|
|
3
3
|
export * from "./build-tools/SdCliNgRoutesFileGenerator";
|
|
4
4
|
export * from "./build-tools/SdLinter";
|
|
5
5
|
export * from "./build-tools/SdNgBundler";
|
|
6
|
+
export * from "./build-tools/SdNgBundlerContext";
|
|
6
7
|
export * from "./build-tools/SdTsBundler";
|
|
7
8
|
export * from "./build-tools/SdTsCompiler";
|
|
8
9
|
export * from "./builders/SdCliClientBuilder";
|
|
@@ -16,11 +16,7 @@ export class SdMemoryLoadResultCache extends MemoryLoadResultCache {
|
|
|
16
16
|
for (const watchFile of result.watchFiles) {
|
|
17
17
|
// Normalize the watch file path to ensure OS consistent paths
|
|
18
18
|
const watchFilePath = path.resolve(watchFile);
|
|
19
|
-
let affected = this.fileDependencies.
|
|
20
|
-
if (affected === undefined) {
|
|
21
|
-
affected = new Set();
|
|
22
|
-
this.fileDependencies.set(watchFilePath, affected);
|
|
23
|
-
}
|
|
19
|
+
let affected = this.fileDependencies.getOrCreate(watchFilePath, new Set());
|
|
24
20
|
affected.add(putPath);
|
|
25
21
|
}
|
|
26
22
|
}
|