@simplysm/sd-cli 7.0.81 → 7.0.100
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/bin/sd-cli.mjs +13 -3
- package/dist/build-tool/SdCliCordova.d.ts +4 -4
- package/dist/build-tool/SdCliCordova.mjs +105 -105
- package/dist/build-tool/SdCliElectron.d.ts +3 -0
- package/dist/build-tool/SdCliElectron.mjs +21 -0
- package/dist/builder/SdCliClientBuilder.mjs +123 -53
- package/dist/commons.d.ts +25 -10
- package/dist/entry-points/SdCliWorkspace.mjs +21 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +2 -1
- package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +2 -2
- package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +1 -0
- package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +29 -3
- package/package.json +11 -7
- package/src/bin/sd-cli.ts +18 -4
- package/src/build-tool/SdCliCordova.ts +130 -140
- package/src/build-tool/SdCliElectron.ts +25 -0
- package/src/builder/SdCliClientBuilder.ts +136 -54
- package/src/commons.ts +28 -10
- package/src/entry-points/SdCliWorkspace.ts +19 -3
- package/src/index.ts +1 -0
- package/src/ng-tools/babel/SdCliBbFileMetadata.ts +1 -1
- package/src/ng-tools/babel/SdCliBbRootMetadata.ts +30 -2
- package/tsconfig.json +3 -0
package/dist/bin/sd-cli.mjs
CHANGED
|
@@ -8,6 +8,7 @@ import { SdCliNpm } from "../entry-points/SdCliNpm";
|
|
|
8
8
|
import { SdCliPrepare } from "../entry-points/SdCliPrepare";
|
|
9
9
|
import { SdCliFileCrypto } from "../entry-points/SdCliFileCrypto";
|
|
10
10
|
import { SdCliCordova } from "../build-tool/SdCliCordova";
|
|
11
|
+
import { SdCliElectron } from "../build-tool/SdCliElectron";
|
|
11
12
|
Error.stackTraceLimit = Infinity;
|
|
12
13
|
const argv = yargs(hideBin(process.argv))
|
|
13
14
|
.version(false)
|
|
@@ -46,7 +47,13 @@ const argv = yargs(hideBin(process.argv))
|
|
|
46
47
|
describe: "수행할 패키지 설정"
|
|
47
48
|
}
|
|
48
49
|
}))
|
|
49
|
-
.command("run-
|
|
50
|
+
.command("run-electron <package>", "변경감지중인 플랫폼을 ELECTRON 앱 형태로 띄웁니다.", (cmd) => cmd
|
|
51
|
+
.positional("package", {
|
|
52
|
+
type: "string",
|
|
53
|
+
describe: "설정된 패키지명",
|
|
54
|
+
demandOption: true
|
|
55
|
+
}))
|
|
56
|
+
.command("run-cordova <cordovaPath> <platform> <url>", "변경감지중인 플랫폼을 코도바 디바이스에 앱 형태로 띄웁니다.", (cmd) => cmd
|
|
50
57
|
.positional("cordovaPath", {
|
|
51
58
|
type: "string",
|
|
52
59
|
describe: "CORDOVA 프로젝트 경로",
|
|
@@ -149,7 +156,10 @@ const logger = Logger.get(["simplysm", "sd-cli", "bin", "sd-cli"]);
|
|
|
149
156
|
pkgs: argv.packages ?? []
|
|
150
157
|
});
|
|
151
158
|
}
|
|
152
|
-
else if (argv._[0] === "run-
|
|
159
|
+
else if (argv._[0] === "run-electron") {
|
|
160
|
+
await SdCliElectron.runWebviewOnDeviceAsync(process.cwd(), argv.package);
|
|
161
|
+
}
|
|
162
|
+
else if (argv._[0] === "run-cordova") {
|
|
153
163
|
await SdCliCordova.runWebviewOnDeviceAsync(argv.cordovaPath, argv.platform, argv.url);
|
|
154
164
|
}
|
|
155
165
|
else if (argv._[0] === "build") {
|
|
@@ -186,4 +196,4 @@ const logger = Logger.get(["simplysm", "sd-cli", "bin", "sd-cli"]);
|
|
|
186
196
|
logger.error(err);
|
|
187
197
|
process.exit(1);
|
|
188
198
|
});
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9zZC1jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFNUQsS0FBSyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQztLQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO0tBQ2xCLE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRTtRQUNMLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixPQUFPLEVBQUUsS0FBSztLQUNmO0NBQ0YsQ0FBQztLQUNELE9BQU8sQ0FDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLENBQUMsR0FBRyxFQUFFLEVBQUUs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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ISdCliClientBuilderCordovaConfig } from "../commons";
|
|
2
2
|
import { Logger } from "@simplysm/sd-core-node";
|
|
3
3
|
export declare class SdCliCordova {
|
|
4
4
|
private readonly _rootPath;
|
|
@@ -7,10 +7,10 @@ export declare class SdCliCordova {
|
|
|
7
7
|
private readonly _npmConfig;
|
|
8
8
|
readonly cordovaPath: string;
|
|
9
9
|
private readonly _binPath;
|
|
10
|
-
get platforms():
|
|
11
|
-
constructor(_rootPath: string, _config:
|
|
10
|
+
get platforms(): ("browser" | "android")[];
|
|
11
|
+
constructor(_rootPath: string, _config: ISdCliClientBuilderCordovaConfig);
|
|
12
12
|
private _execAsync;
|
|
13
13
|
initializeAsync(): Promise<void>;
|
|
14
14
|
buildAsync(outPath: string): Promise<void>;
|
|
15
|
-
static runWebviewOnDeviceAsync(cordovaPath: string, platform:
|
|
15
|
+
static runWebviewOnDeviceAsync(cordovaPath: string, platform: "browser" | "android", url: string): Promise<void>;
|
|
16
16
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as path from "path";
|
|
2
2
|
import { FsUtil, Logger, SdProcess } from "@simplysm/sd-core-node";
|
|
3
|
-
import { NotImplementError } from "@simplysm/sd-core-common";
|
|
4
3
|
import JSZip from "jszip";
|
|
4
|
+
import xml2js from "xml2js";
|
|
5
5
|
export class SdCliCordova {
|
|
6
6
|
constructor(_rootPath, _config) {
|
|
7
7
|
this._rootPath = _rootPath;
|
|
@@ -12,7 +12,10 @@ export class SdCliCordova {
|
|
|
12
12
|
this._logger = Logger.get(["simplysm", "sd-cli", this.constructor.name, this._npmConfig.name]);
|
|
13
13
|
}
|
|
14
14
|
get platforms() {
|
|
15
|
-
return
|
|
15
|
+
return [
|
|
16
|
+
...this._config.targets?.browser ? ["browser"] : [],
|
|
17
|
+
...this._config.targets?.android ? ["android"] : []
|
|
18
|
+
];
|
|
16
19
|
}
|
|
17
20
|
async _execAsync(cmd, cwd) {
|
|
18
21
|
this._logger.debug(cmd);
|
|
@@ -39,119 +42,125 @@ export class SdCliCordova {
|
|
|
39
42
|
await this._execAsync(`${this._binPath} platform add ${platform}`, this.cordovaPath);
|
|
40
43
|
}
|
|
41
44
|
}
|
|
45
|
+
// 설치 미빌드 플랫폼 삭제
|
|
46
|
+
for (const alreadyPlatform of alreadyPlatforms) {
|
|
47
|
+
if (this._config[alreadyPlatform] == null) {
|
|
48
|
+
await this._execAsync(`${this._binPath} platform remove ${alreadyPlatform}`, this.cordovaPath);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
42
51
|
// 미설치 플러그인들 설치
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
?
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
const pluginsFetch = FsUtil.exists(path.resolve(this.cordovaPath, "plugins/fetch.json"))
|
|
53
|
+
? await FsUtil.readJsonAsync(path.resolve(this.cordovaPath, "plugins/fetch.json"))
|
|
54
|
+
: undefined;
|
|
55
|
+
const alreadyPlugins = pluginsFetch != undefined
|
|
56
|
+
? Object.values(pluginsFetch)
|
|
57
|
+
.map((item) => (item.source.id !== undefined ? item.source.id.replace(/@.*$/, "") : item.source.url))
|
|
58
|
+
: [];
|
|
59
|
+
for (const plugin of this._config.plugins?.distinct() ?? []) {
|
|
60
|
+
if (!alreadyPlugins.includes(plugin)) {
|
|
61
|
+
await this._execAsync(`${this._binPath} plugin add ${plugin}`, this.cordovaPath);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// 설치된 미사용 플러그인 삭제
|
|
65
|
+
for (const alreadyPlugin of alreadyPlugins) {
|
|
66
|
+
if (!(this._config.plugins?.distinct() ?? []).includes(alreadyPlugin)) {
|
|
67
|
+
await this._execAsync(`${this._binPath} plugin remove ${alreadyPlugin}`, this.cordovaPath);
|
|
55
68
|
}
|
|
56
69
|
}
|
|
70
|
+
// ANDROID SIGN 파일 복사
|
|
71
|
+
if (this._config.targets?.android?.sign) {
|
|
72
|
+
await FsUtil.copyAsync(path.resolve(this._rootPath, this._config.targets.android.sign.keystore), path.resolve(this.cordovaPath, "android.keystore"));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
await FsUtil.removeAsync(path.resolve(this.cordovaPath, "android.keystore"));
|
|
76
|
+
}
|
|
77
|
+
// 빌드 옵션 파일 생성
|
|
78
|
+
await FsUtil.writeJsonAsync(path.resolve(this.cordovaPath, "build.json"), {
|
|
79
|
+
...this._config.targets?.android ? {
|
|
80
|
+
android: {
|
|
81
|
+
release: {
|
|
82
|
+
packageType: this._config.targets.android.bundle ? "bundle" : "apk",
|
|
83
|
+
...this._config.targets.android.sign ? {
|
|
84
|
+
keystore: path.resolve(this.cordovaPath, "android.keystore"),
|
|
85
|
+
storePassword: this._config.targets.android.sign.storePassword,
|
|
86
|
+
alias: this._config.targets.android.sign.alias,
|
|
87
|
+
password: this._config.targets.android.sign.password,
|
|
88
|
+
keystoreType: this._config.targets.android.sign.keystoreType
|
|
89
|
+
} : {}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
} : {}
|
|
93
|
+
});
|
|
57
94
|
// ICON 파일 복사
|
|
58
95
|
if (this._config.icon !== undefined) {
|
|
59
|
-
await FsUtil.copyAsync(path.resolve(this._rootPath, this._config.icon), path.resolve(this.cordovaPath, "res", "icon
|
|
96
|
+
await FsUtil.copyAsync(path.resolve(this._rootPath, this._config.icon), path.resolve(this.cordovaPath, "res", "icon.png"));
|
|
60
97
|
}
|
|
61
|
-
|
|
98
|
+
else {
|
|
99
|
+
await FsUtil.removeAsync(path.resolve(this.cordovaPath, "res", "icon.png"));
|
|
100
|
+
}
|
|
101
|
+
// CONFIG: 초기값 백업
|
|
62
102
|
const configFilePath = path.resolve(this.cordovaPath, "config.xml");
|
|
63
|
-
|
|
103
|
+
const configBackFilePath = path.resolve(this.cordovaPath, "config.xml.bak");
|
|
104
|
+
if (!FsUtil.exists(configBackFilePath)) {
|
|
105
|
+
await FsUtil.copyAsync(configFilePath, configBackFilePath);
|
|
106
|
+
}
|
|
107
|
+
// CONFIG: 초기값 읽기
|
|
108
|
+
const configFileContent = await FsUtil.readFileAsync(configBackFilePath);
|
|
109
|
+
const configXml = await xml2js.parseStringPromise(configFileContent);
|
|
64
110
|
// CONFIG: 버전 설정
|
|
65
|
-
|
|
111
|
+
configXml.widget.$.version = this._npmConfig.version;
|
|
66
112
|
// CONFIG: ICON 설정
|
|
67
|
-
if (this._config.icon !== undefined
|
|
68
|
-
|
|
113
|
+
if (this._config.icon !== undefined) {
|
|
114
|
+
configXml["widget"]["icon"] = [{ "$": { "src": "res/icon.png" } }];
|
|
69
115
|
}
|
|
116
|
+
// CONFIG: 접근허용 세팅
|
|
117
|
+
configXml["widget"]["allow-navigation"] = [{ "$": { "href": "*://*/*" } }];
|
|
70
118
|
// CONFIG: ANDROID usesCleartextTraffic 설정
|
|
71
|
-
if (this._config.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
}
|
|
119
|
+
if (this._config.targets?.android) {
|
|
120
|
+
configXml.widget.$["xmlns:android"] = "http://schemas.android.com/apk/res/android";
|
|
121
|
+
configXml["widget"]["platform"] = configXml["widget"]["platform"] ?? [];
|
|
122
|
+
configXml["widget"]["platform"].push({
|
|
123
|
+
"$": {
|
|
124
|
+
"name": "android"
|
|
125
|
+
},
|
|
126
|
+
"edit-config": [{
|
|
127
|
+
"$": {
|
|
128
|
+
"file": "app/src/main/AndroidManifest.xml",
|
|
129
|
+
"mode": "merge",
|
|
130
|
+
"target": "/manifest/application"
|
|
131
|
+
},
|
|
132
|
+
"application": [{
|
|
133
|
+
"android:usesCleartextTraffic": "true"
|
|
134
|
+
}]
|
|
135
|
+
}]
|
|
136
|
+
});
|
|
91
137
|
}
|
|
92
|
-
// CONFIG:
|
|
93
|
-
|
|
138
|
+
// CONFIG: 파일 새로 쓰기
|
|
139
|
+
const configResultContent = new xml2js.Builder().buildObject(configXml);
|
|
140
|
+
await FsUtil.writeFileAsync(configFilePath, configResultContent);
|
|
141
|
+
// 각 플랫폼 www 준비
|
|
142
|
+
await this._execAsync(`${this._binPath} prepare`, this.cordovaPath);
|
|
94
143
|
}
|
|
95
144
|
async buildAsync(outPath) {
|
|
96
|
-
const packageType = this._config.buildOption?.bundle ? "bundle" : "apk";
|
|
97
|
-
// ANDROID 서명 처리
|
|
98
|
-
if (this._config.buildOption?.sign?.android) {
|
|
99
|
-
await FsUtil.copyAsync(path.resolve(this._rootPath, this._config.buildOption.sign.android.keystore), path.resolve(this.cordovaPath, path.basename(this._config.buildOption.sign.android.keystore)));
|
|
100
|
-
await FsUtil.writeJsonAsync(path.resolve(this.cordovaPath, "build.json"), {
|
|
101
|
-
android: {
|
|
102
|
-
release: {
|
|
103
|
-
keystore: path.basename(this._config.buildOption.sign.android.keystore),
|
|
104
|
-
storePassword: this._config.buildOption.sign.android.storePassword,
|
|
105
|
-
alias: this._config.buildOption.sign.android.alias,
|
|
106
|
-
password: this._config.buildOption.sign.android.password,
|
|
107
|
-
keystoreType: this._config.buildOption.sign.android.keystoreType,
|
|
108
|
-
packageType
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
// CONFIG
|
|
114
|
-
const configFilePath = path.resolve(this.cordovaPath, "config.xml");
|
|
115
|
-
let configFileContent = await FsUtil.readFileAsync(configFilePath);
|
|
116
|
-
// CONFIG: 접근허용 일단 모두 지우기
|
|
117
|
-
configFileContent = configFileContent.replace(/ {4}<allow-navigation href="[^"]*" \/>\n/g, "");
|
|
118
|
-
// CONFIG: 접근허용 등록
|
|
119
|
-
configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="*://*/*" />\n</widget>`);
|
|
120
|
-
// CONFIG: 파일쓰기
|
|
121
|
-
await FsUtil.writeFileAsync(configFilePath, configFileContent);
|
|
122
145
|
// 실행
|
|
123
|
-
const buildType = this._config.
|
|
146
|
+
const buildType = this._config.debug ? "debug" : "release";
|
|
124
147
|
for (const platform of this.platforms) {
|
|
125
|
-
await this._execAsync(`${this._binPath} build ${platform} --${buildType}
|
|
148
|
+
await this._execAsync(`${this._binPath} build ${platform} --${buildType}`, this.cordovaPath);
|
|
126
149
|
}
|
|
127
|
-
// 결과물
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await FsUtil.copyAsync(path.resolve(this.cordovaPath, "platforms/android/app/build/outputs/apk", buildType, apkFileName), path.resolve(targetOutPath, latestDistApkFileName));
|
|
137
|
-
}
|
|
138
|
-
else if (platform === "electron") {
|
|
139
|
-
const targetOutPath = path.resolve(outPath, platform);
|
|
140
|
-
const outFileName = `${this._config.appName} Setup ${this._npmConfig.version}.exe`;
|
|
141
|
-
const distFileName = outFileName;
|
|
142
|
-
const latestDistFileName = `${this._config.appName} Setup latest.exe`;
|
|
143
|
-
await FsUtil.mkdirsAsync(targetOutPath);
|
|
144
|
-
await FsUtil.copyAsync(path.resolve(this.cordovaPath, "platforms/electron/build/", outFileName), path.resolve(targetOutPath, distFileName));
|
|
145
|
-
await FsUtil.copyAsync(path.resolve(this.cordovaPath, "platforms/electron/build/", outFileName), path.resolve(targetOutPath, latestDistFileName));
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
throw new NotImplementError();
|
|
149
|
-
}
|
|
150
|
+
// 결과물 복사: ANDROID
|
|
151
|
+
if (this._config.targets?.android) {
|
|
152
|
+
const targetOutPath = path.resolve(outPath, "android");
|
|
153
|
+
const apkFileName = this._config.targets.android.sign ? `app-${buildType}.apk` : `app-${buildType}-unsigned.apk`;
|
|
154
|
+
const distApkFileName = path.basename(`${this._config.appName}${this._config.targets.android.sign ? "" : "-unsigned"}-v${this._npmConfig.version}.apk`);
|
|
155
|
+
const latestDistApkFileName = path.basename(`${this._config.appName}${this._config.targets.android.sign ? "" : "-unsigned"}-latest.apk`);
|
|
156
|
+
await FsUtil.mkdirsAsync(targetOutPath);
|
|
157
|
+
await FsUtil.copyAsync(path.resolve(this.cordovaPath, "platforms/android/app/build/outputs/apk", buildType, apkFileName), path.resolve(targetOutPath, distApkFileName));
|
|
158
|
+
await FsUtil.copyAsync(path.resolve(this.cordovaPath, "platforms/android/app/build/outputs/apk", buildType, apkFileName), path.resolve(targetOutPath, latestDistApkFileName));
|
|
150
159
|
}
|
|
151
|
-
if (this.
|
|
160
|
+
if (this._config.targets?.android) {
|
|
152
161
|
// 자동업데이트를 위한 zip 파일 쓰기
|
|
153
162
|
const zip = new JSZip();
|
|
154
|
-
const resultFiles = await FsUtil.globAsync(path.resolve(this.cordovaPath, "www", "**/*"), {
|
|
163
|
+
const resultFiles = await FsUtil.globAsync(path.resolve(this.cordovaPath, "platforms", "android", "app", "src", "main", "assets", "www", "**/*"), {
|
|
155
164
|
dot: true,
|
|
156
165
|
nodir: true
|
|
157
166
|
});
|
|
@@ -169,17 +178,8 @@ export class SdCliCordova {
|
|
|
169
178
|
await FsUtil.removeAsync(path.resolve(cordovaPath, "www"));
|
|
170
179
|
await FsUtil.mkdirsAsync(path.resolve(cordovaPath, "www"));
|
|
171
180
|
await FsUtil.writeFileAsync(path.resolve(cordovaPath, "www/index.html"), `'${url}'로 이동중... <script>setTimeout(function () {window.location.href = "${url}"}, 3000);</script>`.trim());
|
|
172
|
-
// CONFIG
|
|
173
|
-
const configFilePath = path.resolve(cordovaPath, "config.xml");
|
|
174
|
-
let configFileContent = await FsUtil.readFileAsync(configFilePath);
|
|
175
|
-
// CONFIG: 접근허용 일단 모두 지우기
|
|
176
|
-
configFileContent = configFileContent.replace(/ {4}<allow-navigation href="[^"]*" \/>\n/g, "");
|
|
177
|
-
// CONFIG: 접근허용 등록
|
|
178
|
-
configFileContent = configFileContent.replace("</widget>", ` <allow-navigation href="*://*/*" />\n</widget>`);
|
|
179
|
-
// CONFIG: 파일쓰기
|
|
180
|
-
await FsUtil.writeFileAsync(configFilePath, configFileContent);
|
|
181
181
|
const binPath = path.resolve(process.cwd(), "node_modules/.bin/cordova.cmd");
|
|
182
182
|
await SdProcess.spawnAsync(`${binPath} run ${platform} --device`, { cwd: cordovaPath }, true);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlDb3Jkb3ZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkLXRvb2wvU2RDbGlDb3Jkb3ZhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLE9BQU8sWUFBWTtJQVl2QixZQUFvQyxTQUFpQixFQUFtQixPQUF5QztRQUE3RSxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQWtDO1FBUGpHLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBT3ZGLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBUEQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQU9PLEtBQUssQ0FBQyxVQUFV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
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlDb3Jkb3ZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkLXRvb2wvU2RDbGlDb3Jkb3ZhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLFlBQVk7SUFldkIsWUFBb0MsU0FBaUIsRUFBbUIsT0FBeUM7UUFBN0UsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUFrQztRQVZqRyxnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RCxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsK0JBQStCLENBQUMsQ0FBQztRQVV2RixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQVZELElBQVcsU0FBUztRQUNsQixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBa0IsQ0FB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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FsUtil, SdProcess } from "@simplysm/sd-core-node";
|
|
2
|
+
import path from "path";
|
|
3
|
+
export class SdCliElectron {
|
|
4
|
+
static async runWebviewOnDeviceAsync(rootPath, pkgName) {
|
|
5
|
+
const electronPath = path.resolve(rootPath, `packages/${pkgName}/.electron`);
|
|
6
|
+
const npmConfig = (await FsUtil.readJsonAsync(path.resolve(rootPath, `packages/${pkgName}/package.json`)));
|
|
7
|
+
await FsUtil.writeJsonAsync(path.resolve(electronPath, `package.json`), {
|
|
8
|
+
name: npmConfig.name,
|
|
9
|
+
version: npmConfig.version,
|
|
10
|
+
description: npmConfig.description,
|
|
11
|
+
main: "electron.js",
|
|
12
|
+
author: npmConfig.author,
|
|
13
|
+
license: npmConfig.license
|
|
14
|
+
});
|
|
15
|
+
await FsUtil.copyAsync(path.resolve(rootPath, `packages/${pkgName}/src/electron.dev.js`), path.resolve(electronPath, "electron.js"));
|
|
16
|
+
await SdProcess.spawnAsync(`electron "${electronPath}"`, {
|
|
17
|
+
cwd: rootPath
|
|
18
|
+
}, true);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlFbGVjdHJvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC10b29sL1NkQ2xpRWxlY3Ryb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxPQUFPLGFBQWE7SUFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFnQixFQUFFLE9BQWU7UUFDM0UsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxPQUFPLFlBQVksQ0FBQyxDQUFDO1FBRTdFLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFlLENBQUM7UUFDekgsTUFBTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxFQUFFO1lBQ3RFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDMUIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxXQUFXO1lBQ2xDLElBQUksRUFBRSxhQUFhO1lBQ25CLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87U0FDM0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFlBQVksT0FBTyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFckksTUFBTSxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsWUFBWSxHQUFHLEVBQUU7WUFDdkQsR0FBRyxFQUFFLFFBQVE7U0FDZCxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNGIn0=
|