@simplysm/sd-cli 12.5.60 → 12.6.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.
- package/dist/entry/SdCliElectron.js +5 -5
- package/dist/entry/SdCliElectron.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.js +11 -7
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.js.map +1 -1
- package/dist/pkg-builders/client/SdNgBundler.js.map +1 -1
- package/dist/pkg-builders/client/SdNgBundlerContext.d.ts +9 -1
- package/dist/pkg-builders/client/SdNgBundlerContext.js +2 -1
- package/dist/pkg-builders/client/SdNgBundlerContext.js.map +1 -1
- package/dist/pkg-builders/client/createSdNgPlugin.js +1 -1
- package/dist/pkg-builders/client/createSdNgPlugin.js.map +1 -1
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.js +1 -1
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.js.map +1 -1
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.d.ts +1 -1
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.js +18 -20
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.js.map +1 -1
- package/dist/pkg-builders/lib/SdTsLibBuilder.js +1 -1
- package/dist/pkg-builders/lib/SdTsLibBuilder.js.map +1 -1
- package/dist/ts-builder/SdTsCompiler.js +110 -40
- package/dist/ts-builder/SdTsCompiler.js.map +1 -1
- package/dist/types/sd-configs.type.d.ts +1 -0
- package/dist/types/ts-compiler.type.d.ts +1 -1
- package/dist/types/workers.type.d.ts +0 -28
- package/package.json +11 -11
- package/src/entry/SdCliElectron.ts +7 -7
- package/src/index.ts +0 -1
- package/src/pkg-builders/client/SdCliNgRoutesFileGenerator.ts +13 -8
- package/src/pkg-builders/client/SdNgBundler.ts +3 -3
- package/src/pkg-builders/client/SdNgBundlerContext.ts +19 -5
- package/src/pkg-builders/client/createSdNgPlugin.ts +1 -1
- package/src/pkg-builders/lib/SdCliIndexFileGenerator.ts +1 -1
- package/src/pkg-builders/lib/SdJsLibBuildRunner.ts +23 -22
- package/src/pkg-builders/lib/SdTsLibBuilder.ts +1 -1
- package/src/ts-builder/SdTsCompiler.ts +157 -72
- package/src/types/sd-configs.type.ts +1 -0
- package/src/types/ts-compiler.type.ts +1 -1
- package/src/types/workers.type.ts +13 -17
- package/dist/workers/lint-worker.d.ts +0 -1
- package/dist/workers/lint-worker.js +0 -36
- package/dist/workers/lint-worker.js.map +0 -1
- package/src/workers/lint-worker.ts +0 -44
|
@@ -600,9 +600,9 @@ export class SdNgBundler {
|
|
|
600
600
|
// resolveDir: this._opt.pkgPath
|
|
601
601
|
// }),
|
|
602
602
|
// }) as esbuild.Plugin,
|
|
603
|
-
pluginFactory.create(SassStylesheetLanguage)
|
|
604
|
-
pluginFactory.create(CssStylesheetLanguage)
|
|
605
|
-
createCssResourcePlugin(this.#styleLoadResultCache)
|
|
603
|
+
pluginFactory.create(SassStylesheetLanguage),
|
|
604
|
+
pluginFactory.create(CssStylesheetLanguage),
|
|
605
|
+
createCssResourcePlugin(this.#styleLoadResultCache),
|
|
606
606
|
],
|
|
607
607
|
});
|
|
608
608
|
}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import esbuild from "esbuild";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { Logger } from "@simplysm/sd-core-node";
|
|
4
|
-
import { InitialFileRecord } from "@angular/build/src/tools/esbuild/bundler-context";
|
|
5
4
|
import { SdCliConvertMessageUtil } from "../../utils/SdCliConvertMessageUtil";
|
|
6
5
|
|
|
6
|
+
// import { InitialFileRecord } from "@angular/build/src/tools/esbuild/bundler-context";
|
|
7
|
+
|
|
8
|
+
interface InitialFileRecord {
|
|
9
|
+
entrypoint: boolean;
|
|
10
|
+
name?: string;
|
|
11
|
+
type: 'script' | 'style';
|
|
12
|
+
external?: boolean;
|
|
13
|
+
serverFile: boolean;
|
|
14
|
+
depth: number;
|
|
15
|
+
}
|
|
16
|
+
|
|
7
17
|
export class SdNgBundlerContext {
|
|
8
18
|
readonly #logger = Logger.get(["simplysm", "sd-cli", "SdNgBundlerContext"]);
|
|
9
19
|
|
|
@@ -12,7 +22,8 @@ export class SdNgBundlerContext {
|
|
|
12
22
|
public constructor(
|
|
13
23
|
private readonly _pkgPath: string,
|
|
14
24
|
private readonly _esbuildOptions: esbuild.BuildOptions,
|
|
15
|
-
) {
|
|
25
|
+
) {
|
|
26
|
+
}
|
|
16
27
|
|
|
17
28
|
public async bundleAsync() {
|
|
18
29
|
if (this._context == null) {
|
|
@@ -25,10 +36,12 @@ export class SdNgBundlerContext {
|
|
|
25
36
|
this.#debug(`rebuild...`);
|
|
26
37
|
esbuildResult = await this._context.rebuild();
|
|
27
38
|
this.#debug(`rebuild completed`);
|
|
28
|
-
}
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
29
41
|
if ("warnings" in err || "errors" in err) {
|
|
30
42
|
esbuildResult = err;
|
|
31
|
-
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
32
45
|
throw err;
|
|
33
46
|
}
|
|
34
47
|
}
|
|
@@ -104,7 +117,8 @@ export class SdNgBundlerContext {
|
|
|
104
117
|
|
|
105
118
|
#debug(...msg: any[]): void {
|
|
106
119
|
this.#logger.debug(
|
|
107
|
-
`[${path.basename(this._pkgPath)}] (${Object.keys(this._esbuildOptions.entryPoints as Record<string, any>)
|
|
120
|
+
`[${path.basename(this._pkgPath)}] (${Object.keys(this._esbuildOptions.entryPoints as Record<string, any>)
|
|
121
|
+
.join(", ")})`,
|
|
108
122
|
...msg,
|
|
109
123
|
);
|
|
110
124
|
}
|
|
@@ -243,7 +243,7 @@ export function createSdNgPlugin(conf: {
|
|
|
243
243
|
|
|
244
244
|
for (const { outputFiles, metafile } of tsCompileResult.stylesheetBundlingResultMap.values()) {
|
|
245
245
|
result.outputFiles ??= [];
|
|
246
|
-
result.outputFiles.push(...outputFiles);
|
|
246
|
+
result.outputFiles.push(...outputFiles ?? []);
|
|
247
247
|
|
|
248
248
|
if (result.metafile && metafile) {
|
|
249
249
|
result.metafile.inputs = { ...result.metafile.inputs, ...metafile.inputs };
|
|
@@ -53,7 +53,7 @@ export class SdCliIndexFileGenerator {
|
|
|
53
53
|
const tsconfig = FsUtil.readJson(path.resolve(pkgPath, "tsconfig.json"));
|
|
54
54
|
const entryFilePaths: string[] = tsconfig.files?.map((item) => path.resolve(pkgPath, item)) ?? [];
|
|
55
55
|
|
|
56
|
-
return FsUtil.glob(path.resolve(pkgPath, "src/**/*{.ts,.tsx}"), { nodir: true }).filter(
|
|
56
|
+
return FsUtil.glob(path.resolve(pkgPath, "src/**/*{.ts,.tsx}"), { nodir: true, ignore: tsconfig.excludes }).filter(
|
|
57
57
|
(item) => !entryFilePaths.includes(item) && item !== indexFilePath && !item.endsWith(".d.ts"),
|
|
58
58
|
);
|
|
59
59
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { FsUtil, Logger, PathUtil, SdFsWatcher
|
|
1
|
+
import { FsUtil, Logger, PathUtil, SdFsWatcher } from "@simplysm/sd-core-node";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { EventEmitter } from "events";
|
|
4
4
|
import { SdCliConvertMessageUtil } from "../../utils/SdCliConvertMessageUtil";
|
|
5
|
-
import { TSdLintWorkerType } from "../../types/workers.type";
|
|
5
|
+
// import { TSdLintWorkerType } from "../../types/workers.type";
|
|
6
6
|
import { ISdProjectConfig } from "../../types/sd-configs.type";
|
|
7
7
|
import { ISdBuildRunnerResult } from "../../types/build.type";
|
|
8
|
+
import { ESLint } from "eslint";
|
|
8
9
|
|
|
9
10
|
export class SdJsLibBuildRunner extends EventEmitter {
|
|
10
11
|
private readonly _logger = Logger.get(["simplysm", "sd-cli", "SdJsLibBuildRunner"]);
|
|
11
12
|
private readonly _pkgName: string;
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
// private readonly _lintWorker: SdWorker<TSdLintWorkerType>;
|
|
13
15
|
|
|
14
16
|
public constructor(
|
|
15
17
|
private readonly _projConf: ISdProjectConfig,
|
|
@@ -18,7 +20,7 @@ export class SdJsLibBuildRunner extends EventEmitter {
|
|
|
18
20
|
super();
|
|
19
21
|
this._pkgName = path.basename(_pkgPath);
|
|
20
22
|
|
|
21
|
-
this._lintWorker = new SdWorker(import.meta.resolve("../../workers/lint-worker"));
|
|
23
|
+
// this._lintWorker = new SdWorker(import.meta.resolve("../../workers/lint-worker"));
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
public override on(event: "change", listener: () => void): this;
|
|
@@ -33,12 +35,7 @@ export class SdJsLibBuildRunner extends EventEmitter {
|
|
|
33
35
|
const srcGlobPath = path.resolve(this._pkgPath, "src/**/*.js");
|
|
34
36
|
const srcFilePaths = FsUtil.glob(srcGlobPath);
|
|
35
37
|
|
|
36
|
-
const lintResults = await this
|
|
37
|
-
{
|
|
38
|
-
cwd: this._pkgPath,
|
|
39
|
-
fileSet: new Set(srcFilePaths),
|
|
40
|
-
},
|
|
41
|
-
]);
|
|
38
|
+
const lintResults = await this.#lintAsync(new Set(srcFilePaths));
|
|
42
39
|
const messages = SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults);
|
|
43
40
|
|
|
44
41
|
this._debug(`LINT 완료`);
|
|
@@ -55,12 +52,7 @@ export class SdJsLibBuildRunner extends EventEmitter {
|
|
|
55
52
|
const srcGlobPath = path.resolve(this._pkgPath, "src/**/*.js");
|
|
56
53
|
const srcFilePaths = FsUtil.glob(srcGlobPath);
|
|
57
54
|
|
|
58
|
-
const lintResults = await this
|
|
59
|
-
{
|
|
60
|
-
cwd: this._pkgPath,
|
|
61
|
-
fileSet: new Set(srcFilePaths),
|
|
62
|
-
},
|
|
63
|
-
]);
|
|
55
|
+
const lintResults = await this.#lintAsync(new Set(srcFilePaths));
|
|
64
56
|
const messages = SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults);
|
|
65
57
|
|
|
66
58
|
this._debug(`LINT 완료`);
|
|
@@ -79,12 +71,7 @@ export class SdJsLibBuildRunner extends EventEmitter {
|
|
|
79
71
|
|
|
80
72
|
this._debug("LINT...");
|
|
81
73
|
|
|
82
|
-
const watchLintResults = await this
|
|
83
|
-
{
|
|
84
|
-
cwd: this._pkgPath,
|
|
85
|
-
fileSet: new Set(watchFilePaths),
|
|
86
|
-
},
|
|
87
|
-
]);
|
|
74
|
+
const watchLintResults = await this.#lintAsync(new Set(watchFilePaths));
|
|
88
75
|
const watchMessages = SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(watchLintResults);
|
|
89
76
|
|
|
90
77
|
this._debug(`LINT 완료`);
|
|
@@ -99,6 +86,20 @@ export class SdJsLibBuildRunner extends EventEmitter {
|
|
|
99
86
|
});
|
|
100
87
|
}
|
|
101
88
|
|
|
89
|
+
async #lintAsync(fileSet: Set<string>) {
|
|
90
|
+
const lintFilePaths = Array.from(fileSet)
|
|
91
|
+
.filter((item) => PathUtil.isChildPath(item, this._pkgPath))
|
|
92
|
+
.filter((item) => item.endsWith(".js"))
|
|
93
|
+
.filter((item) => FsUtil.exists(item));
|
|
94
|
+
|
|
95
|
+
if (lintFilePaths.length === 0) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const linter = new ESLint({ cwd: this._pkgPath, cache: false });
|
|
100
|
+
return await linter.lintFiles(lintFilePaths);
|
|
101
|
+
}
|
|
102
|
+
|
|
102
103
|
private _debug(msg: string): void {
|
|
103
104
|
this._logger.debug(`[${this._pkgName}] ${msg}`);
|
|
104
105
|
}
|
|
@@ -44,7 +44,7 @@ export class SdTsLibBuilder {
|
|
|
44
44
|
|
|
45
45
|
const globalStylesheetBundlingResult = tsCompileResult.stylesheetBundlingResultMap.get(emitFile);
|
|
46
46
|
if (globalStylesheetBundlingResult) {
|
|
47
|
-
for (const outputFile of globalStylesheetBundlingResult.outputFiles) {
|
|
47
|
+
for (const outputFile of globalStylesheetBundlingResult.outputFiles ?? []) {
|
|
48
48
|
const distPath = PathUtil.norm(this._pkgPath, "dist", path.relative(this._pkgPath, outputFile.path));
|
|
49
49
|
if (PathUtil.isChildPath(distPath, path.resolve(this._pkgPath, "dist"))) {
|
|
50
50
|
FsUtil.writeFile(distPath, outputFile.text);
|