@windwalker-io/core 4.2.9 → 4.2.11
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 +19 -19
- package/dist/debugger/Dashboard-CzDoLneW.js +1 -0
- package/dist/debugger/{Database-BGuRRq-L.js → Database-CSU8eOK6.js} +2 -2
- package/dist/debugger/DefaultLayout-fPOBRlxo.js +1 -0
- package/dist/debugger/Events-zF0JqyW4.js +1 -0
- package/dist/debugger/KeyValueTable-6M6bFpX8.js +1 -0
- package/dist/debugger/{Request-yQA1-Fkb.js → Request-DKOZpKRC.js} +1 -1
- package/dist/debugger/{Routing-C5mAPB17.js → Routing-puFmtUNp.js} +1 -1
- package/dist/debugger/{System-JFuNpoZY.js → System-Daos7PgT.js} +1 -1
- package/dist/debugger/{Timeline-Uii-K9v_.js → Timeline-BozTDh0s.js} +1 -1
- package/dist/debugger/debugger.js +11 -11
- package/dist/next.js +17 -4
- package/package.json +7 -3
- package/src/asset-bundler.mjs +114 -114
- package/src/debugger/types/global.d.js +2 -2
- package/src/index.mjs +10 -10
- package/src/legacy/4.0/js-sync.mjs +74 -74
- package/src/next/fusion/index.ts +2 -2
- package/src/next/fusion/plugins/assets.ts +29 -29
- package/src/next/fusion/plugins/index.ts +3 -3
- package/src/next/fusion/plugins/systemjs.ts +66 -66
- package/src/next/fusion/processors/cloneAssets.ts +85 -81
- package/src/next/fusion/processors/cssModulize.ts +128 -128
- package/src/next/fusion/processors/index.ts +4 -4
- package/src/next/fusion/processors/installVendors.ts +184 -184
- package/src/next/fusion/processors/jsModulize.ts +319 -307
- package/src/next/index.ts +2 -2
- package/src/next/utilities/asset-sync.ts +47 -47
- package/src/next/utilities/crypto.ts +11 -11
- package/src/next/utilities/fs.ts +61 -61
- package/src/next/utilities/index.ts +5 -5
- package/src/next/utilities/modules.ts +17 -17
- package/dist/debugger/Dashboard-Bm7ihi81.js +0 -1
- package/dist/debugger/DefaultLayout-DviqbPNR.js +0 -1
- package/dist/debugger/Events-CNF6gvg0.js +0 -1
- package/dist/debugger/KeyValueTable-BfTkP1Rg.js +0 -1
package/dist/next.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getGlobBaseFromPattern, callback, css, js, plugin, builder, callbackAfterBuild, copyGlob, symlink } from "@windwalker-io/fusion-next";
|
|
2
|
+
import fg from "fast-glob";
|
|
2
3
|
import isGlob from "is-glob";
|
|
3
4
|
import micromatch from "micromatch";
|
|
4
5
|
import path, { relative, normalize, resolve } from "node:path";
|
|
5
6
|
import fs from "node:fs";
|
|
6
|
-
import fg from "fast-glob";
|
|
7
7
|
import crypto, { randomBytes } from "node:crypto";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import fs$1 from "fs-extra";
|
|
@@ -113,9 +113,11 @@ function handleCloneAssets(builder2, clonePatterns) {
|
|
|
113
113
|
});
|
|
114
114
|
builder2.loadCallbacks.push((src) => {
|
|
115
115
|
if (src === id) {
|
|
116
|
-
const glob = clonePatterns.map((v) => v.replace(/\\/g, "/"))
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
const glob = clonePatterns.map((v) => v.replace(/\\/g, "/"));
|
|
117
|
+
const images = fg.globSync(glob).map((v) => v.startsWith("./") || !v.startsWith("/") ? `/${v}` : v);
|
|
118
|
+
const lines = images.map((v, i) => `import img${i++} from '${v}';`);
|
|
119
|
+
lines.push(`export default [${images.map((_, index) => `img${index}`).join(", ")}];`);
|
|
120
|
+
return lines.join("\n") + "\n";
|
|
119
121
|
}
|
|
120
122
|
});
|
|
121
123
|
}
|
|
@@ -310,6 +312,17 @@ class JsModulizeProcessor {
|
|
|
310
312
|
const inputFile = resolve(task.input);
|
|
311
313
|
const tmpPath = this.options.tmpPath ?? resolve("./tmp/fusion/jsmodules/").replace(/\\/g, "/");
|
|
312
314
|
const clean = this.options.cleanTmp ?? true;
|
|
315
|
+
if (builder2.config.build.watch) {
|
|
316
|
+
builder2.merge({
|
|
317
|
+
build: {
|
|
318
|
+
watch: {
|
|
319
|
+
exclude: [
|
|
320
|
+
tmpPath + "/**"
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
}
|
|
313
326
|
if (clean) {
|
|
314
327
|
builder2.postBuildCallbacks.push((options, bundle) => {
|
|
315
328
|
fs$1.removeSync(tmpPath);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@windwalker-io/core",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Windwalker Core JS package",
|
|
6
6
|
"scripts": {
|
|
@@ -64,16 +64,20 @@
|
|
|
64
64
|
"tailwindcss": "^3.0",
|
|
65
65
|
"typescript": "^5.1.6",
|
|
66
66
|
"unplugin-dts": "^1.0.0-beta.6",
|
|
67
|
-
"vite": "^7.1.6",
|
|
67
|
+
"vite": "^7.1.6||^8.0",
|
|
68
68
|
"vite-plugin-dts": "^4.5.4",
|
|
69
69
|
"vite-plugin-public-path": "^1.1.0",
|
|
70
70
|
"vue": "^3.0.11",
|
|
71
71
|
"vue-router": "^4.2.4",
|
|
72
72
|
"vuedraggable": "^3.0||^4.0.3"
|
|
73
73
|
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"vite": "^7.0||^8.0"
|
|
76
|
+
},
|
|
74
77
|
"windwalker": {
|
|
75
78
|
"vendors": [
|
|
76
79
|
"@windwalker-io/core"
|
|
77
80
|
]
|
|
78
|
-
}
|
|
81
|
+
},
|
|
82
|
+
"packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7"
|
|
79
83
|
}
|
package/src/asset-bundler.mjs
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
import { webpackBundle } from '@windwalker-io/fusion';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { globSync } from 'glob';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import { findModules } from './asset-sync.mjs';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* @param {string} mainFile
|
|
10
|
-
* @param {string|string[]} source
|
|
11
|
-
* @param {string} dest
|
|
12
|
-
* @param {any} options
|
|
13
|
-
* @returns {Promise<any>}
|
|
14
|
-
*/
|
|
15
|
-
export async function bundleJS(
|
|
16
|
-
mainFile = `./resources/assets/src/app.ts`,
|
|
17
|
-
source = 'src/Module/**/*.ts',
|
|
18
|
-
dest = 'www/assets/js/app/app.js',
|
|
19
|
-
options = {}
|
|
20
|
-
) {
|
|
21
|
-
const workingDir = process.cwd();
|
|
22
|
-
|
|
23
|
-
if (typeof source === 'string') {
|
|
24
|
-
source = [source];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const files = findFilesFromGlobArray([
|
|
28
|
-
...findModules('**/assets/*.ts'),
|
|
29
|
-
...source,
|
|
30
|
-
]);
|
|
31
|
-
|
|
32
|
-
let listJS = "{\n";
|
|
33
|
-
|
|
34
|
-
for (const file of files) {
|
|
35
|
-
if (file.fullpath.endsWith('.d.ts')) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
let key = file.relativePath.replace(/assets$/, '').toLowerCase();
|
|
40
|
-
key = key.substring(0, key.lastIndexOf('.'));
|
|
41
|
-
listJS += `'${key}': () => import('${file.fullpath}'),\n`;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
listJS += "}";
|
|
45
|
-
|
|
46
|
-
let ts = `
|
|
47
|
-
import loader from '@windwalker-io/core/src/loader/core-loader.ts';
|
|
48
|
-
|
|
49
|
-
loader.register(${listJS});
|
|
50
|
-
|
|
51
|
-
export default loader;
|
|
52
|
-
`;
|
|
53
|
-
|
|
54
|
-
// const base64 = Buffer.from(ts).toString('base64');
|
|
55
|
-
// const dataUri = `data:text/javascript;base64,${base64}`;
|
|
56
|
-
const tmpDir = workingDir + '/tmp/fusion';
|
|
57
|
-
fs.mkdirSync(tmpDir, { recursive: true });
|
|
58
|
-
|
|
59
|
-
const tmpFile = tmpDir + '/app.js';
|
|
60
|
-
fs.writeFileSync(tmpFile, ts);
|
|
61
|
-
|
|
62
|
-
const r = await webpackBundle(
|
|
63
|
-
tmpFile,
|
|
64
|
-
dest,
|
|
65
|
-
(config) => {
|
|
66
|
-
config.devtool = false;
|
|
67
|
-
// config.entry = dataUri;
|
|
68
|
-
// config.output.uniqueName = 'app';
|
|
69
|
-
config.output.libraryTarget = 'module';
|
|
70
|
-
config.experiments.outputModule = true;
|
|
71
|
-
config.resolve.modules.push(path.resolve('./'));
|
|
72
|
-
config.context = path.resolve('./');
|
|
73
|
-
config.resolve.alias = {
|
|
74
|
-
'@main': path.resolve(mainFile),
|
|
75
|
-
'@app': path.resolve(mainFile),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
// fs.unlinkSync(tmpFile);
|
|
81
|
-
|
|
82
|
-
return r;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function findFilesFromGlobArray(sources) {
|
|
86
|
-
let files = [];
|
|
87
|
-
|
|
88
|
-
for (const source of sources) {
|
|
89
|
-
files = [
|
|
90
|
-
...files,
|
|
91
|
-
...findFiles(source)
|
|
92
|
-
];
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return files;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* @param {string} src
|
|
100
|
-
*/
|
|
101
|
-
function findFiles(src) {
|
|
102
|
-
const i = src.lastIndexOf('**');
|
|
103
|
-
|
|
104
|
-
const path = src.substring(0, i);
|
|
105
|
-
|
|
106
|
-
return globSync(src).map((file) => {
|
|
107
|
-
file = file.replace(/\\/g, '/');
|
|
108
|
-
|
|
109
|
-
return {
|
|
110
|
-
fullpath: file,
|
|
111
|
-
relativePath: file.substring(path.length)
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
}
|
|
1
|
+
import { webpackBundle } from '@windwalker-io/fusion';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { globSync } from 'glob';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { findModules } from './asset-sync.mjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param {string} mainFile
|
|
10
|
+
* @param {string|string[]} source
|
|
11
|
+
* @param {string} dest
|
|
12
|
+
* @param {any} options
|
|
13
|
+
* @returns {Promise<any>}
|
|
14
|
+
*/
|
|
15
|
+
export async function bundleJS(
|
|
16
|
+
mainFile = `./resources/assets/src/app.ts`,
|
|
17
|
+
source = 'src/Module/**/*.ts',
|
|
18
|
+
dest = 'www/assets/js/app/app.js',
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const workingDir = process.cwd();
|
|
22
|
+
|
|
23
|
+
if (typeof source === 'string') {
|
|
24
|
+
source = [source];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const files = findFilesFromGlobArray([
|
|
28
|
+
...findModules('**/assets/*.ts'),
|
|
29
|
+
...source,
|
|
30
|
+
]);
|
|
31
|
+
|
|
32
|
+
let listJS = "{\n";
|
|
33
|
+
|
|
34
|
+
for (const file of files) {
|
|
35
|
+
if (file.fullpath.endsWith('.d.ts')) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let key = file.relativePath.replace(/assets$/, '').toLowerCase();
|
|
40
|
+
key = key.substring(0, key.lastIndexOf('.'));
|
|
41
|
+
listJS += `'${key}': () => import('${file.fullpath}'),\n`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
listJS += "}";
|
|
45
|
+
|
|
46
|
+
let ts = `
|
|
47
|
+
import loader from '@windwalker-io/core/src/loader/core-loader.ts';
|
|
48
|
+
|
|
49
|
+
loader.register(${listJS});
|
|
50
|
+
|
|
51
|
+
export default loader;
|
|
52
|
+
`;
|
|
53
|
+
|
|
54
|
+
// const base64 = Buffer.from(ts).toString('base64');
|
|
55
|
+
// const dataUri = `data:text/javascript;base64,${base64}`;
|
|
56
|
+
const tmpDir = workingDir + '/tmp/fusion';
|
|
57
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
58
|
+
|
|
59
|
+
const tmpFile = tmpDir + '/app.js';
|
|
60
|
+
fs.writeFileSync(tmpFile, ts);
|
|
61
|
+
|
|
62
|
+
const r = await webpackBundle(
|
|
63
|
+
tmpFile,
|
|
64
|
+
dest,
|
|
65
|
+
(config) => {
|
|
66
|
+
config.devtool = false;
|
|
67
|
+
// config.entry = dataUri;
|
|
68
|
+
// config.output.uniqueName = 'app';
|
|
69
|
+
config.output.libraryTarget = 'module';
|
|
70
|
+
config.experiments.outputModule = true;
|
|
71
|
+
config.resolve.modules.push(path.resolve('./'));
|
|
72
|
+
config.context = path.resolve('./');
|
|
73
|
+
config.resolve.alias = {
|
|
74
|
+
'@main': path.resolve(mainFile),
|
|
75
|
+
'@app': path.resolve(mainFile),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// fs.unlinkSync(tmpFile);
|
|
81
|
+
|
|
82
|
+
return r;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function findFilesFromGlobArray(sources) {
|
|
86
|
+
let files = [];
|
|
87
|
+
|
|
88
|
+
for (const source of sources) {
|
|
89
|
+
files = [
|
|
90
|
+
...files,
|
|
91
|
+
...findFiles(source)
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return files;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @param {string} src
|
|
100
|
+
*/
|
|
101
|
+
function findFiles(src) {
|
|
102
|
+
const i = src.lastIndexOf('**');
|
|
103
|
+
|
|
104
|
+
const path = src.substring(0, i);
|
|
105
|
+
|
|
106
|
+
return globSync(src).map((file) => {
|
|
107
|
+
file = file.replace(/\\/g, '/');
|
|
108
|
+
|
|
109
|
+
return {
|
|
110
|
+
fullpath: file,
|
|
111
|
+
relativePath: file.substring(path.length)
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare module '*.jpg';
|
|
2
|
-
declare module '*.svg';
|
|
1
|
+
declare module '*.jpg';
|
|
2
|
+
declare module '*.svg';
|
package/src/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Part of funclass project.
|
|
3
|
-
*
|
|
4
|
-
* @copyright Copyright (C) 2021 LYRASOFT.
|
|
5
|
-
* @license __LICENSE__
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
export * from './asset-sync.mjs';
|
|
9
|
-
export * from './asset-bundler.mjs';
|
|
10
|
-
export * from './install-vendors.mjs';
|
|
1
|
+
/**
|
|
2
|
+
* Part of funclass project.
|
|
3
|
+
*
|
|
4
|
+
* @copyright Copyright (C) 2021 LYRASOFT.
|
|
5
|
+
* @license __LICENSE__
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export * from './asset-sync.mjs';
|
|
9
|
+
export * from './asset-bundler.mjs';
|
|
10
|
+
export * from './install-vendors.mjs';
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { findModules } from '../../index.mjs';
|
|
2
|
-
import { dest as toDest, src, ts } from '@windwalker-io/fusion';
|
|
3
|
-
import { postStream, prepareStream } from '@windwalker-io/fusion/src/lifecycles.js';
|
|
4
|
-
import { extractDest } from '@windwalker-io/fusion/src/utilities/utilities.js';
|
|
5
|
-
import { existsSync } from 'fs';
|
|
6
|
-
import rename from 'gulp-rename';
|
|
7
|
-
import path from 'path';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @deprecated
|
|
11
|
-
*/
|
|
12
|
-
export function jsSync(source = 'src/Module', dest, options = {}) {
|
|
13
|
-
const tsOptions = options.ts || {};
|
|
14
|
-
|
|
15
|
-
if (!tsOptions.tsconfig) {
|
|
16
|
-
tsOptions.tsconfig = path.resolve('tsconfig.json');
|
|
17
|
-
|
|
18
|
-
if (!existsSync(tsOptions.tsconfig)) {
|
|
19
|
-
tsOptions.tsconfig = path.resolve('node_modules/@windwalker-io/unicorn/tsconfig.js.json');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const sourceList = [];
|
|
24
|
-
|
|
25
|
-
sourceList.push(...findModules('**/assets/*.{js,mjs}'));
|
|
26
|
-
sourceList.push(source + '**/assets/*.{js,mjs}');
|
|
27
|
-
|
|
28
|
-
let stream = prepareStream(src(sourceList));
|
|
29
|
-
|
|
30
|
-
stream = stream.pipe(rename((path) => {
|
|
31
|
-
path.dirname = path.dirname.replace(/assets$/, '').toLowerCase();
|
|
32
|
-
}));
|
|
33
|
-
|
|
34
|
-
const jsDest = extractDest(dest);
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
// // if (dest.merge) {
|
|
38
|
-
// // stream = stream.pipe(rename(path.basename(dest.file)));
|
|
39
|
-
// // }
|
|
40
|
-
//
|
|
41
|
-
stream = stream.pipe(toDest(jsDest.path).on('error', e => console.error(e)));
|
|
42
|
-
|
|
43
|
-
return Promise.all([
|
|
44
|
-
new Promise((resolve) => {
|
|
45
|
-
postStream(stream).on('end', (event) => {
|
|
46
|
-
const data = {
|
|
47
|
-
event,
|
|
48
|
-
src,
|
|
49
|
-
dest: jsDest,
|
|
50
|
-
stream
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
resolve(data);
|
|
54
|
-
});
|
|
55
|
-
}),
|
|
56
|
-
// Legacy mode
|
|
57
|
-
ts(
|
|
58
|
-
[
|
|
59
|
-
...findModules('**/assets/*.ts'),
|
|
60
|
-
'node_modules/@windwalker-io/unicorn/src/types/*.d.ts',
|
|
61
|
-
`${source}/**/*.ts`,
|
|
62
|
-
],
|
|
63
|
-
dest,
|
|
64
|
-
{
|
|
65
|
-
rename: (path) => {
|
|
66
|
-
path.dirname = path.dirname.replace(/assets$/, '').toLowerCase();
|
|
67
|
-
},
|
|
68
|
-
...tsOptions
|
|
69
|
-
}
|
|
70
|
-
)
|
|
71
|
-
]).then((v) => {
|
|
72
|
-
return v[0];
|
|
73
|
-
});
|
|
74
|
-
}
|
|
1
|
+
import { findModules } from '../../index.mjs';
|
|
2
|
+
import { dest as toDest, src, ts } from '@windwalker-io/fusion';
|
|
3
|
+
import { postStream, prepareStream } from '@windwalker-io/fusion/src/lifecycles.js';
|
|
4
|
+
import { extractDest } from '@windwalker-io/fusion/src/utilities/utilities.js';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import rename from 'gulp-rename';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated
|
|
11
|
+
*/
|
|
12
|
+
export function jsSync(source = 'src/Module', dest, options = {}) {
|
|
13
|
+
const tsOptions = options.ts || {};
|
|
14
|
+
|
|
15
|
+
if (!tsOptions.tsconfig) {
|
|
16
|
+
tsOptions.tsconfig = path.resolve('tsconfig.json');
|
|
17
|
+
|
|
18
|
+
if (!existsSync(tsOptions.tsconfig)) {
|
|
19
|
+
tsOptions.tsconfig = path.resolve('node_modules/@windwalker-io/unicorn/tsconfig.js.json');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const sourceList = [];
|
|
24
|
+
|
|
25
|
+
sourceList.push(...findModules('**/assets/*.{js,mjs}'));
|
|
26
|
+
sourceList.push(source + '**/assets/*.{js,mjs}');
|
|
27
|
+
|
|
28
|
+
let stream = prepareStream(src(sourceList));
|
|
29
|
+
|
|
30
|
+
stream = stream.pipe(rename((path) => {
|
|
31
|
+
path.dirname = path.dirname.replace(/assets$/, '').toLowerCase();
|
|
32
|
+
}));
|
|
33
|
+
|
|
34
|
+
const jsDest = extractDest(dest);
|
|
35
|
+
|
|
36
|
+
//
|
|
37
|
+
// // if (dest.merge) {
|
|
38
|
+
// // stream = stream.pipe(rename(path.basename(dest.file)));
|
|
39
|
+
// // }
|
|
40
|
+
//
|
|
41
|
+
stream = stream.pipe(toDest(jsDest.path).on('error', e => console.error(e)));
|
|
42
|
+
|
|
43
|
+
return Promise.all([
|
|
44
|
+
new Promise((resolve) => {
|
|
45
|
+
postStream(stream).on('end', (event) => {
|
|
46
|
+
const data = {
|
|
47
|
+
event,
|
|
48
|
+
src,
|
|
49
|
+
dest: jsDest,
|
|
50
|
+
stream
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
resolve(data);
|
|
54
|
+
});
|
|
55
|
+
}),
|
|
56
|
+
// Legacy mode
|
|
57
|
+
ts(
|
|
58
|
+
[
|
|
59
|
+
...findModules('**/assets/*.ts'),
|
|
60
|
+
'node_modules/@windwalker-io/unicorn/src/types/*.d.ts',
|
|
61
|
+
`${source}/**/*.ts`,
|
|
62
|
+
],
|
|
63
|
+
dest,
|
|
64
|
+
{
|
|
65
|
+
rename: (path) => {
|
|
66
|
+
path.dirname = path.dirname.replace(/assets$/, '').toLowerCase();
|
|
67
|
+
},
|
|
68
|
+
...tsOptions
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
]).then((v) => {
|
|
72
|
+
return v[0];
|
|
73
|
+
});
|
|
74
|
+
}
|
package/src/next/fusion/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './plugins';
|
|
2
|
-
export * from './processors';
|
|
1
|
+
export * from './plugins';
|
|
2
|
+
export * from './processors';
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { type FusionPlugin } from '@windwalker-io/fusion-next';
|
|
2
|
-
import { getAvailableForReposition, handleCloneAssets, handleReposition } from '../processors/cloneAssets';
|
|
3
|
-
|
|
4
|
-
export interface WindwalkerAssetsOptions {
|
|
5
|
-
clone?: Record<string, string>;
|
|
6
|
-
reposition?: Record<string, string>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function globalAssets(options: WindwalkerAssetsOptions): FusionPlugin {
|
|
10
|
-
return {
|
|
11
|
-
name: 'core:global-assets',
|
|
12
|
-
buildConfig(builder) {
|
|
13
|
-
const clone = options.clone || {};
|
|
14
|
-
let reposition = options.reposition || {};
|
|
15
|
-
|
|
16
|
-
reposition = { ...reposition, ...getAvailableForReposition(clone) };
|
|
17
|
-
|
|
18
|
-
// Handle reposition
|
|
19
|
-
handleReposition(builder, reposition);
|
|
20
|
-
|
|
21
|
-
const clonePatterns = Object.keys(clone);
|
|
22
|
-
|
|
23
|
-
// Handle clone
|
|
24
|
-
if (clonePatterns.length > 0) {
|
|
25
|
-
handleCloneAssets(builder, clonePatterns);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
1
|
+
import { type FusionPlugin } from '@windwalker-io/fusion-next';
|
|
2
|
+
import { getAvailableForReposition, handleCloneAssets, handleReposition } from '../processors/cloneAssets';
|
|
3
|
+
|
|
4
|
+
export interface WindwalkerAssetsOptions {
|
|
5
|
+
clone?: Record<string, string>;
|
|
6
|
+
reposition?: Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function globalAssets(options: WindwalkerAssetsOptions): FusionPlugin {
|
|
10
|
+
return {
|
|
11
|
+
name: 'core:global-assets',
|
|
12
|
+
buildConfig(builder) {
|
|
13
|
+
const clone = options.clone || {};
|
|
14
|
+
let reposition = options.reposition || {};
|
|
15
|
+
|
|
16
|
+
reposition = { ...reposition, ...getAvailableForReposition(clone) };
|
|
17
|
+
|
|
18
|
+
// Handle reposition
|
|
19
|
+
handleReposition(builder, reposition);
|
|
20
|
+
|
|
21
|
+
const clonePatterns = Object.keys(clone);
|
|
22
|
+
|
|
23
|
+
// Handle clone
|
|
24
|
+
if (clonePatterns.length > 0) {
|
|
25
|
+
handleCloneAssets(builder, clonePatterns);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './assets';
|
|
2
|
-
export * from './systemjs';
|
|
3
|
-
|
|
1
|
+
export * from './assets';
|
|
2
|
+
export * from './systemjs';
|
|
3
|
+
|