@hnb-pkg/apacker 2.0.5-pre.1 → 2.0.5-pre.3
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/apacker.js +8 -3
- package/dist/bin/apacker.js.map +1 -1
- package/dist/bundle.d.ts +2 -1
- package/dist/bundle.js +5 -5
- package/dist/bundle.js.map +1 -1
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/parser.d.ts +15 -0
- package/dist/config/parser.js +68 -0
- package/dist/config/parser.js.map +1 -0
- package/dist/dev.d.ts +2 -1
- package/dist/dev.js +2 -2
- package/dist/dev.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/compile/index.d.ts +5 -3
- package/dist/tools/compile/index.js +28 -25
- package/dist/tools/compile/index.js.map +1 -1
- package/package.json +3 -1
package/dist/bin/apacker.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const packageFile = require("../../package.json");
|
|
4
5
|
const extra_typings_1 = require("@commander-js/extra-typings");
|
|
5
6
|
const ffmpeg_util_1 = require("../ffmpeg-util");
|
|
6
|
-
const packageFile = require("../../package.json");
|
|
7
7
|
const myutils_1 = require("@hnb-pkg/myutils");
|
|
8
|
+
const parser_1 = require("../config/parser");
|
|
8
9
|
const versionStr = `Apacker ${packageFile.version} (ffmpeg: ${ffmpeg_util_1.versions.ffmpeg}, ffprobe: ${ffmpeg_util_1.versions.ffprobe})`;
|
|
9
10
|
extra_typings_1.program
|
|
10
11
|
.name("apacker")
|
|
@@ -21,7 +22,9 @@ extra_typings_1.program
|
|
|
21
22
|
const { dev } = await Promise.resolve().then(() => require("../dev"));
|
|
22
23
|
if (!version)
|
|
23
24
|
version = "v1";
|
|
24
|
-
|
|
25
|
+
const config = { ...(0, parser_1.loadConfig)(), ...options };
|
|
26
|
+
console.log(config);
|
|
27
|
+
await dev(version, config);
|
|
25
28
|
});
|
|
26
29
|
extra_typings_1.program
|
|
27
30
|
.command("build [version]")
|
|
@@ -32,7 +35,9 @@ extra_typings_1.program
|
|
|
32
35
|
if (!version)
|
|
33
36
|
version = "v1";
|
|
34
37
|
const base = process.cwd();
|
|
35
|
-
|
|
38
|
+
const config = { ...(0, parser_1.loadConfig)(), ...options };
|
|
39
|
+
console.log(config);
|
|
40
|
+
await bundle(base, version, config);
|
|
36
41
|
});
|
|
37
42
|
extra_typings_1.program
|
|
38
43
|
.command("clear [version]")
|
package/dist/bin/apacker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apacker.js","sourceRoot":"","sources":["../../src/bin/apacker.ts"],"names":[],"mappings":";;;AAEA,+DAAsD;AACtD,gDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"apacker.js","sourceRoot":"","sources":["../../src/bin/apacker.ts"],"names":[],"mappings":"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"}
|
package/dist/bundle.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ConfigOptions } from "./config";
|
|
2
|
+
export declare function bundle(base: string, version: string, config: ConfigOptions): Promise<void>;
|
package/dist/bundle.js
CHANGED
|
@@ -7,7 +7,7 @@ const archiver = require("archiver");
|
|
|
7
7
|
const myutils_1 = require("@hnb-pkg/myutils");
|
|
8
8
|
const compile_1 = require("./tools/compile");
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
|
-
async function bundle(base, version,
|
|
10
|
+
async function bundle(base, version, config) {
|
|
11
11
|
const projName = path.basename(base);
|
|
12
12
|
const projDir = path.join(base, version);
|
|
13
13
|
console.log(`验证版本目录:${version}`);
|
|
@@ -16,15 +16,15 @@ async function bundle(base, version, flat = false) {
|
|
|
16
16
|
throw new Error(myutils_1._c.r(`路径不存在:${projDir}`));
|
|
17
17
|
// 首次编译,确保生成文件存在
|
|
18
18
|
console.log("编译 TypeScript 并复制文件");
|
|
19
|
-
(0, compile_1.cleanDist)(projDir);
|
|
20
|
-
await (0, compile_1.compile)(projDir, projName,
|
|
19
|
+
(0, compile_1.cleanDist)(projDir, config);
|
|
20
|
+
await (0, compile_1.compile)(projDir, projName, config);
|
|
21
21
|
console.log("准备打包");
|
|
22
22
|
// 检查 dist 目录
|
|
23
|
-
const distPath = path.join(projDir,
|
|
23
|
+
const distPath = path.join(projDir, config.dist);
|
|
24
24
|
if (!fs.existsSync(distPath))
|
|
25
25
|
throw new Error(myutils_1._c.r(`dist 目录不存在:${distPath}`));
|
|
26
26
|
// 清空 release 目录
|
|
27
|
-
const releasePath = path.join(projDir,
|
|
27
|
+
const releasePath = path.join(projDir, config.release);
|
|
28
28
|
if (fs.existsSync(releasePath))
|
|
29
29
|
fs.rmSync(releasePath, { recursive: true, force: true });
|
|
30
30
|
fs.mkdirSync(releasePath, { recursive: true });
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;AASA,oCAEC;AAFD,SAAgB,YAAY,CAAC,MAA8B;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigOptions } from "./index";
|
|
2
|
+
/**
|
|
3
|
+
* 加载配置文件
|
|
4
|
+
*/
|
|
5
|
+
export declare function loadConfig(): ConfigOptions;
|
|
6
|
+
/**
|
|
7
|
+
* 查找配置文件路径
|
|
8
|
+
* @param startDir 起始目录,默认当前工作目录
|
|
9
|
+
*/
|
|
10
|
+
export declare function getConfigPath(startDir?: string): string | null;
|
|
11
|
+
/**
|
|
12
|
+
* 查找最近的 package.json 所在目录
|
|
13
|
+
* @param startDir 起始目录,默认当前工作目录
|
|
14
|
+
*/
|
|
15
|
+
export declare function getPackagePath(startDir?: string): string | null;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadConfig = loadConfig;
|
|
4
|
+
exports.getConfigPath = getConfigPath;
|
|
5
|
+
exports.getPackagePath = getPackagePath;
|
|
6
|
+
const fs = require("node:fs");
|
|
7
|
+
const path = require("node:path");
|
|
8
|
+
const availableNames = ["apacker.config.ts", "apacker.config.js"];
|
|
9
|
+
const defaultConfig = {
|
|
10
|
+
code: "code",
|
|
11
|
+
dist: "dist",
|
|
12
|
+
release: "release",
|
|
13
|
+
assets: "assets",
|
|
14
|
+
video: ["video"],
|
|
15
|
+
flatAssets: false,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* 加载配置文件
|
|
19
|
+
*/
|
|
20
|
+
function loadConfig() {
|
|
21
|
+
const configPath = getConfigPath();
|
|
22
|
+
if (!configPath)
|
|
23
|
+
return defaultConfig;
|
|
24
|
+
let userConfig;
|
|
25
|
+
try {
|
|
26
|
+
userConfig = require(configPath).default;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error(`加载配置文件失败: ${configPath}`);
|
|
30
|
+
console.error(error);
|
|
31
|
+
return defaultConfig;
|
|
32
|
+
}
|
|
33
|
+
return { ...defaultConfig, ...userConfig };
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 查找配置文件路径
|
|
37
|
+
* @param startDir 起始目录,默认当前工作目录
|
|
38
|
+
*/
|
|
39
|
+
function getConfigPath(startDir) {
|
|
40
|
+
const packageJsonDir = getPackagePath(startDir);
|
|
41
|
+
if (!packageJsonDir)
|
|
42
|
+
return null;
|
|
43
|
+
// 查找可用的配置文件
|
|
44
|
+
for (const name of availableNames) {
|
|
45
|
+
const configPath = path.join(packageJsonDir, name);
|
|
46
|
+
if (fs.existsSync(configPath))
|
|
47
|
+
return configPath;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 查找最近的 package.json 所在目录
|
|
53
|
+
* @param startDir 起始目录,默认当前工作目录
|
|
54
|
+
*/
|
|
55
|
+
function getPackagePath(startDir) {
|
|
56
|
+
let currentDir = startDir || process.cwd();
|
|
57
|
+
const root = path.parse(currentDir).root;
|
|
58
|
+
// 向上查找 package.json
|
|
59
|
+
while (currentDir !== root) {
|
|
60
|
+
const packageJsonPath = path.join(currentDir, "package.json");
|
|
61
|
+
// 找到则返回目录路径
|
|
62
|
+
if (fs.existsSync(packageJsonPath))
|
|
63
|
+
return currentDir;
|
|
64
|
+
currentDir = path.dirname(currentDir);
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":";;AAkBA,gCAYC;AAMD,sCASC;AAMD,wCAWC;AA9DD,8BAA8B;AAC9B,kCAAkC;AAGlC,MAAM,cAAc,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAElE,MAAM,aAAa,GAAkB;IACnC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;GAEG;AACH,SAAgB,UAAU;IACxB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,aAAa,CAAC;IACtC,IAAI,UAAkC,CAAC;IACvC,IAAI,CAAC;QACH,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,QAAiB;IAC7C,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACjC,YAAY;IACZ,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,QAAiB;IAC9C,IAAI,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IACzC,oBAAoB;IACpB,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,YAAY;QACZ,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,UAAU,CAAC;QACtD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/dev.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ConfigOptions } from "./config";
|
|
2
|
+
export declare function dev(version: string, config: ConfigOptions): Promise<void>;
|
package/dist/dev.js
CHANGED
|
@@ -6,10 +6,10 @@ const fs = require("node:fs");
|
|
|
6
6
|
const utils_js_1 = require("./utils.js");
|
|
7
7
|
const myutils_1 = require("@hnb-pkg/myutils");
|
|
8
8
|
const compile_1 = require("./tools/compile");
|
|
9
|
-
async function dev(version,
|
|
9
|
+
async function dev(version, config) {
|
|
10
10
|
const { projDir, projName } = (0, utils_js_1.getDirInfo)(process.cwd(), version);
|
|
11
11
|
checkTools();
|
|
12
|
-
const devFilePath = await (0, compile_1.compile)(projDir, projName,
|
|
12
|
+
const devFilePath = await (0, compile_1.compile)(projDir, projName, config);
|
|
13
13
|
(0, utils_js_1.openFileOrDir)(devFilePath);
|
|
14
14
|
(0, compile_1.runTscWatch)(projDir);
|
|
15
15
|
}
|
package/dist/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":";;AAOA,kBASC;AAhBD,iDAAyC;AACzC,8BAA8B;AAC9B,yCAAgE;AAChE,8CAAsC;AACtC,6CAAuD;AAGhD,KAAK,UAAU,GAAG,CAAC,OAAe,EAAE,MAAqB;IAC9D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,qBAAU,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAEjE,UAAU,EAAE,CAAC;IAEb,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAE3B,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO;IAC5C,IAAA,kBAAO,EAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,IAAA,kBAAO,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAA,wBAAQ,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,kBAAO,EAAC,eAAe,EAAE,YAAE,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,kBAAO,EAAC,eAAe,EAAE,YAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineConfig = void 0;
|
|
4
|
+
const config_1 = require("./config");
|
|
5
|
+
Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return config_1.defineConfig; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAC/B,6FADA,qBAAY,OACA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { ConfigOptions } from "../../config";
|
|
2
|
+
export declare function compile(base: string, name: string, config: ConfigOptions): Promise<string>;
|
|
2
3
|
/**
|
|
3
4
|
* 运行 tsc
|
|
4
5
|
* @param base 工作目录
|
|
@@ -12,9 +13,10 @@ export declare function runTscWatch(base: string): void;
|
|
|
12
13
|
/**
|
|
13
14
|
* 清理 dist/libs 目录
|
|
14
15
|
* @param base 工作目录
|
|
16
|
+
* @param config 配置项
|
|
15
17
|
*/
|
|
16
|
-
export declare function cleanDist(base: string): void;
|
|
18
|
+
export declare function cleanDist(base: string, config: ConfigOptions): void;
|
|
17
19
|
/**
|
|
18
20
|
* 复制视频文件
|
|
19
21
|
*/
|
|
20
|
-
export declare function copyAssets(base: string,
|
|
22
|
+
export declare function copyAssets(base: string, config: ConfigOptions): Promise<void>;
|
|
@@ -12,13 +12,13 @@ const myutils_1 = require("@hnb-pkg/myutils");
|
|
|
12
12
|
const utils_1 = require("../../utils");
|
|
13
13
|
const content_1 = require("../content");
|
|
14
14
|
const ffmpeg_util_1 = require("../../ffmpeg-util");
|
|
15
|
-
async function compile(base, name,
|
|
16
|
-
checkPublish(base);
|
|
15
|
+
async function compile(base, name, config) {
|
|
16
|
+
checkPublish(base, config);
|
|
17
17
|
runTsc(base);
|
|
18
|
-
await copyAssets(base,
|
|
19
|
-
const writer = new content_1.ContentWriter(base,
|
|
18
|
+
await copyAssets(base, config);
|
|
19
|
+
const writer = new content_1.ContentWriter(base, config.dist, "index.html", "dev.html");
|
|
20
20
|
// 收集 code 中的文件,映射到 libs 中
|
|
21
|
-
writer.collect(
|
|
21
|
+
writer.collect(config.code);
|
|
22
22
|
// 替换脚本标签
|
|
23
23
|
writer.replaceScripts();
|
|
24
24
|
// 替换标题
|
|
@@ -54,13 +54,13 @@ function runTscWatch(base) {
|
|
|
54
54
|
/**
|
|
55
55
|
* 生成 dist 目录
|
|
56
56
|
*/
|
|
57
|
-
function checkPublish(base) {
|
|
57
|
+
function checkPublish(base, config) {
|
|
58
58
|
// 创建 dist 目录
|
|
59
|
-
const distDir = path.join(base,
|
|
59
|
+
const distDir = path.join(base, config.dist);
|
|
60
60
|
fs.mkdirSync(distDir, { recursive: true });
|
|
61
61
|
fs.writeFileSync(path.join(distDir, ".gitkeep"), "");
|
|
62
62
|
// 创建 assets 目录
|
|
63
|
-
const assetsDir = path.join(base,
|
|
63
|
+
const assetsDir = path.join(base, config.assets);
|
|
64
64
|
fs.mkdirSync(assetsDir, { recursive: true });
|
|
65
65
|
fs.writeFileSync(path.join(assetsDir, ".gitkeep"), "");
|
|
66
66
|
if (fs.existsSync(path.join(distDir, "index.html")))
|
|
@@ -71,10 +71,11 @@ function checkPublish(base) {
|
|
|
71
71
|
/**
|
|
72
72
|
* 清理 dist/libs 目录
|
|
73
73
|
* @param base 工作目录
|
|
74
|
+
* @param config 配置项
|
|
74
75
|
*/
|
|
75
|
-
function cleanDist(base) {
|
|
76
|
+
function cleanDist(base, config) {
|
|
76
77
|
// 清理 dist/libs 目录,保留 1.0.0(createjs)
|
|
77
|
-
const libsDir = path.join(base,
|
|
78
|
+
const libsDir = path.join(base, config.dist, "libs");
|
|
78
79
|
const libsFiles = fs.readdirSync(libsDir);
|
|
79
80
|
libsFiles.forEach(file => {
|
|
80
81
|
if (file === "1.0.0")
|
|
@@ -83,7 +84,7 @@ function cleanDist(base) {
|
|
|
83
84
|
fs.rmSync(filePath, { recursive: true, force: true });
|
|
84
85
|
});
|
|
85
86
|
// 清理 copyAssets 拷贝的文件
|
|
86
|
-
const distDir = path.join(base,
|
|
87
|
+
const distDir = path.join(base, config.dist);
|
|
87
88
|
const distFiles = fs.readdirSync(distDir);
|
|
88
89
|
distFiles.forEach(file => {
|
|
89
90
|
const ignored = ["images", "libs", "sounds", "index.html", "dev.html", "index.js"];
|
|
@@ -96,22 +97,24 @@ function cleanDist(base) {
|
|
|
96
97
|
/**
|
|
97
98
|
* 复制视频文件
|
|
98
99
|
*/
|
|
99
|
-
async function copyAssets(base,
|
|
100
|
+
async function copyAssets(base, config) {
|
|
100
101
|
console.log("检测并复制媒体文件");
|
|
101
|
-
const codeAssetsDir = path.join(base,
|
|
102
|
-
const distAssetsDir =
|
|
102
|
+
const codeAssetsDir = path.join(base, config.assets);
|
|
103
|
+
const distAssetsDir = config.flatAssets ? path.join(base, config.dist) : path.join(base, config.dist, config.assets);
|
|
103
104
|
// 处理视频文件
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
fs.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
105
|
+
config.video.forEach(vPath => {
|
|
106
|
+
const videoPath = path.join(codeAssetsDir, vPath);
|
|
107
|
+
if (!fs.existsSync(videoPath))
|
|
108
|
+
fs.mkdirSync(videoPath, { recursive: true });
|
|
109
|
+
(0, ffmpeg_util_1.rewriteVideos)(path.join(codeAssetsDir, vPath));
|
|
110
|
+
// 复制媒体文件到 dist 目录,忽略下划线开头的文件或文件夹
|
|
111
|
+
if (!fs.existsSync(codeAssetsDir))
|
|
112
|
+
return;
|
|
113
|
+
fs.cpSync(codeAssetsDir, distAssetsDir, {
|
|
114
|
+
filter: f => !/^_/.test(path.basename(f)),
|
|
115
|
+
recursive: true,
|
|
116
|
+
force: true,
|
|
117
|
+
});
|
|
115
118
|
});
|
|
116
119
|
}
|
|
117
120
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/compile/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/compile/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED