@simplysm/sd-cli 12.12.11 → 12.12.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
import { FsUtils, PathUtils, SdFsWatcher
|
|
2
|
+
import { FsUtils, PathUtils, SdFsWatcher } from "@simplysm/sd-core-node";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { ScopePathSet } from "./scope-path";
|
|
5
5
|
export class BuildRunnerBase extends EventEmitter {
|
|
@@ -47,7 +47,19 @@ export class BuildRunnerBase extends EventEmitter {
|
|
|
47
47
|
this.emit("complete", res);
|
|
48
48
|
this._debug("WATCH...");
|
|
49
49
|
let lastWatchFileSet = result.watchFileSet;
|
|
50
|
-
SdFsWatcher.watch(this._watchScopePathSet.toArray()
|
|
50
|
+
SdFsWatcher.watch(this._watchScopePathSet.toArray(), {
|
|
51
|
+
ignore: (filePath) => filePath === path.resolve(this._pkgPath, ".cache") ||
|
|
52
|
+
filePath === path.resolve(this._pkgPath, ".cordova") ||
|
|
53
|
+
filePath === path.resolve(this._pkgPath, ".electron") ||
|
|
54
|
+
filePath === path.resolve(this._pkgPath, "dist") ||
|
|
55
|
+
(this._pkgConf.type === "client" && filePath === path.resolve(this._pkgPath, "src", "routes.ts")) ||
|
|
56
|
+
("dbContext" in this._pkgConf &&
|
|
57
|
+
this._pkgConf.dbContext != null &&
|
|
58
|
+
filePath === path.resolve(this._pkgPath, "src", `${this._pkgConf.dbContext}.ts`)) ||
|
|
59
|
+
("noGenIndex" in this._pkgConf &&
|
|
60
|
+
!this._pkgConf.noGenIndex &&
|
|
61
|
+
filePath === path.resolve(this._pkgPath, "src", "index.ts")),
|
|
62
|
+
}).onChange({ delay: 100 }, async (changeInfos) => {
|
|
51
63
|
const modifiedFileSet = this._getModifiedFileSet(changeInfos, lastWatchFileSet);
|
|
52
64
|
if (modifiedFileSet.size < 1)
|
|
53
65
|
return;
|
|
@@ -72,7 +84,6 @@ export class BuildRunnerBase extends EventEmitter {
|
|
|
72
84
|
},
|
|
73
85
|
],
|
|
74
86
|
emitFileSet: new Set(),
|
|
75
|
-
watchFileSet: lastWatchFileSet,
|
|
76
87
|
};
|
|
77
88
|
}
|
|
78
89
|
this.emit("complete", {
|
|
@@ -84,7 +95,7 @@ export class BuildRunnerBase extends EventEmitter {
|
|
|
84
95
|
}
|
|
85
96
|
_getModifiedFileSet(changeInfos, lastWatchFileSet) {
|
|
86
97
|
return new Set((lastWatchFileSet
|
|
87
|
-
? changeInfos.filter((item) => lastWatchFileSet.
|
|
98
|
+
? changeInfos.filter((item) => Array.from(lastWatchFileSet).some((item1) => item.path.startsWith(path.dirname(item1))))
|
|
88
99
|
: changeInfos).map((item) => item.path));
|
|
89
100
|
}
|
|
90
101
|
_debug(msg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-runner.base.js","sourceRoot":"","sources":["../../../src/pkg-builders/commons/build-runner.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"build-runner.base.js","sourceRoot":"","sources":["../../../src/pkg-builders/commons/build-runner.base.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "12.12.
|
|
3
|
+
"version": "12.12.13",
|
|
4
4
|
"description": "심플리즘 패키지 - CLI",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"repository": {
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@angular/build": "^20.1.1",
|
|
16
|
-
"@angular/compiler": "^20.1.
|
|
17
|
-
"@angular/compiler-cli": "^20.1.
|
|
16
|
+
"@angular/compiler": "^20.1.2",
|
|
17
|
+
"@angular/compiler-cli": "^20.1.2",
|
|
18
18
|
"@anthropic-ai/sdk": "^0.56.0",
|
|
19
19
|
"@electron/rebuild": "^4.0.1",
|
|
20
|
-
"@simplysm/sd-core-common": "12.12.
|
|
21
|
-
"@simplysm/sd-core-node": "12.12.
|
|
22
|
-
"@simplysm/sd-service-server": "12.12.
|
|
23
|
-
"@simplysm/sd-storage": "12.12.
|
|
20
|
+
"@simplysm/sd-core-common": "12.12.13",
|
|
21
|
+
"@simplysm/sd-core-node": "12.12.13",
|
|
22
|
+
"@simplysm/sd-service-server": "12.12.13",
|
|
23
|
+
"@simplysm/sd-storage": "12.12.13",
|
|
24
24
|
"browserslist": "^4.25.1",
|
|
25
25
|
"cordova": "^12.0.0",
|
|
26
26
|
"css-has-pseudo": "^7.0.2",
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
import {
|
|
3
|
-
FsUtils,
|
|
4
|
-
ISdFsWatcherChangeInfo,
|
|
5
|
-
PathUtils,
|
|
6
|
-
SdFsWatcher,
|
|
7
|
-
SdLogger,
|
|
8
|
-
TNormPath,
|
|
9
|
-
} from "@simplysm/sd-core-node";
|
|
2
|
+
import { FsUtils, ISdFsWatcherChangeInfo, PathUtils, SdFsWatcher, SdLogger, TNormPath } from "@simplysm/sd-core-node";
|
|
10
3
|
import { ISdProjectConfig, TSdPackageConfig } from "../../types/config.types";
|
|
11
4
|
import { ISdBuildMessage, ISdBuildRunnerResult } from "../../types/build.types";
|
|
12
5
|
import path from "path";
|
|
13
6
|
import { ScopePathSet } from "./scope-path";
|
|
14
7
|
|
|
15
|
-
export abstract class BuildRunnerBase<
|
|
16
|
-
T extends "server" | "library" | "client",
|
|
17
|
-
> extends EventEmitter {
|
|
8
|
+
export abstract class BuildRunnerBase<T extends "server" | "library" | "client"> extends EventEmitter {
|
|
18
9
|
protected abstract _logger: SdLogger;
|
|
19
10
|
|
|
20
11
|
protected _pkgName: string;
|
|
@@ -83,65 +74,70 @@ export abstract class BuildRunnerBase<
|
|
|
83
74
|
this.emit("complete", res);
|
|
84
75
|
|
|
85
76
|
this._debug("WATCH...");
|
|
86
|
-
let lastWatchFileSet = result.watchFileSet
|
|
87
|
-
SdFsWatcher.watch(this._watchScopePathSet.toArray()
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
77
|
+
let lastWatchFileSet = result.watchFileSet;
|
|
78
|
+
SdFsWatcher.watch(this._watchScopePathSet.toArray(), {
|
|
79
|
+
ignore: (filePath) =>
|
|
80
|
+
filePath === path.resolve(this._pkgPath, ".cache") ||
|
|
81
|
+
filePath === path.resolve(this._pkgPath, ".cordova") ||
|
|
82
|
+
filePath === path.resolve(this._pkgPath, ".electron") ||
|
|
83
|
+
filePath === path.resolve(this._pkgPath, "dist") ||
|
|
84
|
+
(this._pkgConf.type === "client" && filePath === path.resolve(this._pkgPath, "src", "routes.ts")) ||
|
|
85
|
+
("dbContext" in this._pkgConf &&
|
|
86
|
+
this._pkgConf.dbContext != null &&
|
|
87
|
+
filePath === path.resolve(this._pkgPath, "src", `${this._pkgConf.dbContext}.ts`)) ||
|
|
88
|
+
("noGenIndex" in this._pkgConf &&
|
|
89
|
+
!this._pkgConf.noGenIndex &&
|
|
90
|
+
filePath === path.resolve(this._pkgPath, "src", "index.ts")),
|
|
91
|
+
}).onChange({ delay: 100 }, async (changeInfos) => {
|
|
92
|
+
const modifiedFileSet = this._getModifiedFileSet(changeInfos, lastWatchFileSet);
|
|
93
|
+
|
|
94
|
+
if (modifiedFileSet.size < 1) return;
|
|
95
|
+
|
|
96
|
+
this.emit("change");
|
|
97
|
+
|
|
98
|
+
let watchResult: IBuildRunnerRunResult;
|
|
99
|
+
try {
|
|
100
|
+
watchResult = await this._runAsync(!this._pkgConf.forceProductionMode, modifiedFileSet);
|
|
101
|
+
|
|
102
|
+
lastWatchFileSet = watchResult.watchFileSet;
|
|
103
|
+
} catch (err) {
|
|
104
|
+
watchResult = {
|
|
105
|
+
affectedFileSet: modifiedFileSet,
|
|
106
|
+
buildMessages: [
|
|
107
|
+
{
|
|
108
|
+
filePath: undefined,
|
|
109
|
+
line: undefined,
|
|
110
|
+
char: undefined,
|
|
111
|
+
code: undefined,
|
|
112
|
+
severity: "error",
|
|
113
|
+
message: `파일 변경 처리 중 오류 발생: ${err}`,
|
|
114
|
+
type: "watch",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
emitFileSet: new Set(),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
this.emit("complete", {
|
|
122
|
+
affectedFilePathSet: watchResult.affectedFileSet,
|
|
123
|
+
buildMessages: watchResult.buildMessages,
|
|
124
|
+
emitFileSet: watchResult.emitFileSet,
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
protected _getModifiedFileSet(
|
|
130
|
-
changeInfos: ISdFsWatcherChangeInfo[],
|
|
131
|
-
lastWatchFileSet?: Set<TNormPath>,
|
|
132
|
-
) {
|
|
129
|
+
protected _getModifiedFileSet(changeInfos: ISdFsWatcherChangeInfo[], lastWatchFileSet?: Set<TNormPath>) {
|
|
133
130
|
return new Set(
|
|
134
131
|
(lastWatchFileSet
|
|
135
|
-
? changeInfos.filter((item) =>
|
|
132
|
+
? changeInfos.filter((item) =>
|
|
133
|
+
Array.from(lastWatchFileSet).some((item1) => item.path.startsWith(path.dirname(item1))),
|
|
134
|
+
)
|
|
136
135
|
: changeInfos
|
|
137
136
|
).map((item) => item.path),
|
|
138
137
|
);
|
|
139
138
|
}
|
|
140
139
|
|
|
141
|
-
protected abstract _runAsync(
|
|
142
|
-
dev: boolean,
|
|
143
|
-
modifiedFileSet?: Set<TNormPath>,
|
|
144
|
-
): Promise<IBuildRunnerRunResult>;
|
|
140
|
+
protected abstract _runAsync(dev: boolean, modifiedFileSet?: Set<TNormPath>): Promise<IBuildRunnerRunResult>;
|
|
145
141
|
|
|
146
142
|
protected _debug(msg: string): void {
|
|
147
143
|
this._logger.debug(`[${path.basename(this._pkgPath)}] ${msg}`);
|