mbler 0.1.1 → 0.1.3-alpha
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/LICENSE +21 -0
- package/README.md +28 -0
- package/lib/build/base.js +297 -1
- package/lib/build/build-g-config.json +11 -11
- package/lib/build/getModule.js +182 -1
- package/lib/build/index.js +370 -1
- package/lib/build/manifest.build.js +103 -1
- package/lib/build/mcVersion.js +86 -1
- package/lib/build/utils.js +6 -1
- package/lib/code-processor/c-handler-export.js +12 -1
- package/lib/code-processor/index.js +141 -1
- package/lib/code-processor/mtreehandler.js +164 -1
- package/lib/commander/index.js +154 -1
- package/lib/data/includes.json +12 -12
- package/lib/git/clone.js +28 -1
- package/lib/git/index.js +12 -1
- package/lib/git/pull.js +100 -1
- package/lib/lang/__translate.js +93 -1
- package/lib/lang/en.js +128 -1
- package/lib/lang/index.js +78 -1
- package/lib/lang/zh.js +146 -1
- package/lib/loger/colors.js +13 -1
- package/lib/loger/index.js +136 -1
- package/lib/mcx/ast/index.js +11 -1
- package/lib/mcx/ast/prop.js +78 -1
- package/lib/mcx/ast/tag.js +246 -1
- package/lib/mcx/compile-component/lib.js +106 -1
- package/lib/mcx/compile-component/types.js +2 -1
- package/lib/mcx/compile-component/utils.js +26 -1
- package/lib/mcx/compile-mcx/_compile.js +1 -1
- package/lib/mcx/compile-mcx/compile.js +34 -1
- package/lib/mcx/compile-mcx/context.js +19 -1
- package/lib/mcx/compile-mcx/index.js +10 -1
- package/lib/mcx/compile-mcx/mcx/index.js +2 -1
- package/lib/mcx/compile-mcx/mcx/types.js +2 -1
- package/lib/mcx/compile-mcx/template/module.js +42 -1
- package/lib/mcx/compile-mcx/types.js +2 -1
- package/lib/mcx/compile-mcx/utils.node.js +207 -1
- package/lib/mcx/index.js +13 -1
- package/lib/mcx/test/index.js +7 -1
- package/lib/mcx/test.js +21 -1
- package/lib/mcx/types.js +2 -1
- package/lib/mcx/utils.js +86 -1
- package/lib/module-handler/index.js +482 -1
- package/lib/modules/create-game/src/Runner/RunnerManager.js +113 -1
- package/lib/modules/create-game/src/Runner/scriptRunner.js +70 -1
- package/lib/modules/create-game/src/config.js +27 -1
- package/lib/modules/create-game/src/constants.js +19 -1
- package/lib/modules/create-game/src/createGameModule.js +24 -1
- package/lib/modules/create-game/src/gameComponent/common/autoStop.js +38 -1
- package/lib/modules/create-game/src/gameComponent/common/lazyLoader.js +76 -1
- package/lib/modules/create-game/src/gameComponent/common/stopWatch/onTimeEvent.js +36 -1
- package/lib/modules/create-game/src/gameComponent/common/stopWatch/stopWatch.js +90 -1
- package/lib/modules/create-game/src/gameComponent/common/stopWatch/tickEvent.js +29 -1
- package/lib/modules/create-game/src/gameComponent/common/timer/onTimeEvent.js +36 -1
- package/lib/modules/create-game/src/gameComponent/common/timer/tickEvent.js +29 -1
- package/lib/modules/create-game/src/gameComponent/common/timer/timer.js +87 -1
- package/lib/modules/create-game/src/gameComponent/gameComponent.js +53 -1
- package/lib/modules/create-game/src/gameComponent/index.js +31 -1
- package/lib/modules/create-game/src/gameComponent/player/blockInteractionBlocker.js +40 -1
- package/lib/modules/create-game/src/gameComponent/player/entityInteractionBlocker.js +48 -1
- package/lib/modules/create-game/src/gameComponent/player/healthIndicator.js +48 -1
- package/lib/modules/create-game/src/gameComponent/player/regionMonitor.js +22 -1
- package/lib/modules/create-game/src/gameComponent/player/respawn.js +59 -1
- package/lib/modules/create-game/src/gameComponent/player/spawnProtector.js +69 -1
- package/lib/modules/create-game/src/gameComponent/region/regionProtecter.js +53 -1
- package/lib/modules/create-game/src/gameComponent/region/regionTeamChooser.js +71 -1
- package/lib/modules/create-game/src/gameComponent/region/regionTeamCleaner.js +20 -1
- package/lib/modules/create-game/src/gameComponent/view/infoScoreboard.js +77 -1
- package/lib/modules/create-game/src/gameComponent/view/teamScoreboard.js +83 -1
- package/lib/modules/create-game/src/gameContext.js +6 -1
- package/lib/modules/create-game/src/gameEngine.js +139 -1
- package/lib/modules/create-game/src/gameEvent/eventManager.js +108 -1
- package/lib/modules/create-game/src/gameEvent/eventSignal.js +28 -1
- package/lib/modules/create-game/src/gameEvent/events/buttonPush.js +41 -1
- package/lib/modules/create-game/src/gameEvent/events/inSlot.js +77 -1
- package/lib/modules/create-game/src/gameEvent/events/interval.js +51 -1
- package/lib/modules/create-game/src/gameEvent/events/itemUse.js +36 -1
- package/lib/modules/create-game/src/gameEvent/events/onBlock.js +106 -1
- package/lib/modules/create-game/src/gameEvent/events/regionEvents.js +105 -1
- package/lib/modules/create-game/src/gameEvent/events/signClick.js +45 -1
- package/lib/modules/create-game/src/gameEvent/gameEvent.js +54 -1
- package/lib/modules/create-game/src/gameEvent/index.js +20 -1
- package/lib/modules/create-game/src/gameEvent/mapEventSignal.js +101 -1
- package/lib/modules/create-game/src/gameEvent/subscription.js +17 -1
- package/lib/modules/create-game/src/gamePlayer/gamePlayer.js +102 -1
- package/lib/modules/create-game/src/gamePlayer/groupBuilder.js +38 -1
- package/lib/modules/create-game/src/gamePlayer/groupSet.js +96 -1
- package/lib/modules/create-game/src/gamePlayer/index.js +25 -1
- package/lib/modules/create-game/src/gamePlayer/playerGroup.js +145 -1
- package/lib/modules/create-game/src/gamePlayer/playerManager.js +57 -1
- package/lib/modules/create-game/src/gameRegion/gameRegion.js +229 -1
- package/lib/modules/create-game/src/gameRegion/index.js +43 -1
- package/lib/modules/create-game/src/gameRegion/regionHelper.js +79 -1
- package/lib/modules/create-game/src/gameState/common/autoStop.js +39 -1
- package/lib/modules/create-game/src/gameState/gameState.js +169 -1
- package/lib/modules/create-game/src/gameState/index.js +7 -1
- package/lib/modules/create-game/src/gameState/types.js +35 -1
- package/lib/modules/create-game/src/gameStructure/gameStructure.js +36 -1
- package/lib/modules/create-game/src/main.js +86 -1
- package/lib/modules/create-game/src/system/gameCommand.js +107 -1
- package/lib/modules/create-game/src/system/gameManager.js +124 -1
- package/lib/modules/create-game/src/system/globalPlayerManager.js +119 -1
- package/lib/modules/create-game/src/utils/GameError.js +31 -1
- package/lib/modules/create-game/src/utils/algorithm.js +95 -1
- package/lib/modules/create-game/src/utils/chunk.js +63 -1
- package/lib/modules/create-game/src/utils/deferredObject.js +27 -1
- package/lib/modules/create-game/src/utils/duration.js +25 -1
- package/lib/modules/create-game/src/utils/func.js +20 -1
- package/lib/modules/create-game/src/utils/index.js +52 -1
- package/lib/modules/create-game/src/utils/interfaces.js +2 -1
- package/lib/modules/create-game/src/utils/logger.js +47 -1
- package/lib/modules/create-game/src/utils/random.js +76 -1
- package/lib/modules/create-game/src/utils/vanila-data.js +123 -1
- package/lib/modules/create-game/src/utils/vector.js +96 -1
- package/lib/modules/gameLib/src/config.js +134 -1
- package/lib/modules/gameLib/src/data.js +77 -1
- package/lib/modules/gameLib/src/entity.js +256 -1
- package/lib/modules/gameLib/src/event.js +285 -1
- package/lib/modules/gameLib/src/index.js +20 -1
- package/lib/modules/gameLib/src/loger.js +21 -1
- package/lib/modules/gameLib/src/ui.js +209 -1
- package/lib/modules/gameLib/src/utils.js +122 -1
- package/lib/modules/gutils/src/index.js +22 -1
- package/lib/runTemp/File.js +54 -1
- package/lib/runTemp/index.js +137 -1
- package/lib/runTemp/securityFile.js +93 -1
- package/lib/start/addPack.js +3 -1
- package/lib/start/clean.js +84 -1
- package/lib/start/create.js +146 -1
- package/lib/start/dev.js +99 -1
- package/lib/start/getResConfig.js +3 -1
- package/lib/start/incg.js +3 -1
- package/lib/start/index.js +207 -1
- package/lib/start/init.js +125 -1
- package/lib/start/rechce.js +57 -1
- package/lib/start/unaddPack.js +3 -1
- package/lib/start/unincg.js +67 -1
- package/lib/start/version.js +73 -1
- package/lib/utils/index.js +298 -1
- package/lib/uuid/index.js +27 -1
- package/package.json +1 -1
- package/test/script-mbler/behavior/scripts/index.js +0 -5
package/lib/start/clean.js
CHANGED
|
@@ -1 +1,84 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
40
|
+
const utils = __importStar(require("./../utils/index.js"));
|
|
41
|
+
const index_js_1 = __importDefault(require("./../loger/index.js"));
|
|
42
|
+
const path_1 = __importDefault(require("path"));
|
|
43
|
+
const index_js_2 = __importDefault(require("./../lang/index.js"));
|
|
44
|
+
class Clean {
|
|
45
|
+
p;
|
|
46
|
+
dirname;
|
|
47
|
+
outdir = [];
|
|
48
|
+
constructor(p, baseDir) {
|
|
49
|
+
this.p = p;
|
|
50
|
+
this.dirname = baseDir;
|
|
51
|
+
}
|
|
52
|
+
run = () => this.start().catch((err) => {
|
|
53
|
+
index_js_1.default.e(err);
|
|
54
|
+
});
|
|
55
|
+
async start() {
|
|
56
|
+
if (!await utils.FileExsit(this.p)) {
|
|
57
|
+
utils.Exit(`项目不存在`);
|
|
58
|
+
}
|
|
59
|
+
// 获取 mbler.config.json
|
|
60
|
+
try {
|
|
61
|
+
const packager = await utils.GetData(this.p);
|
|
62
|
+
// 提取输出目录
|
|
63
|
+
this.outdir = [
|
|
64
|
+
/*resources*/
|
|
65
|
+
this.getOutDir(packager.outdir?.resources),
|
|
66
|
+
/*behavior*/
|
|
67
|
+
this.getOutDir(packager.outdir?.behavior)
|
|
68
|
+
];
|
|
69
|
+
await Promise.all(this.outdir.map((dir) => promises_1.default.rm(dir, {
|
|
70
|
+
recursive: true,
|
|
71
|
+
force: true
|
|
72
|
+
}).catch(() => { })));
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
index_js_1.default.e('clean', err);
|
|
76
|
+
}
|
|
77
|
+
index_js_1.default.i('clean', index_js_2.default.cleanFinally);
|
|
78
|
+
}
|
|
79
|
+
getOutDir(dir) {
|
|
80
|
+
const outdir = dir;
|
|
81
|
+
return outdir ? utils.join(this.p, outdir) : path_1.default.join(this.p, 'dist');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.default = Clean;
|
package/lib/start/create.js
CHANGED
|
@@ -1 +1,146 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
const index_js_1 = __importDefault(require("./../uuid/index.js"));
|
|
39
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
40
|
+
const utils = __importStar(require("./../utils/index.js"));
|
|
41
|
+
const path_1 = __importDefault(require("path"));
|
|
42
|
+
const index_js_2 = __importDefault(require("./../git/index.js"));
|
|
43
|
+
const child_process_1 = require("child_process");
|
|
44
|
+
const index_js_3 = __importDefault(require("./../runTemp/index.js"));
|
|
45
|
+
const securityFile_js_1 = __importDefault(require("./../runTemp/securityFile.js"));
|
|
46
|
+
const regex = /(https?:\/\/[^\s\/]+\/[^\s\/]+\/[^\s]+(?:\.git)?|(?:git@|[\w.-]+@)[\w.-]+:[^\s]+(?:\.git)?)/;
|
|
47
|
+
const npmStart = "npm:";
|
|
48
|
+
let dirname = '';
|
|
49
|
+
async function Load(cacheDir, workDir) {
|
|
50
|
+
const main = JSON.parse(await promises_1.default.readFile(path_1.default.join(cacheDir, "package.json"), {
|
|
51
|
+
encoding: "utf-8"
|
|
52
|
+
})).main;
|
|
53
|
+
const MblerConfig = JSON.parse(await promises_1.default.readFile(path_1.default.join(cacheDir, "mbler.config.json"), {
|
|
54
|
+
encoding: "utf-8"
|
|
55
|
+
}));
|
|
56
|
+
const query = {
|
|
57
|
+
name: MblerConfig.name,
|
|
58
|
+
description: MblerConfig.description,
|
|
59
|
+
version: MblerConfig.version,
|
|
60
|
+
// securityFile提供不能来到上级的文件操作
|
|
61
|
+
setWorkDir: new securityFile_js_1.default(workDir)
|
|
62
|
+
};
|
|
63
|
+
let run = require(path_1.default.join(cacheDir, main));
|
|
64
|
+
run = run.main(query);
|
|
65
|
+
if (run instanceof Promise)
|
|
66
|
+
run = await run;
|
|
67
|
+
}
|
|
68
|
+
function runNpm(param, cwd) {
|
|
69
|
+
return new Promise((resolve, reject) => {
|
|
70
|
+
const processC = (0, child_process_1.spawn)('npm', param, {
|
|
71
|
+
cwd,
|
|
72
|
+
stdio: 'ignore'
|
|
73
|
+
});
|
|
74
|
+
processC.on('close', resolve);
|
|
75
|
+
processC.on('error', (err) => {
|
|
76
|
+
reject(err);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
async function NpmInstall(dependencies, tagerDir) {
|
|
81
|
+
const temp = new index_js_3.default(path_1.default.join(require("os").tmpdir(), "mbler"));
|
|
82
|
+
await temp.init();
|
|
83
|
+
const { dir } = temp;
|
|
84
|
+
await promises_1.default.writeFile(path_1.default.join(dir, "package.json"), JSON.stringify({
|
|
85
|
+
name: "",
|
|
86
|
+
description: "",
|
|
87
|
+
version: "0.0.1",
|
|
88
|
+
type: "commjs"
|
|
89
|
+
}));
|
|
90
|
+
const rel = await runNpm(["install", dependencies], dir);
|
|
91
|
+
if (rel !== 0)
|
|
92
|
+
throw new Error(`npm package install falled`);
|
|
93
|
+
const ModDor = path_1.default.join(dir, "node_modules");
|
|
94
|
+
// 复制到目标目录
|
|
95
|
+
await copy(ModDor, tagerDir);
|
|
96
|
+
await temp.remove();
|
|
97
|
+
}
|
|
98
|
+
function copy(source, out) {
|
|
99
|
+
return new Promise((then, error) => promises_1.default.readdir(source)
|
|
100
|
+
.then((data) => Promise.all(data
|
|
101
|
+
.map((file) => utils.copy(path_1.default.join(source, file), path_1.default.join(out, file)))).then(() => then()))
|
|
102
|
+
.catch(error));
|
|
103
|
+
}
|
|
104
|
+
module.exports = async function workDirFunction(workDir, _dirname, param = "") {
|
|
105
|
+
param = param.trim();
|
|
106
|
+
dirname = _dirname;
|
|
107
|
+
// 如果已经初始化了
|
|
108
|
+
try {
|
|
109
|
+
if (!workDir)
|
|
110
|
+
throw new Error("Wrok Dir is undefined");
|
|
111
|
+
if (await utils.isMblerProject(workDir))
|
|
112
|
+
throw new Error("WorkDir is init You shouldn't use 'create' command");
|
|
113
|
+
// 缓存id
|
|
114
|
+
const CreateId = index_js_1.default.fromString(`ul-to-${param}`);
|
|
115
|
+
const cacheDir = path_1.default.join(process.cwd(), "lib/initializer-cache", CreateId);
|
|
116
|
+
// 如果缓存存在
|
|
117
|
+
if (await utils.FileExsit(cacheDir)) {
|
|
118
|
+
await Load(cacheDir, workDir);
|
|
119
|
+
// 不存在缓存
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const dir = utils.join(dirname, param);
|
|
123
|
+
// 尝试匹配为git url
|
|
124
|
+
if (regex.test(param)) {
|
|
125
|
+
await index_js_2.default.clone(param, cacheDir);
|
|
126
|
+
}
|
|
127
|
+
else if (param.startsWith(npmStart)) {
|
|
128
|
+
// 如果是 npm 包,需要加上 npm: 前缀
|
|
129
|
+
const packageName = param.slice(npmStart.length);
|
|
130
|
+
// 开始npm安装
|
|
131
|
+
await NpmInstall(packageName, cacheDir);
|
|
132
|
+
}
|
|
133
|
+
else if (await utils.FileExsit(dir)) {
|
|
134
|
+
// 情况 : 输入路径
|
|
135
|
+
await copy(param, cacheDir);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
throw new Error("Package source not match");
|
|
139
|
+
}
|
|
140
|
+
await Load(cacheDir, workDir);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error(`加载模板初始化失败 错误信息\n${err.stack}`);
|
|
145
|
+
}
|
|
146
|
+
};
|
package/lib/start/dev.js
CHANGED
|
@@ -1 +1,99 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
const chokidar = __importStar(require("chokidar"));
|
|
39
|
+
const index_js_1 = __importDefault(require("./../build/index.js"));
|
|
40
|
+
const index_js_2 = __importDefault(require("./../loger/index.js"));
|
|
41
|
+
const utils = __importStar(require("./../utils/index.js"));
|
|
42
|
+
const index_js_3 = __importDefault(require("./../lang/index.js"));
|
|
43
|
+
class Dev {
|
|
44
|
+
cwd;
|
|
45
|
+
baseDir;
|
|
46
|
+
build;
|
|
47
|
+
isBuilding = false;
|
|
48
|
+
pending = false;
|
|
49
|
+
constructor(cwd, baseDir) {
|
|
50
|
+
this.cwd = cwd;
|
|
51
|
+
this.baseDir = baseDir;
|
|
52
|
+
this.build = new index_js_1.default(cwd, baseDir);
|
|
53
|
+
}
|
|
54
|
+
async start() {
|
|
55
|
+
index_js_2.default.i("Dev", index_js_3.default.dev?.start || "开始即时监听构建");
|
|
56
|
+
await this.build.build();
|
|
57
|
+
this.startWatcher();
|
|
58
|
+
}
|
|
59
|
+
startWatcher() {
|
|
60
|
+
const watchPath = this.cwd;
|
|
61
|
+
const watcher = chokidar.watch(watchPath, {
|
|
62
|
+
ignoreInitial: true,
|
|
63
|
+
ignored: [
|
|
64
|
+
"**/dist/**",
|
|
65
|
+
"**/.git/**",
|
|
66
|
+
"**/node_modules/**",
|
|
67
|
+
"**/lib/data/cache/**",
|
|
68
|
+
"dist/**"
|
|
69
|
+
],
|
|
70
|
+
persistent: true,
|
|
71
|
+
usePolling: true,
|
|
72
|
+
interval: 150
|
|
73
|
+
});
|
|
74
|
+
watcher.on("all", async (event, filePath) => {
|
|
75
|
+
index_js_2.default.i("Dev", `${index_js_3.default.dev?.tip || "监听到变化"} ${event} ${filePath}`);
|
|
76
|
+
if (this.isBuilding) {
|
|
77
|
+
this.pending = true;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
await this.rebuild();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async rebuild() {
|
|
84
|
+
this.isBuilding = true;
|
|
85
|
+
try {
|
|
86
|
+
index_js_2.default.i("Dev", index_js_3.default.dev?.start_d || "开始增量构建");
|
|
87
|
+
await this.build.build();
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
index_js_2.default.e("Dev", (index_js_3.default.err_bulid || "构建错误") + utils.toString(err));
|
|
91
|
+
}
|
|
92
|
+
this.isBuilding = false;
|
|
93
|
+
if (this.pending) {
|
|
94
|
+
this.pending = false;
|
|
95
|
+
await this.rebuild();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
module.exports = async (workDir, baseDir) => new Dev(workDir, baseDir).start();
|
package/lib/start/incg.js
CHANGED
package/lib/start/index.js
CHANGED
|
@@ -1 +1,207 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
40
|
+
const index_js_1 = __importDefault(require("./../lang/index.js"));
|
|
41
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
42
|
+
const utils = __importStar(require("./../utils/index.js"));
|
|
43
|
+
const db = '.cache/mbler/.path.db';
|
|
44
|
+
require("./../commander/index.js");
|
|
45
|
+
const node_process_1 = __importDefault(require("node:process"));
|
|
46
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
47
|
+
class start {
|
|
48
|
+
command;
|
|
49
|
+
two;
|
|
50
|
+
param;
|
|
51
|
+
dirname;
|
|
52
|
+
DataPath;
|
|
53
|
+
constructor(dir) {
|
|
54
|
+
this.dirname = dir;
|
|
55
|
+
this.param = "";
|
|
56
|
+
this.DataPath = node_path_1.default.join(node_os_1.default.homedir(), db);
|
|
57
|
+
this.command = node_process_1.default.argv[2] || '';
|
|
58
|
+
this.two = (node_process_1.default.argv[3] || '').trim();
|
|
59
|
+
this.start();
|
|
60
|
+
}
|
|
61
|
+
v = () => {
|
|
62
|
+
const { version: v } = require('./../../package.json');
|
|
63
|
+
console.log(`MBLER : ${v}`);
|
|
64
|
+
};
|
|
65
|
+
build = async () => {
|
|
66
|
+
const Bulid = require('./../build').default;
|
|
67
|
+
const build = new Bulid(this.param, this.dirname);
|
|
68
|
+
await build.build();
|
|
69
|
+
};
|
|
70
|
+
help = () => {
|
|
71
|
+
const cmds = index_js_1.default.commands;
|
|
72
|
+
if (cmds.list.includes(this.two) && typeof cmds[this.two] === "string") {
|
|
73
|
+
let cmd = cmds[this.two];
|
|
74
|
+
if (cmd.startsWith("$"))
|
|
75
|
+
cmd = cmds[cmd.slice(1)];
|
|
76
|
+
console.log(`-- '${this.two}' command -- : \n`);
|
|
77
|
+
console.log(`Usage : ${cmd}`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this.echoHelp();
|
|
81
|
+
};
|
|
82
|
+
checkout = async () => {
|
|
83
|
+
if (this.two)
|
|
84
|
+
this.two = utils.join(node_process_1.default.cwd(), this.two || './');
|
|
85
|
+
if (!(await utils.FileExsit(this.two)) || !this.two || this.param === this.two) {
|
|
86
|
+
console.log(this.param);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
if (!(await utils.FileExsit(node_path_1.default.dirname(this.DataPath)))) {
|
|
91
|
+
await promises_1.default.mkdir(node_path_1.default.dirname(this.DataPath));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (err) { }
|
|
95
|
+
await promises_1.default.writeFile(this.DataPath, this.two);
|
|
96
|
+
console.log(index_js_1.default.s0, `PATH => ${this.two}`);
|
|
97
|
+
};
|
|
98
|
+
init = () => {
|
|
99
|
+
const Init = require('./init.js');
|
|
100
|
+
const init = new Init(this.param, this.dirname);
|
|
101
|
+
return init.start();
|
|
102
|
+
};
|
|
103
|
+
async start() {
|
|
104
|
+
await this.getWorkDir();
|
|
105
|
+
const commandcc = this.command.toLowerCase().trim();
|
|
106
|
+
const commandMap = {
|
|
107
|
+
build: this.build,
|
|
108
|
+
dev: () => require('./dev')(this.param, this.dirname),
|
|
109
|
+
create: () => require('./create')(this.param, this.dirname, this.two),
|
|
110
|
+
"": () => this.echoHelp(),
|
|
111
|
+
recache: () => require('./rechce')(this.dirname, this.param),
|
|
112
|
+
lang: () => {
|
|
113
|
+
if (this.two)
|
|
114
|
+
index_js_1.default.__internal.set(this.two);
|
|
115
|
+
console.log(index_js_1.default.__internal.class.currenyLang);
|
|
116
|
+
},
|
|
117
|
+
"-h": this.help,
|
|
118
|
+
"-help": this.help,
|
|
119
|
+
"help": this.help,
|
|
120
|
+
version: () => {
|
|
121
|
+
const version = require('./version.js');
|
|
122
|
+
new version(this.param, this.dirname);
|
|
123
|
+
},
|
|
124
|
+
"v": this.v,
|
|
125
|
+
"-v": this.v,
|
|
126
|
+
checkout: this.checkout,
|
|
127
|
+
"-c": this.checkout,
|
|
128
|
+
init: this.init,
|
|
129
|
+
"-i": this.init,
|
|
130
|
+
"web_edit": () => {
|
|
131
|
+
const edit = require('./../web');
|
|
132
|
+
new edit({
|
|
133
|
+
PORT: 1025,
|
|
134
|
+
PATH: this.param
|
|
135
|
+
});
|
|
136
|
+
},
|
|
137
|
+
install: async () => require('./incg.js')(this.dirname, this.param),
|
|
138
|
+
uninstall: () => require('./unincg.js')(this.two, this.dirname),
|
|
139
|
+
add: () => require('./addPack.js')(this.two, this.dirname, this.param),
|
|
140
|
+
remive: () => require('./unaddPack.js')(this.two, this.dirname, this.param),
|
|
141
|
+
clean: async () => {
|
|
142
|
+
const clean = require('./clean.js');
|
|
143
|
+
await (new clean(this.param, this.dirname)).run();
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const run = commandMap[commandcc];
|
|
147
|
+
try {
|
|
148
|
+
if (typeof run === "function") {
|
|
149
|
+
const i = run();
|
|
150
|
+
if (i instanceof Promise)
|
|
151
|
+
await i;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.defaultCommand(commandcc);
|
|
155
|
+
}
|
|
156
|
+
node_process_1.default.exit(0);
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
console.error(err);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
defaultCommand(commandcc) {
|
|
163
|
+
console.log(`\x1b[31m${index_js_1.default.uncommand}: ${this.command.toLowerCase().trim()}\x1b[0m`);
|
|
164
|
+
const didvalue = index_js_1.default.commands.list.map((item) => this.getMatchChance(commandcc, item)).reduce((acc, cur, index) => {
|
|
165
|
+
try {
|
|
166
|
+
if (cur > acc.max) {
|
|
167
|
+
return {
|
|
168
|
+
max: cur,
|
|
169
|
+
index: index
|
|
170
|
+
}; // 更新最大值及索引
|
|
171
|
+
}
|
|
172
|
+
else if (cur === acc.max) {
|
|
173
|
+
acc.indices.push(index); // 记录重复最大值的索引
|
|
174
|
+
return acc;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch { }
|
|
178
|
+
return acc;
|
|
179
|
+
}, {
|
|
180
|
+
max: -Infinity,
|
|
181
|
+
index: -1,
|
|
182
|
+
indices: []
|
|
183
|
+
});
|
|
184
|
+
const value = index_js_1.default.commands.list[didvalue.index];
|
|
185
|
+
if (value)
|
|
186
|
+
console.log(`${index_js_1.default.noCommandTip} ${value}`);
|
|
187
|
+
}
|
|
188
|
+
async getWorkDir() {
|
|
189
|
+
try {
|
|
190
|
+
this.param = (await promises_1.default.readFile(this.DataPath, 'utf-8')).toString() || "./test";
|
|
191
|
+
}
|
|
192
|
+
catch (err) { }
|
|
193
|
+
}
|
|
194
|
+
echoHelp() {
|
|
195
|
+
console.log(index_js_1.default.help);
|
|
196
|
+
}
|
|
197
|
+
getMatchChance(a, b) {
|
|
198
|
+
let match = 0;
|
|
199
|
+
// b = 比较值,a = 待比较值
|
|
200
|
+
for (let i = 0; i < b.length; i++) {
|
|
201
|
+
if (a[i] == b[i])
|
|
202
|
+
match++;
|
|
203
|
+
}
|
|
204
|
+
return match / b.length;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
module.exports = start;
|