@simplysm/sd-cli 12.5.19 → 12.5.21
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 +1 -0
- package/dist/build-tools/SdNgBundler.js +70 -57
- package/dist/build-tools/SdNgBundler.js.map +1 -1
- package/dist/build-tools/SdReactBundler.d.ts +25 -0
- package/dist/build-tools/SdReactBundler.js +295 -0
- package/dist/build-tools/SdReactBundler.js.map +1 -0
- package/dist/build-tools/SdReactBundlerContext.d.ts +14 -0
- package/dist/build-tools/SdReactBundlerContext.js +59 -0
- package/dist/build-tools/SdReactBundlerContext.js.map +1 -0
- package/dist/build-tools/SdServerBundler.d.ts +1 -0
- package/dist/build-tools/SdServerBundler.js +8 -7
- package/dist/build-tools/SdServerBundler.js.map +1 -1
- package/dist/build-tools/SdTsCompiler.d.ts +1 -0
- package/dist/build-tools/SdTsCompiler.js +355 -327
- package/dist/build-tools/SdTsCompiler.js.map +1 -1
- package/dist/build-tools/SdTsLibBundler.d.ts +1 -1
- package/dist/build-tools/SdTsLibBundler.js +2 -1
- package/dist/build-tools/SdTsLibBundler.js.map +1 -1
- package/dist/builders/SdCliClientBuilder.js +42 -20
- package/dist/builders/SdCliClientBuilder.js.map +1 -1
- package/dist/builders/SdCliServerBuilder.js +2 -1
- package/dist/builders/SdCliServerBuilder.js.map +1 -1
- package/dist/builders/SdCliTsLibBuilder.js +4 -2
- package/dist/builders/SdCliTsLibBuilder.js.map +1 -1
- package/dist/bundle-plugins/sdNgPlugin.d.ts +1 -0
- package/dist/bundle-plugins/sdNgPlugin.js +38 -23
- package/dist/bundle-plugins/sdNgPlugin.js.map +1 -1
- package/dist/bundle-plugins/sdReactPlugin.d.ts +16 -0
- package/dist/bundle-plugins/sdReactPlugin.js +117 -0
- package/dist/bundle-plugins/sdReactPlugin.js.map +1 -0
- package/dist/bundle-plugins/sdServerPlugin.d.ts +1 -0
- package/dist/bundle-plugins/sdServerPlugin.js +1 -0
- package/dist/bundle-plugins/sdServerPlugin.js.map +1 -1
- package/dist/entry/SdCliProject.js +7 -4
- package/dist/entry/SdCliProject.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/SdCliPerformanceTime.d.ts +9 -0
- package/dist/utils/SdCliPerformanceTime.js +40 -0
- package/dist/utils/SdCliPerformanceTime.js.map +1 -0
- package/package.json +13 -10
- package/src/build-tools/SdNgBundler.ts +82 -68
- package/src/build-tools/SdReactBundler.ts +372 -0
- package/src/build-tools/SdReactBundlerContext.ts +71 -0
- package/src/build-tools/SdServerBundler.ts +22 -20
- package/src/build-tools/SdTsCompiler.ts +341 -357
- package/src/build-tools/SdTsLibBundler.ts +2 -1
- package/src/builders/SdCliClientBuilder.ts +53 -29
- package/src/builders/SdCliServerBuilder.ts +5 -4
- package/src/builders/SdCliTsLibBuilder.ts +7 -4
- package/src/bundle-plugins/sdNgPlugin.ts +44 -23
- package/src/bundle-plugins/sdReactPlugin.ts +164 -0
- package/src/bundle-plugins/sdServerPlugin.ts +2 -0
- package/src/entry/SdCliProject.ts +6 -4
- package/src/index.ts +4 -0
- package/src/utils/SdCliPerformanceTime.ts +42 -0
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import esbuild from "esbuild";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { Logger } from "@simplysm/sd-core-node";
|
|
4
|
+
export class SdReactBundlerContext {
|
|
5
|
+
#logger = Logger.get(["simplysm", "sd-cli", "SdReactBundlerContext"]);
|
|
6
|
+
constructor(_pkgPath, _esbuildOptions) {
|
|
7
|
+
this._pkgPath = _pkgPath;
|
|
8
|
+
this._esbuildOptions = _esbuildOptions;
|
|
9
|
+
}
|
|
10
|
+
async bundleAsync() {
|
|
11
|
+
if (this._context == null) {
|
|
12
|
+
this._context = await esbuild.context(this._esbuildOptions);
|
|
13
|
+
}
|
|
14
|
+
let buildResult;
|
|
15
|
+
try {
|
|
16
|
+
this.#debug(`rebuild...`);
|
|
17
|
+
buildResult = await this._context.rebuild();
|
|
18
|
+
this.#debug(`rebuild completed`);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
if ("warnings" in err || "errors" in err) {
|
|
22
|
+
buildResult = err;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
throw err;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
this.#debug(`convert results...`);
|
|
29
|
+
const results = [
|
|
30
|
+
...buildResult.warnings.map((warn) => ({
|
|
31
|
+
filePath: warn.location?.file !== undefined ? path.resolve(this._pkgPath, warn.location.file) : undefined,
|
|
32
|
+
line: warn.location?.line,
|
|
33
|
+
char: warn.location?.column,
|
|
34
|
+
code: warn.text.slice(0, warn.text.indexOf(":")),
|
|
35
|
+
severity: "warning",
|
|
36
|
+
message: `${warn.pluginName ? `(${warn.pluginName}) ` : ""} ${warn.text.slice(warn.text.indexOf(":") + 1)}`,
|
|
37
|
+
type: "build",
|
|
38
|
+
})),
|
|
39
|
+
...buildResult.errors.map((err) => ({
|
|
40
|
+
filePath: err.location?.file !== undefined ? path.resolve(this._pkgPath, err.location.file) : undefined,
|
|
41
|
+
line: err.location?.line,
|
|
42
|
+
char: err.location?.column !== undefined ? err.location.column + 1 : undefined,
|
|
43
|
+
code: err.text.slice(0, err.text.indexOf(":")),
|
|
44
|
+
severity: "error",
|
|
45
|
+
message: `${err.pluginName ? `(${err.pluginName}) ` : ""} ${err.text.slice(err.text.indexOf(":") + 1)}`,
|
|
46
|
+
type: "build",
|
|
47
|
+
})),
|
|
48
|
+
];
|
|
49
|
+
return {
|
|
50
|
+
results,
|
|
51
|
+
outputFiles: buildResult.outputFiles,
|
|
52
|
+
metafile: buildResult.metafile,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
#debug(...msg) {
|
|
56
|
+
this.#logger.debug(`[${path.basename(this._pkgPath)}] (${Object.keys(this._esbuildOptions.entryPoints).join(", ")})`, ...msg);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=SdReactBundlerContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdReactBundlerContext.js","sourceRoot":"","sources":["../../src/build-tools/SdReactBundlerContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export class SdServerBundler {
|
|
|
23
23
|
bundle: true,
|
|
24
24
|
sourcemap: true, //this._opt.dev,
|
|
25
25
|
target: "node18",
|
|
26
|
-
mainFields: [
|
|
26
|
+
mainFields: ["es2020", "es2015", "module", "main"],
|
|
27
27
|
conditions: ["es2020", "es2015", "module"],
|
|
28
28
|
tsconfig: path.resolve(this._opt.pkgPath, "tsconfig.json"),
|
|
29
29
|
write: true,
|
|
@@ -57,7 +57,7 @@ export class SdServerBundler {
|
|
|
57
57
|
".pfx": "file",
|
|
58
58
|
".pkl": "file",
|
|
59
59
|
".mp3": "file",
|
|
60
|
-
".ogg": "file"
|
|
60
|
+
".ogg": "file",
|
|
61
61
|
},
|
|
62
62
|
platform: "node",
|
|
63
63
|
logLevel: "silent",
|
|
@@ -70,16 +70,17 @@ import { createRequire as __createRequire__ } from 'module';
|
|
|
70
70
|
|
|
71
71
|
const require = __createRequire__(import.meta.url);
|
|
72
72
|
const __filename = __fileURLToPath__(import.meta.url);
|
|
73
|
-
const __dirname = __path__.dirname(__filename);`.trim()
|
|
73
|
+
const __dirname = __path__.dirname(__filename);`.trim(),
|
|
74
74
|
},
|
|
75
75
|
plugins: [
|
|
76
76
|
sdServerPlugin({
|
|
77
77
|
modifiedFileSet: this.#modifiedFileSet,
|
|
78
78
|
dev: this._opt.dev,
|
|
79
79
|
pkgPath: this._opt.pkgPath,
|
|
80
|
-
result: this.#resultCache
|
|
80
|
+
result: this.#resultCache,
|
|
81
|
+
watchScopePaths: this._opt.watchScopePaths,
|
|
81
82
|
}),
|
|
82
|
-
]
|
|
83
|
+
],
|
|
83
84
|
});
|
|
84
85
|
}
|
|
85
86
|
let result;
|
|
@@ -116,8 +117,8 @@ const __dirname = __path__.dirname(__filename);`.trim()
|
|
|
116
117
|
code: err.text.slice(0, err.text.indexOf(":")),
|
|
117
118
|
severity: "error",
|
|
118
119
|
message: `(${err.pluginName}) ${err.text.slice(err.text.indexOf(":") + 1)}`,
|
|
119
|
-
}))
|
|
120
|
-
]
|
|
120
|
+
})),
|
|
121
|
+
],
|
|
121
122
|
};
|
|
122
123
|
}
|
|
123
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdServerBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdServerBundler.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"SdServerBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdServerBundler.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAA4B,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAE5F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,eAAe;IACjB,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEzE,QAAQ,CAAwB;IAEhC,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,YAAY,GAA6B,EAAE,CAAC;IAE5C,YACmB,IAMhB;QANgB,SAAI,GAAJ,IAAI,CAMpB;IACA,CAAC;IAEG,cAAc,CAAC,SAAmB;QACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QAMf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACpC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;gBAClC,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,EAAE,gBAAgB;gBACjC,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAClD,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;gBAC1D,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAC/C,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBACjD,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,MAAM;iBACf;gBACD,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5B,MAAM,EAAE;oBACN,EAAE,EAAE;;;;;;;gDAOkC,CAAC,IAAI,EAAE;iBAC9C;gBACD,OAAO,EAAE;oBACP,cAAc,CAAC;wBACb,eAAe,EAAE,IAAI,CAAC,gBAAgB;wBACtC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;wBAClB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;wBAC1B,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;qBAC3C,CAAC;iBACH;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAkD,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAQ;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAa;YAC7C,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,eAAgB;YACnD,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChC,IAAI,EAAE,OAAgB;oBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC1F,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI;oBACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChD,QAAQ,EAAE,SAAkB;oBAC5B,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;iBAC/E,CAAC,CAAC;gBACH,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI,EAAE,OAAgB;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxF,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;oBACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC9E,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC9C,QAAQ,EAAE,OAAgB;oBAC1B,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;iBAC5E,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;CACF"}
|