@simplysm/sd-cli 10.0.47 → 10.0.50
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/builders/SdCliClientBuilder.js +8 -3
- package/dist/builders/SdCliClientBuilder.js.map +1 -1
- package/dist/commons.d.ts +4 -1
- package/dist/entry/SdCliElectron.js +2 -2
- package/dist/entry/SdCliElectron.js.map +1 -1
- package/dist/entry/SdCliLocalUpdate.d.ts +12 -0
- package/dist/entry/SdCliLocalUpdate.js +91 -0
- package/dist/entry/SdCliLocalUpdate.js.map +1 -0
- package/dist/entry/SdCliProject.js +26 -18
- package/dist/entry/SdCliProject.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/sd-cli.js +20 -1
- package/dist/sd-cli.js.map +1 -1
- package/dist/utils/SdCliViteElectronMainPlugin.js +0 -2
- package/dist/utils/SdCliViteElectronMainPlugin.js.map +1 -1
- package/dist/utils/SdCliViteExternalPlugin.d.ts +0 -2
- package/dist/utils/SdCliViteExternalPlugin.js +1 -17
- package/dist/utils/SdCliViteExternalPlugin.js.map +1 -1
- package/dist/utils/SdCliViteReactSwcPlugin.js +1 -1
- package/dist/utils/SdCliViteReactSwcPlugin.js.map +1 -1
- package/dist/utils/SdCliViteServeOptimizeExcludePlugin.d.ts +2 -0
- package/dist/utils/SdCliViteServeOptimizeExcludePlugin.js +36 -0
- package/dist/utils/SdCliViteServeOptimizeExcludePlugin.js.map +1 -0
- package/package.json +5 -5
- package/src/builders/SdCliClientBuilder.ts +10 -4
- package/src/commons.ts +4 -1
- package/src/entry/SdCliElectron.ts +2 -2
- package/src/entry/SdCliLocalUpdate.ts +127 -0
- package/src/entry/SdCliProject.ts +27 -18
- package/src/index.ts +2 -0
- package/src/sd-cli.ts +24 -1
- package/src/utils/SdCliViteElectronMainPlugin.ts +89 -91
- package/src/utils/SdCliViteExternalPlugin.ts +78 -97
- package/src/utils/SdCliViteReactSwcPlugin.ts +6 -6
- package/src/utils/SdCliViteServeOptimizeExcludePlugin.ts +42 -0
package/dist/sd-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-cli.js","sourceRoot":"","sources":["../src/sd-cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sd-cli.js","sourceRoot":"","sources":["../src/sd-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,6 @@ export const SdCliViteElectronMainPlugin = (opt) => {
|
|
|
38
38
|
SdCliViteExternalPlugin({
|
|
39
39
|
target: "node",
|
|
40
40
|
cachePath: path.resolve(opt.cachePath, "externals"),
|
|
41
|
-
nodeBuiltinModules: true,
|
|
42
41
|
includes: ["electron"]
|
|
43
42
|
}),
|
|
44
43
|
{
|
|
@@ -83,7 +82,6 @@ export const SdCliViteElectronMainPlugin = (opt) => {
|
|
|
83
82
|
SdCliViteExternalPlugin({
|
|
84
83
|
target: "node",
|
|
85
84
|
cachePath: path.resolve(opt.cachePath, "externals"),
|
|
86
|
-
nodeBuiltinModules: true,
|
|
87
85
|
includes: ["electron"]
|
|
88
86
|
}),
|
|
89
87
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdCliViteElectronMainPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteElectronMainPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,YAAY,EAA2B,MAAM,MAAM,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAE9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAI3C,EAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"SdCliViteElectronMainPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteElectronMainPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,15 +14,6 @@ export const SdCliViteExternalPlugin = (opt) => {
|
|
|
14
14
|
opt.target === "node" ? {
|
|
15
15
|
name: "sd-cli:vite:external",
|
|
16
16
|
enforce: "pre",
|
|
17
|
-
config: (conf) => {
|
|
18
|
-
if (opt.dependencies) {
|
|
19
|
-
const npmConfigPath = FsUtil.findAllParentChildPaths("package.json", conf.root ?? opt.cachePath).first();
|
|
20
|
-
const npmConfig = FsUtil.readJson(npmConfigPath);
|
|
21
|
-
if (npmConfig.dependencies) {
|
|
22
|
-
externals.push(...Object.keys(npmConfig.dependencies));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
17
|
resolveId: (source, importer) => {
|
|
27
18
|
if (importer === undefined)
|
|
28
19
|
return;
|
|
@@ -43,14 +34,7 @@ export const SdCliViteExternalPlugin = (opt) => {
|
|
|
43
34
|
} : {
|
|
44
35
|
name: "sd-cli:vite:external",
|
|
45
36
|
enforce: "pre",
|
|
46
|
-
config: (
|
|
47
|
-
if (opt.dependencies) {
|
|
48
|
-
const npmConfigPath = FsUtil.findAllParentChildPaths("package.json", conf.root ?? opt.cachePath).first();
|
|
49
|
-
const npmConfig = FsUtil.readJson(npmConfigPath);
|
|
50
|
-
if (npmConfig.dependencies) {
|
|
51
|
-
externals.push(...Object.keys(npmConfig.dependencies));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
37
|
+
config: () => {
|
|
54
38
|
async function _getSnippetsAsync(moduleName, importer) {
|
|
55
39
|
const myRequire = createRequire(pathToFileURL(importer ?? process.cwd()).toString());
|
|
56
40
|
let realModuleName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdCliViteExternalPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteExternalPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"SdCliViteExternalPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteExternalPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdCliViteReactSwcPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteReactSwcPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAuB,SAAS,GAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAmB,EAAE;IAC1D,OAAO;QACL;YACE,IAAI,EAAE,uCAAuC;YAC7C,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;gBACX,IAAI,EAAE,KAAK,iBAAiB;oBAAE,OAAO;gBACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0DAA0D,CAAC,CAAC,CAAC;YAClH,CAAC;SACF;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE;oBACZ,OAAO,EAAE,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SdCliViteReactSwcPlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteReactSwcPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { FsUtil } from "@simplysm/sd-core-node";
|
|
3
|
+
export const SdCliViteServeOptimizeExcludePlugin = (moduleGlobs) => {
|
|
4
|
+
return [{
|
|
5
|
+
name: "sd-cli:vite:serve-optimize-exclude",
|
|
6
|
+
apply: "serve",
|
|
7
|
+
enforce: "pre",
|
|
8
|
+
config: (conf) => {
|
|
9
|
+
const pkgPath = path.resolve(conf.root, "..");
|
|
10
|
+
const pkgNpmConf = FsUtil.readJson(path.resolve(pkgPath, "package.json"));
|
|
11
|
+
const pkgDeps = Object.keys(pkgNpmConf.dependencies ?? {});
|
|
12
|
+
const modulePaths = moduleGlobs.mapMany(item => FsUtil.glob(path.resolve(process.cwd(), "node_modules", item))).distinct();
|
|
13
|
+
const moduleNames = modulePaths.map(item => item.match(/[\\\/]node_modules[\\\/](.*)/)[1].replace(/\\/g, "/"))
|
|
14
|
+
.filter(item => pkgDeps.includes(item))
|
|
15
|
+
.distinct();
|
|
16
|
+
const subDeps = [];
|
|
17
|
+
for (const moduleName of moduleNames) {
|
|
18
|
+
const moduleNpmConf = FsUtil.readJson(path.resolve(process.cwd(), "node_modules", moduleName, "package.json"));
|
|
19
|
+
const depNames = Object.keys(moduleNpmConf.dependencies ?? {});
|
|
20
|
+
subDeps.push(...depNames.filter(item => !moduleNames.includes(item)));
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
server: {
|
|
24
|
+
watch: {
|
|
25
|
+
ignored: moduleNames.map(item => `!**/node_modules/${item}/**`)
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
optimizeDeps: {
|
|
29
|
+
exclude: moduleNames,
|
|
30
|
+
include: subDeps
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}];
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=SdCliViteServeOptimizeExcludePlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdCliViteServeOptimizeExcludePlugin.js","sourceRoot":"","sources":["../../src/utils/SdCliViteServeOptimizeExcludePlugin.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAG9C,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,WAAqB,EAAkB,EAAE;IAC3F,OAAO,CAAC;YACN,IAAI,EAAE,oCAAoC;YAC1C,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;gBAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAe,CAAC;gBACxF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;gBAE3D,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3H,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;qBAC5G,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBACtC,QAAQ,EAAE,CAAC;gBAEd,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBACpC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAAe,CAAC;oBAC7H,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;oBAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACvE;gBAED,OAAO;oBACL,MAAM,EAAE;wBACN,KAAK,EAAE;4BACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,IAAI,KAAK,CAAC;yBAChE;qBACF;oBACD,YAAY,EAAE;wBACZ,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,OAAO;qBACjB;iBACF,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.50",
|
|
4
4
|
"description": "심플리즘 패키지 - CLI",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"repository": {
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@electron/rebuild": "^3.3.0",
|
|
21
21
|
"@rollup/plugin-inject": "^5.0.3",
|
|
22
|
-
"@simplysm/sd-core-common": "10.0.
|
|
23
|
-
"@simplysm/sd-core-node": "10.0.
|
|
24
|
-
"@simplysm/sd-service-server": "10.0.
|
|
25
|
-
"@simplysm/sd-storage": "10.0.
|
|
22
|
+
"@simplysm/sd-core-common": "10.0.50",
|
|
23
|
+
"@simplysm/sd-core-node": "10.0.50",
|
|
24
|
+
"@simplysm/sd-service-server": "10.0.50",
|
|
25
|
+
"@simplysm/sd-storage": "10.0.50",
|
|
26
26
|
"@swc/core": "^1.3.84",
|
|
27
27
|
"@vitejs/plugin-react-swc": "^3.3.2",
|
|
28
28
|
"electron": "^26.2.1",
|
|
@@ -10,12 +10,13 @@ import {SdTsIncrementalBuilder} from "../build-tools/SdTsIncrementalBuilder";
|
|
|
10
10
|
import {SdLinter} from "../build-tools/SdLinter";
|
|
11
11
|
import {VitePWA} from 'vite-plugin-pwa';
|
|
12
12
|
import {SdCliViteNodeGlobalPlugin} from "../utils/SdCliViteNodeGlobalPlugin";
|
|
13
|
-
import {SdCliViteServeWithResolutionsPlugin} from "../utils/SdCliViteWatchWithResolutionsPlugin";
|
|
14
13
|
import {SdCliViteLoggerPlugin} from "../utils/SdCliViteLoggerPlugin";
|
|
15
14
|
import {SdCliViteReactSwcPlugin} from "../utils/SdCliViteReactSwcPlugin";
|
|
16
15
|
import {SdCliViteExternalPlugin} from "../utils/SdCliViteExternalPlugin";
|
|
17
16
|
import {SdCliViteElectronMainPlugin} from "../utils/SdCliViteElectronMainPlugin";
|
|
18
17
|
import electronBuilder from "electron-builder";
|
|
18
|
+
import {SdCliViteServeOptimizeExcludePlugin} from "../utils/SdCliViteServeOptimizeExcludePlugin";
|
|
19
|
+
import {SdCliViteServeWithResolutionsPlugin} from "../utils/SdCliViteWatchWithResolutionsPlugin";
|
|
19
20
|
|
|
20
21
|
export class SdCliClientBuilder extends EventEmitter {
|
|
21
22
|
private readonly _logger = Logger.get(["simplysm", "sd-cli", "SdCliClientBuilder"]);
|
|
@@ -116,7 +117,8 @@ export class SdCliClientBuilder extends EventEmitter {
|
|
|
116
117
|
cachePath: cachePath,
|
|
117
118
|
distPath: distPath,
|
|
118
119
|
}));
|
|
119
|
-
}
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
120
122
|
if ("errors" in err && err.errors instanceof Array) {
|
|
121
123
|
buildResults.push(...err.errors.map((item: any) => ({
|
|
122
124
|
filePath: item.location.file,
|
|
@@ -288,7 +290,7 @@ export class SdCliClientBuilder extends EventEmitter {
|
|
|
288
290
|
host: serverHost,
|
|
289
291
|
port: opt.port
|
|
290
292
|
}
|
|
291
|
-
}
|
|
293
|
+
},
|
|
292
294
|
} : {},
|
|
293
295
|
...!opt.dev ? {
|
|
294
296
|
build: {
|
|
@@ -312,6 +314,11 @@ export class SdCliClientBuilder extends EventEmitter {
|
|
|
312
314
|
...opt.dev ? [
|
|
313
315
|
SdCliViteServeWithResolutionsPlugin(),
|
|
314
316
|
] : [],
|
|
317
|
+
...opt.dev ? [
|
|
318
|
+
SdCliViteServeOptimizeExcludePlugin([
|
|
319
|
+
"@simplysm/*"
|
|
320
|
+
])
|
|
321
|
+
] : [],
|
|
315
322
|
...!opt.dev && this._builderKey === "web" ? [
|
|
316
323
|
VitePWA({registerType: 'autoUpdate'}),
|
|
317
324
|
] : [],
|
|
@@ -327,7 +334,6 @@ export class SdCliClientBuilder extends EventEmitter {
|
|
|
327
334
|
SdCliViteExternalPlugin({
|
|
328
335
|
target: "browser",
|
|
329
336
|
cachePath: path.resolve(opt.cachePath, "external"),
|
|
330
|
-
nodeBuiltinModules: true,
|
|
331
337
|
includes: opt.pkgConf.builder?.electron?.reinstallDependencies
|
|
332
338
|
})
|
|
333
339
|
] : [],
|
package/src/commons.ts
CHANGED
|
@@ -47,7 +47,10 @@ export interface ISdCliPackageBuildResult {
|
|
|
47
47
|
type: "build" | "lint" | "style" | undefined;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
export type TSdCliConfig =
|
|
50
|
+
export type TSdCliConfig = {
|
|
51
|
+
packages: Record<string, TSdCliPackageConfig | undefined>;
|
|
52
|
+
localUpdates?: Record<string, string>;
|
|
53
|
+
};
|
|
51
54
|
export type TSdCliConfigFn = (isDev: boolean, opts?: string[]) => TSdCliConfig;
|
|
52
55
|
|
|
53
56
|
export type TSdCliPackageConfig = ISdCliLibPackageConfig | ISdCliServerPackageConfig | ISdCliClientPackageConfig;
|
|
@@ -17,7 +17,7 @@ export class SdCliElectron {
|
|
|
17
17
|
|
|
18
18
|
logger.log("설정 가져오기...");
|
|
19
19
|
const projConf = (await import(pathToFileURL(path.resolve(process.cwd(), opt.confFileRelPath)).href)).default(true, opt.optNames) as TSdCliConfig;
|
|
20
|
-
const pkgConf = projConf[opt.pkgName];
|
|
20
|
+
const pkgConf = projConf.packages[opt.pkgName];
|
|
21
21
|
if (pkgConf?.type !== "client" || pkgConf.builder?.electron === undefined) {
|
|
22
22
|
throw new Error();
|
|
23
23
|
}
|
|
@@ -67,7 +67,7 @@ export class SdCliElectron {
|
|
|
67
67
|
|
|
68
68
|
logger.log("설정 가져오기...");
|
|
69
69
|
const projConf = (await import(pathToFileURL(path.resolve(process.cwd(), opt.confFileRelPath)).href)).default(true, opt.optNames) as TSdCliConfig;
|
|
70
|
-
const pkgConf = projConf[opt.pkgName];
|
|
70
|
+
const pkgConf = projConf.packages[opt.pkgName];
|
|
71
71
|
if (pkgConf?.type !== "client" || pkgConf.builder?.electron === undefined) {
|
|
72
72
|
throw new Error();
|
|
73
73
|
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import {FsUtil, Logger, PathUtil, SdFsWatcher} from "@simplysm/sd-core-node";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import {pathToFileURL} from "url";
|
|
4
|
+
import {TSdCliConfig} from "../commons";
|
|
5
|
+
|
|
6
|
+
export class SdCliLocalUpdate {
|
|
7
|
+
public static async runAsync(opt: {
|
|
8
|
+
confFileRelPath: string;
|
|
9
|
+
optNames: string[];
|
|
10
|
+
}): Promise<void> {
|
|
11
|
+
const logger = Logger.get(["simplysm", "sd-cli", "SdCliLocalUpdate", "runAsync"]);
|
|
12
|
+
|
|
13
|
+
logger.debug("프로젝트 설정 가져오기...");
|
|
14
|
+
const projConf = (await import(pathToFileURL(path.resolve(process.cwd(), opt.confFileRelPath)).href)).default(true, opt.optNames) as TSdCliConfig;
|
|
15
|
+
if (!projConf.localUpdates) return;
|
|
16
|
+
|
|
17
|
+
const updatePathInfos = await this._getUpdatePathInfosAsync(projConf.localUpdates);
|
|
18
|
+
logger.debug("로컬 업데이트 구성", updatePathInfos);
|
|
19
|
+
|
|
20
|
+
logger.log("로컬 라이브러리 업데이트 시작...");
|
|
21
|
+
for (const updatePathInfo of updatePathInfos) {
|
|
22
|
+
if (!FsUtil.exists(updatePathInfo.source)) {
|
|
23
|
+
logger.warn(`소스경로를 찾을 수 없어 무시됩니다(${updatePathInfo.source})`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 소스경로에서 대상경로로 파일 복사
|
|
28
|
+
await FsUtil.copyAsync(updatePathInfo.source, updatePathInfo.target, (src) => {
|
|
29
|
+
return !src.includes("node_modules") && !src.endsWith("package.json");
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
logger.info("로컬 라이브러리 업데이트 완료");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public static async watchAsync(opt: {
|
|
36
|
+
confFileRelPath: string;
|
|
37
|
+
optNames: string[];
|
|
38
|
+
}): Promise<void> {
|
|
39
|
+
const logger = Logger.get(["simplysm", "sd-cli", "SdCliLocalUpdate", "watchAsync"]);
|
|
40
|
+
|
|
41
|
+
logger.debug("프로젝트 설정 가져오기...");
|
|
42
|
+
const projConf = (await import(pathToFileURL(path.resolve(process.cwd(), opt.confFileRelPath)).href)).default(true, opt.optNames) as TSdCliConfig;
|
|
43
|
+
if (!projConf.localUpdates) return;
|
|
44
|
+
|
|
45
|
+
const updatePathInfos = await this._getUpdatePathInfosAsync(projConf.localUpdates);
|
|
46
|
+
logger.debug("로컬 업데이트 구성");
|
|
47
|
+
|
|
48
|
+
const watchPaths = (await updatePathInfos.mapManyAsync(async (item) => await this._getWatchPathsAsync(item.source))).distinct();
|
|
49
|
+
|
|
50
|
+
const watcher = SdFsWatcher.watch(watchPaths);
|
|
51
|
+
watcher.onChange({delay: 1000}, async (changedInfos) => {
|
|
52
|
+
const changeFilePaths = changedInfos.filter((item) => ["add", "change", "unlink"].includes(item.event)).map((item) => item.path);
|
|
53
|
+
if (changeFilePaths.length === 0) return;
|
|
54
|
+
|
|
55
|
+
logger.log("로컬 라이브러리 변경감지...");
|
|
56
|
+
for (const changedFilePath of changeFilePaths) {
|
|
57
|
+
if (!FsUtil.exists(changedFilePath)) continue;
|
|
58
|
+
|
|
59
|
+
for (const updatePathInfo of updatePathInfos) {
|
|
60
|
+
if (!PathUtil.isChildPath(changedFilePath, updatePathInfo.source)) continue;
|
|
61
|
+
|
|
62
|
+
const sourceRelPath = path.relative(updatePathInfo.source, changedFilePath);
|
|
63
|
+
// if (sourceRelPath.includes("node_modules")) continue;
|
|
64
|
+
// if (sourceRelPath.includes("package.json")) continue;
|
|
65
|
+
|
|
66
|
+
const targetFilePath = path.resolve(updatePathInfo.target, sourceRelPath);
|
|
67
|
+
|
|
68
|
+
logger.debug(`변경파일감지(복사): ${changedFilePath} => ${targetFilePath}`);
|
|
69
|
+
await FsUtil.copyAsync(changedFilePath, targetFilePath);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const watchWatchPaths = (await updatePathInfos.mapManyAsync(async (item) => await this._getWatchPathsAsync(item.source))).distinct();
|
|
74
|
+
watcher.add(watchWatchPaths);
|
|
75
|
+
|
|
76
|
+
logger.info("로컬 라이브러리 복사 완료");
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private static async _getUpdatePathInfosAsync(record: Record<string, string>): Promise<IUpdatePathInfo[]> {
|
|
81
|
+
const result: IUpdatePathInfo[] = [];
|
|
82
|
+
for (const pkgGlobPath of Object.keys(record)) {
|
|
83
|
+
// "node_modules'에서 로컬업데이트 설정에 맞는 패키지를 "glob"하여 대상 패키지경로 목록 가져오기
|
|
84
|
+
const targetPaths = [
|
|
85
|
+
...await FsUtil.globAsync(path.resolve(process.cwd(), "node_modules", pkgGlobPath)),
|
|
86
|
+
...await FsUtil.globAsync(path.resolve(process.cwd(), "packages", "*", "node_modules", pkgGlobPath))
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
result.push(
|
|
90
|
+
...targetPaths
|
|
91
|
+
.map((targetPath) => {
|
|
92
|
+
// 대상의 명칭 추출
|
|
93
|
+
const regexpText = pkgGlobPath.replace(/[\\/.*]/g, (item) => (
|
|
94
|
+
item === "/" ? "[\\\\\\/]"
|
|
95
|
+
: item === "." ? "\\."
|
|
96
|
+
: item === "*" ? "(.*)"
|
|
97
|
+
: item
|
|
98
|
+
));
|
|
99
|
+
const targetNameMatch = new RegExp(regexpText).exec(targetPath);
|
|
100
|
+
if (!targetNameMatch || typeof targetNameMatch[1] === "undefined") return undefined;
|
|
101
|
+
const targetName = targetNameMatch[1];
|
|
102
|
+
|
|
103
|
+
// 가져올 소스 경로 추출
|
|
104
|
+
const sourcePath = path.resolve(record[pkgGlobPath].replace(/\*/g, targetName));
|
|
105
|
+
return {source: sourcePath, target: targetPath};
|
|
106
|
+
})
|
|
107
|
+
.filterExists()
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
private static async _getWatchPathsAsync(sourcePath: string): Promise<string[]> {
|
|
115
|
+
return await FsUtil.globAsync(path.resolve(sourcePath, "**"), /*{
|
|
116
|
+
ignore: [
|
|
117
|
+
"**!/node_modules/!**",
|
|
118
|
+
"**!/package.json"
|
|
119
|
+
]
|
|
120
|
+
}*/);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
interface IUpdatePathInfo {
|
|
125
|
+
source: string;
|
|
126
|
+
target: string;
|
|
127
|
+
}
|
|
@@ -16,6 +16,7 @@ import semver from "semver";
|
|
|
16
16
|
import {NotImplementError, StringUtil, Wait} from "@simplysm/sd-core-common";
|
|
17
17
|
import {SdCliIndexFileGenerator} from "../build-tools/SdCliIndexFileGenerator";
|
|
18
18
|
import {SdStorage} from "@simplysm/sd-storage";
|
|
19
|
+
import {SdCliLocalUpdate} from "./SdCliLocalUpdate";
|
|
19
20
|
|
|
20
21
|
export class SdCliProject {
|
|
21
22
|
public static async watchAsync(opt: {
|
|
@@ -29,6 +30,14 @@ export class SdCliProject {
|
|
|
29
30
|
logger.debug("프로젝트 설정 가져오기...");
|
|
30
31
|
const projConf = (await import(pathToFileURL(path.resolve(process.cwd(), opt.confFileRelPath)).href)).default(true, opt.optNames) as TSdCliConfig;
|
|
31
32
|
|
|
33
|
+
if (projConf.localUpdates) {
|
|
34
|
+
logger.debug("로컬 라이브러리 업데이트 변경감지 시작...");
|
|
35
|
+
await SdCliLocalUpdate.watchAsync({
|
|
36
|
+
confFileRelPath: opt.confFileRelPath,
|
|
37
|
+
optNames: opt.optNames
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
32
41
|
logger.debug("프로젝트 package.json 가져오기...");
|
|
33
42
|
const projNpmConf = (await FsUtil.readJsonAsync(path.resolve(process.cwd(), "package.json"))) as INpmConfig;
|
|
34
43
|
|
|
@@ -37,20 +46,20 @@ export class SdCliProject {
|
|
|
37
46
|
throw new Error("프로젝트 package.json에 workspaces가 설정되어있지 않습니다.");
|
|
38
47
|
}
|
|
39
48
|
const allPkgPaths = await projNpmConf.workspaces.mapManyAsync(async (item) => await FsUtil.globAsync(item));
|
|
40
|
-
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf);
|
|
49
|
+
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf.packages);
|
|
41
50
|
if (opt.pkgNames.length !== 0) {
|
|
42
51
|
pkgPaths = pkgPaths.filter((pkgPath) => opt.pkgNames.includes(path.basename(pkgPath)));
|
|
43
52
|
}
|
|
44
53
|
|
|
45
54
|
logger.debug("패키지 존재 확인...");
|
|
46
|
-
const notExistsPkgs = Object.keys(projConf).filter((pkgConfKey) => allPkgPaths.every((pkgPath) => path.basename(pkgPath) !== pkgConfKey));
|
|
55
|
+
const notExistsPkgs = Object.keys(projConf.packages).filter((pkgConfKey) => allPkgPaths.every((pkgPath) => path.basename(pkgPath) !== pkgConfKey));
|
|
47
56
|
if (notExistsPkgs.length > 0) {
|
|
48
57
|
throw new Error("패키지를 찾을 수 없습니다. (" + notExistsPkgs.join(", ") + ")");
|
|
49
58
|
}
|
|
50
59
|
|
|
51
60
|
logger.debug("라이브러리 INDEX 파일 생성...");
|
|
52
61
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
53
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
62
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
54
63
|
if (pkgConf.type === "library" && FsUtil.exists(path.resolve(pkgPath, "tsconfig.json"))) {
|
|
55
64
|
await SdCliIndexFileGenerator.watchAsync(pkgPath, pkgConf.polyfills);
|
|
56
65
|
}
|
|
@@ -134,7 +143,7 @@ export class SdCliProject {
|
|
|
134
143
|
try {
|
|
135
144
|
const restartServerResult = await this._restartServerAsync(
|
|
136
145
|
serverInfo.pkgPath,
|
|
137
|
-
projConf[path.basename(serverInfo.pkgPath)] as ISdCliServerPackageConfig,
|
|
146
|
+
projConf.packages[path.basename(serverInfo.pkgPath)] as ISdCliServerPackageConfig,
|
|
138
147
|
serverInfo.worker
|
|
139
148
|
);
|
|
140
149
|
serverInfo.worker = restartServerResult.worker;
|
|
@@ -182,15 +191,15 @@ export class SdCliProject {
|
|
|
182
191
|
logger.log("빌드를 시작합니다...");
|
|
183
192
|
|
|
184
193
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
185
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
194
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
186
195
|
if (pkgConf.type === "client") {
|
|
187
196
|
const builderKeys = Object.keys(pkgConf.builder ?? {web: {}});
|
|
188
197
|
await builderKeys.parallelAsync(async (builderKey) => {
|
|
189
|
-
await this._runCommandAsync(cluster, "watch", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
198
|
+
await this._runCommandAsync(cluster, "watch", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
190
199
|
});
|
|
191
200
|
}
|
|
192
201
|
else {
|
|
193
|
-
await this._runCommandAsync(cluster, "watch", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint);
|
|
202
|
+
await this._runCommandAsync(cluster, "watch", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint);
|
|
194
203
|
}
|
|
195
204
|
});
|
|
196
205
|
|
|
@@ -220,7 +229,7 @@ export class SdCliProject {
|
|
|
220
229
|
throw new Error("프로젝트 package.json에 workspaces가 설정되어있지 않습니다.");
|
|
221
230
|
}
|
|
222
231
|
const allPkgPaths = await projNpmConf.workspaces.mapManyAsync(async (item) => await FsUtil.globAsync(item));
|
|
223
|
-
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf);
|
|
232
|
+
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf.packages);
|
|
224
233
|
if (opt.pkgNames.length !== 0) {
|
|
225
234
|
pkgPaths = pkgPaths.filter((pkgPath) => opt.pkgNames.includes(path.basename(pkgPath)));
|
|
226
235
|
}
|
|
@@ -230,7 +239,7 @@ export class SdCliProject {
|
|
|
230
239
|
|
|
231
240
|
logger.debug("라이브러리 INDEX 파일 생성...");
|
|
232
241
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
233
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
242
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
234
243
|
if (pkgConf.type === "library" && FsUtil.exists(path.resolve(pkgPath, "tsconfig.json"))) {
|
|
235
244
|
await SdCliIndexFileGenerator.runAsync(pkgPath, pkgConf.polyfills);
|
|
236
245
|
}
|
|
@@ -242,15 +251,15 @@ export class SdCliProject {
|
|
|
242
251
|
logger.debug("빌드 프로세스 명령 전달...");
|
|
243
252
|
const results = (
|
|
244
253
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
245
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
254
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
246
255
|
if (pkgConf.type === "client") {
|
|
247
256
|
const builderKeys = Object.keys(pkgConf.builder ?? {web: {}});
|
|
248
257
|
return (await builderKeys.parallelAsync(async (builderKey) => {
|
|
249
|
-
return await this._runCommandAsync(cluster, "build", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
258
|
+
return await this._runCommandAsync(cluster, "build", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
250
259
|
})).mapMany();
|
|
251
260
|
}
|
|
252
261
|
else {
|
|
253
|
-
return await this._runCommandAsync(cluster, "build", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint);
|
|
262
|
+
return await this._runCommandAsync(cluster, "build", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint);
|
|
254
263
|
}
|
|
255
264
|
})
|
|
256
265
|
).mapMany();
|
|
@@ -295,7 +304,7 @@ export class SdCliProject {
|
|
|
295
304
|
throw new Error("프로젝트 package.json에 workspaces가 설정되어있지 않습니다.");
|
|
296
305
|
}
|
|
297
306
|
const allPkgPaths = await projNpmConf.workspaces.mapManyAsync(async (item) => await FsUtil.globAsync(item));
|
|
298
|
-
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf);
|
|
307
|
+
let pkgPaths = allPkgPaths.filter((pkgPath) => path.basename(pkgPath) in projConf.packages);
|
|
299
308
|
if (opt.pkgNames.length !== 0) {
|
|
300
309
|
pkgPaths = pkgPaths.filter((pkgPath) => opt.pkgNames.includes(path.basename(pkgPath)));
|
|
301
310
|
}
|
|
@@ -307,7 +316,7 @@ export class SdCliProject {
|
|
|
307
316
|
if (!opt.noBuild) {
|
|
308
317
|
logger.debug("라이브러리 INDEX 파일 생성...");
|
|
309
318
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
310
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
319
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
311
320
|
if (pkgConf.type === "library" && FsUtil.exists(path.resolve(pkgPath, "tsconfig.json"))) {
|
|
312
321
|
await SdCliIndexFileGenerator.runAsync(pkgPath, pkgConf.polyfills);
|
|
313
322
|
}
|
|
@@ -319,15 +328,15 @@ export class SdCliProject {
|
|
|
319
328
|
logger.debug("빌드 프로세스 명령 전달...");
|
|
320
329
|
const results = (
|
|
321
330
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
322
|
-
const pkgConf = projConf[path.basename(pkgPath)]!;
|
|
331
|
+
const pkgConf = projConf.packages[path.basename(pkgPath)]!;
|
|
323
332
|
if (pkgConf.type === "client") {
|
|
324
333
|
const builderKeys = Object.keys(pkgConf.builder ?? {web: {}});
|
|
325
334
|
return (await builderKeys.parallelAsync(async (builderKey) => {
|
|
326
|
-
return await this._runCommandAsync(cluster, "build", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
335
|
+
return await this._runCommandAsync(cluster, "build", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint, builderKey);
|
|
327
336
|
})).mapMany();
|
|
328
337
|
}
|
|
329
338
|
else {
|
|
330
|
-
return await this._runCommandAsync(cluster, "build", pkgPath, projConf[path.basename(pkgPath)]!, opt.withLint);
|
|
339
|
+
return await this._runCommandAsync(cluster, "build", pkgPath, projConf.packages[path.basename(pkgPath)]!, opt.withLint);
|
|
331
340
|
}
|
|
332
341
|
})
|
|
333
342
|
).mapMany();
|
|
@@ -353,7 +362,7 @@ export class SdCliProject {
|
|
|
353
362
|
logger.debug("배포 시작...");
|
|
354
363
|
await pkgPaths.parallelAsync(async (pkgPath) => {
|
|
355
364
|
const pkgName = path.basename(pkgPath);
|
|
356
|
-
const pkgConf = projConf[pkgName];
|
|
365
|
+
const pkgConf = projConf.packages[pkgName];
|
|
357
366
|
if (pkgConf?.publish == null) return;
|
|
358
367
|
|
|
359
368
|
logger.debug(`[${pkgName}] 배포 시작...`);
|
package/src/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./builders/SdCliServerBuilder";
|
|
|
7
7
|
export * from "./builders/SdCliTsLibBuilder";
|
|
8
8
|
export * from "./commons";
|
|
9
9
|
export * from "./entry/SdCliElectron";
|
|
10
|
+
export * from "./entry/SdCliLocalUpdate";
|
|
10
11
|
export * from "./entry/SdCliProject";
|
|
11
12
|
export * from "./utils/getElectronReactExternals";
|
|
12
13
|
export * from "./utils/SdCliBuildResultUtil";
|
|
@@ -16,4 +17,5 @@ export * from "./utils/SdCliViteExternalPlugin";
|
|
|
16
17
|
export * from "./utils/SdCliViteLoggerPlugin";
|
|
17
18
|
export * from "./utils/SdCliViteNodeGlobalPlugin";
|
|
18
19
|
export * from "./utils/SdCliViteReactSwcPlugin";
|
|
20
|
+
export * from "./utils/SdCliViteServeOptimizeExcludePlugin";
|
|
19
21
|
export * from "./utils/SdCliViteWatchWithResolutionsPlugin";
|