glyphix 1.2.0 → 1.2.2
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/bin/glyphix.js +7 -11
- package/cjs/plugin/buildServer.js +132 -0
- package/cjs/plugin/index.js +22 -0
- package/libs/plugin/buildServer.js +121 -0
- package/libs/plugin/index.js +1 -0
- package/package.json +20 -5
- package/types/plugin/buildServer.d.ts +7 -0
- package/types/plugin/index.d.ts +2 -0
package/bin/glyphix.js
CHANGED
|
@@ -171,6 +171,7 @@ var GxGenerate = class {
|
|
|
171
171
|
);
|
|
172
172
|
// gx 工具传递过来的入口文件,包括 app.{t,j}s 和各个页面的 js 文件路径
|
|
173
173
|
this.entries = [];
|
|
174
|
+
process.env.GLYPHIX_EXEC_ROOT = this.workspaceRoot;
|
|
174
175
|
const entryFile = process.env["GLYPHIX_BUILD_DIR"] ? ".node-entry.json" : "entry.vite.json";
|
|
175
176
|
const content = JSON.parse(
|
|
176
177
|
(0, import_node_fs.readFileSync)((0, import_node_path3.resolve)(this.buildRoot, entryFile)).toString()
|
|
@@ -210,7 +211,10 @@ var GxGenerate = class {
|
|
|
210
211
|
if (key.startsWith("GLYPHIX"))
|
|
211
212
|
envDefine[`process.env.${key}`] = JSON.stringify(process.env[key]);
|
|
212
213
|
});
|
|
213
|
-
return
|
|
214
|
+
return {
|
|
215
|
+
...envDefine,
|
|
216
|
+
GLYPHIX_EXEC_ROOT: JSON.stringify(this.workspaceRoot)
|
|
217
|
+
};
|
|
214
218
|
}
|
|
215
219
|
generateEsbuildConfig() {
|
|
216
220
|
const resolveExtensions = [".ts", ".js"];
|
|
@@ -290,20 +294,16 @@ var GxGenerate = class {
|
|
|
290
294
|
"..",
|
|
291
295
|
"glyphix.config.js"
|
|
292
296
|
);
|
|
293
|
-
if (!(0, import_node_fs.existsSync)(customConfigPath))
|
|
294
|
-
return internalConfig;
|
|
297
|
+
if (!(0, import_node_fs.existsSync)(customConfigPath)) return internalConfig;
|
|
295
298
|
try {
|
|
296
299
|
if (customConfigPath.endsWith(".ts")) {
|
|
297
300
|
require("ts-node").register({
|
|
298
301
|
transpileOnly: true,
|
|
299
|
-
|
|
300
|
-
module: "commonjs"
|
|
301
|
-
}
|
|
302
|
+
project: process.cwd()
|
|
302
303
|
});
|
|
303
304
|
}
|
|
304
305
|
const useConfig = require(customConfigPath);
|
|
305
306
|
const a = mergeEsbuildConfigs(internalConfig, useConfig);
|
|
306
|
-
console.log(a.plugins);
|
|
307
307
|
return a;
|
|
308
308
|
} catch (error) {
|
|
309
309
|
console.error(error);
|
|
@@ -362,10 +362,6 @@ var GxGenerate = class {
|
|
|
362
362
|
}
|
|
363
363
|
};
|
|
364
364
|
function generateGlyphix() {
|
|
365
|
-
console.log(
|
|
366
|
-
"process",
|
|
367
|
-
!process.env["VITE_BUILD_DIR"] || !process.env["VITE_SOURCE_DIR"]
|
|
368
|
-
);
|
|
369
365
|
if ((!process.env["VITE_BUILD_DIR"] || !process.env["VITE_SOURCE_DIR"]) && (!process.env["GLYPHIX_BUILD_DIR"] || !process.env["GLYPHIX_SOURCE_DIR"]))
|
|
370
366
|
throw Error("not set glyphix project path");
|
|
371
367
|
const generate = new GxGenerate();
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var buildServer_exports = {};
|
|
30
|
+
__export(buildServer_exports, {
|
|
31
|
+
buildServerPlugin: () => buildServerPlugin
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(buildServer_exports);
|
|
34
|
+
var import_esbuild = __toESM(require("esbuild"));
|
|
35
|
+
var path = __toESM(require("path"));
|
|
36
|
+
var import_fs_extra = __toESM(require("fs-extra"));
|
|
37
|
+
const disallowed = [
|
|
38
|
+
"@system.router",
|
|
39
|
+
"@system.prompt",
|
|
40
|
+
"@system.device",
|
|
41
|
+
"@system.battery",
|
|
42
|
+
"@system.schedule",
|
|
43
|
+
"@system.notification",
|
|
44
|
+
"@system.notification",
|
|
45
|
+
"@system.vibrator",
|
|
46
|
+
"@system.internal",
|
|
47
|
+
"@system.test",
|
|
48
|
+
"@system.media",
|
|
49
|
+
"@system.audiokit",
|
|
50
|
+
"@system.calendar",
|
|
51
|
+
"@system.geolocation"
|
|
52
|
+
];
|
|
53
|
+
function buildServerPlugin(options) {
|
|
54
|
+
return {
|
|
55
|
+
name: "build-server",
|
|
56
|
+
async setup(build) {
|
|
57
|
+
build.onEnd(async (result) => {
|
|
58
|
+
});
|
|
59
|
+
const resolveExtensions = [".ts", ".js"];
|
|
60
|
+
console.log("00000", build.initialOptions.define);
|
|
61
|
+
const execRoot = JSON.parse(
|
|
62
|
+
build.initialOptions.define["GLYPHIX_EXEC_ROOT"]
|
|
63
|
+
);
|
|
64
|
+
const serverOutputPath = path.resolve(
|
|
65
|
+
execRoot,
|
|
66
|
+
process.env["GLYPHIX_BUILD_DIR"],
|
|
67
|
+
"assets"
|
|
68
|
+
);
|
|
69
|
+
if (!import_fs_extra.default.existsSync(serverOutputPath)) {
|
|
70
|
+
import_fs_extra.default.mkdirSync(serverOutputPath);
|
|
71
|
+
}
|
|
72
|
+
const manifestPath = path.resolve(
|
|
73
|
+
execRoot,
|
|
74
|
+
process.env["GLYPHIX_SOURCE_DIR"],
|
|
75
|
+
"manifest.json"
|
|
76
|
+
);
|
|
77
|
+
const packageName = JSON.parse(
|
|
78
|
+
import_fs_extra.default.readFileSync(manifestPath).toString()
|
|
79
|
+
).package;
|
|
80
|
+
try {
|
|
81
|
+
await import_esbuild.default.build({
|
|
82
|
+
entryPoints: [options.entry],
|
|
83
|
+
// 入口文件
|
|
84
|
+
bundle: true,
|
|
85
|
+
// 启用打包
|
|
86
|
+
outfile: path.resolve(serverOutputPath, "server.jsc"),
|
|
87
|
+
splitting: false,
|
|
88
|
+
// 启用代码分割
|
|
89
|
+
format: "esm",
|
|
90
|
+
// 输出为 ESM 格式
|
|
91
|
+
resolveExtensions,
|
|
92
|
+
external: ["@system*"],
|
|
93
|
+
platform: "node",
|
|
94
|
+
target: "node14",
|
|
95
|
+
// 目标平台设置为最新 ECMAScript
|
|
96
|
+
define: build.initialOptions.define,
|
|
97
|
+
sourcemap: false,
|
|
98
|
+
minify: options.minify,
|
|
99
|
+
banner: {
|
|
100
|
+
js: `const packageName = "${packageName}";`
|
|
101
|
+
},
|
|
102
|
+
plugins: [
|
|
103
|
+
{
|
|
104
|
+
name: "forbid-modules",
|
|
105
|
+
setup(build2) {
|
|
106
|
+
build2.onResolve({ filter: /.*/ }, (args) => {
|
|
107
|
+
if (disallowed.includes(args.path)) {
|
|
108
|
+
return {
|
|
109
|
+
errors: [
|
|
110
|
+
{
|
|
111
|
+
text: `\u274C worker \u4E2D\u4F7F\u7528\u4E86\u88AB\u7981\u6B62\u7684\u6A21\u5757 "${args.path}"\uFF0C\u8BF7\u79FB\u9664\uFF01`
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
...options.plugins ?? []
|
|
121
|
+
]
|
|
122
|
+
});
|
|
123
|
+
} catch (err) {
|
|
124
|
+
process.exit(21);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
130
|
+
0 && (module.exports = {
|
|
131
|
+
buildServerPlugin
|
|
132
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var index_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(index_exports);
|
|
18
|
+
__reExport(index_exports, require("./buildServer"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("./buildServer")
|
|
22
|
+
});
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
import esbuild from "esbuild";
|
|
22
|
+
import * as path from "path";
|
|
23
|
+
import fse from "fs-extra";
|
|
24
|
+
const disallowed = [
|
|
25
|
+
"@system.router",
|
|
26
|
+
"@system.prompt",
|
|
27
|
+
"@system.device",
|
|
28
|
+
"@system.battery",
|
|
29
|
+
"@system.schedule",
|
|
30
|
+
"@system.notification",
|
|
31
|
+
"@system.notification",
|
|
32
|
+
"@system.vibrator",
|
|
33
|
+
"@system.internal",
|
|
34
|
+
"@system.test",
|
|
35
|
+
"@system.media",
|
|
36
|
+
"@system.audiokit",
|
|
37
|
+
"@system.calendar",
|
|
38
|
+
"@system.geolocation"
|
|
39
|
+
];
|
|
40
|
+
function buildServerPlugin(options) {
|
|
41
|
+
return {
|
|
42
|
+
name: "build-server",
|
|
43
|
+
setup(build) {
|
|
44
|
+
return __async(this, null, function* () {
|
|
45
|
+
var _a2;
|
|
46
|
+
build.onEnd((result) => __async(this, null, function* () {
|
|
47
|
+
}));
|
|
48
|
+
const resolveExtensions = [".ts", ".js"];
|
|
49
|
+
console.log("00000", build.initialOptions.define);
|
|
50
|
+
const execRoot = JSON.parse(
|
|
51
|
+
build.initialOptions.define["GLYPHIX_EXEC_ROOT"]
|
|
52
|
+
);
|
|
53
|
+
const serverOutputPath = path.resolve(
|
|
54
|
+
execRoot,
|
|
55
|
+
process.env["GLYPHIX_BUILD_DIR"],
|
|
56
|
+
"assets"
|
|
57
|
+
);
|
|
58
|
+
if (!fse.existsSync(serverOutputPath)) {
|
|
59
|
+
fse.mkdirSync(serverOutputPath);
|
|
60
|
+
}
|
|
61
|
+
const manifestPath = path.resolve(
|
|
62
|
+
execRoot,
|
|
63
|
+
process.env["GLYPHIX_SOURCE_DIR"],
|
|
64
|
+
"manifest.json"
|
|
65
|
+
);
|
|
66
|
+
const packageName = JSON.parse(
|
|
67
|
+
fse.readFileSync(manifestPath).toString()
|
|
68
|
+
).package;
|
|
69
|
+
try {
|
|
70
|
+
yield esbuild.build({
|
|
71
|
+
entryPoints: [options.entry],
|
|
72
|
+
// 入口文件
|
|
73
|
+
bundle: true,
|
|
74
|
+
// 启用打包
|
|
75
|
+
outfile: path.resolve(serverOutputPath, "server.jsc"),
|
|
76
|
+
splitting: false,
|
|
77
|
+
// 启用代码分割
|
|
78
|
+
format: "esm",
|
|
79
|
+
// 输出为 ESM 格式
|
|
80
|
+
resolveExtensions,
|
|
81
|
+
external: ["@system*"],
|
|
82
|
+
platform: "node",
|
|
83
|
+
target: "node14",
|
|
84
|
+
// 目标平台设置为最新 ECMAScript
|
|
85
|
+
define: build.initialOptions.define,
|
|
86
|
+
sourcemap: false,
|
|
87
|
+
minify: options.minify,
|
|
88
|
+
banner: {
|
|
89
|
+
js: `const packageName = "${packageName}";`
|
|
90
|
+
},
|
|
91
|
+
plugins: [
|
|
92
|
+
{
|
|
93
|
+
name: "forbid-modules",
|
|
94
|
+
setup(build2) {
|
|
95
|
+
build2.onResolve({ filter: /.*/ }, (args) => {
|
|
96
|
+
if (disallowed.includes(args.path)) {
|
|
97
|
+
return {
|
|
98
|
+
errors: [
|
|
99
|
+
{
|
|
100
|
+
text: `\u274C worker \u4E2D\u4F7F\u7528\u4E86\u88AB\u7981\u6B62\u7684\u6A21\u5757 "${args.path}"\uFF0C\u8BF7\u79FB\u9664\uFF01`
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
...(_a2 = options.plugins) != null ? _a2 : []
|
|
110
|
+
]
|
|
111
|
+
});
|
|
112
|
+
} catch (err) {
|
|
113
|
+
process.exit(21);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
buildServerPlugin
|
|
121
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./buildServer";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glyphix",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"types/",
|
|
9
9
|
"template/",
|
|
10
10
|
"script/",
|
|
11
|
-
"libs/"
|
|
11
|
+
"libs/",
|
|
12
|
+
"cjs/"
|
|
12
13
|
],
|
|
13
14
|
"bin": {
|
|
14
15
|
"glyphix": "./bin/glyphix.js"
|
|
@@ -19,12 +20,26 @@
|
|
|
19
20
|
"import": {
|
|
20
21
|
"types": "./types/index.d.ts",
|
|
21
22
|
"default": "./libs/index.js"
|
|
23
|
+
},
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./types/index.d.ts",
|
|
26
|
+
"default": "./cjs/index.js"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"./plugin": {
|
|
30
|
+
"import": {
|
|
31
|
+
"types": "./types/plugin/index.d.ts",
|
|
32
|
+
"default": "./libs/plugin/index.js"
|
|
33
|
+
},
|
|
34
|
+
"require": {
|
|
35
|
+
"types": "./types/plugin/index.d.ts",
|
|
36
|
+
"default": "./cjs/plugin/index.js"
|
|
22
37
|
}
|
|
23
38
|
}
|
|
24
39
|
},
|
|
25
40
|
"scripts": {
|
|
26
41
|
"dev": "cross-env NODE_ENV=development ts-node src/index.ts generate",
|
|
27
|
-
"build": "rimraf dist && ts-node script/build.ts",
|
|
42
|
+
"build": "rimraf dist && ts-node script/build.ts && ts-node script/buildPlugin.ts",
|
|
28
43
|
"dev:local": "ts-node script/build.ts && sudo npm install /Users/hui/Documents/workspaces/work/appstore/develop-tools/gxTools/dist -g"
|
|
29
44
|
},
|
|
30
45
|
"keywords": [
|
|
@@ -37,7 +52,7 @@
|
|
|
37
52
|
"@types/adm-zip": "^0.5.7",
|
|
38
53
|
"@types/fs-extra": "^11.0.4",
|
|
39
54
|
"@types/lodash": "^4.17.15",
|
|
40
|
-
"@types/node": "^
|
|
55
|
+
"@types/node": "^24.1.0",
|
|
41
56
|
"@types/ramda": "^0.30.2",
|
|
42
57
|
"@types/yargs": "^17.0.33",
|
|
43
58
|
"cross-env": "^7.0.3",
|
|
@@ -60,4 +75,4 @@
|
|
|
60
75
|
"yargs": "^17.7.2"
|
|
61
76
|
},
|
|
62
77
|
"packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
|
|
63
|
-
}
|
|
78
|
+
}
|