earthsdk3-assets 3.0.18 → 3.0.20
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/package.json +1 -1
- package/src/core/copyAssets.cjs +1 -1
- package/src/core/copyAssets.js +1 -1
- package/src/plugins/rspack.cjs +9 -8
- package/src/plugins/vite.js +24 -25
- package/src/plugins/webpack.cjs +9 -8
package/package.json
CHANGED
package/src/core/copyAssets.cjs
CHANGED
|
@@ -4,7 +4,7 @@ const path = require('path');
|
|
|
4
4
|
const IGNORE_FILES = new Set(['.assets-version', '.assets-manifest.json']);
|
|
5
5
|
|
|
6
6
|
function copyAssetsToDest(assetsDir, rootDir, outDir) {
|
|
7
|
-
const dest = path.join(outDir, 'js');
|
|
7
|
+
const dest = path.join(outDir, 'js', 'earthsdk3-assets');
|
|
8
8
|
fs.mkdirSync(dest, { recursive: true });
|
|
9
9
|
|
|
10
10
|
if (fs.existsSync(assetsDir)) {
|
package/src/core/copyAssets.js
CHANGED
|
@@ -4,7 +4,7 @@ import path from 'path';
|
|
|
4
4
|
const IGNORE_FILES = new Set(['.assets-version', '.assets-manifest.json']);
|
|
5
5
|
|
|
6
6
|
export function copyAssetsToDest(assetsDir, rootDir, outDir) {
|
|
7
|
-
const dest = path.join(outDir, 'js');
|
|
7
|
+
const dest = path.join(outDir, 'js', 'earthsdk3-assets');
|
|
8
8
|
fs.mkdirSync(dest, { recursive: true });
|
|
9
9
|
|
|
10
10
|
if (fs.existsSync(assetsDir)) {
|
package/src/plugins/rspack.cjs
CHANGED
|
@@ -53,13 +53,13 @@ class EarthsdkAssetsRspackPlugin {
|
|
|
53
53
|
'EarthsdkAssetsRspackPlugin',
|
|
54
54
|
(data, cb) => {
|
|
55
55
|
data.assetTags.scripts.unshift({
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
tagName: 'script',
|
|
57
|
+
voidTag: false,
|
|
58
|
+
attributes: {
|
|
59
|
+
src: '/js/earthsdk3-assets/earthsdk3-assets.js'
|
|
60
|
+
},
|
|
61
|
+
meta: { plugin: 'earthsdk-assets' }
|
|
62
|
+
});
|
|
63
63
|
cb(null, data);
|
|
64
64
|
}
|
|
65
65
|
);
|
|
@@ -72,12 +72,13 @@ class EarthsdkAssetsRspackPlugin {
|
|
|
72
72
|
|
|
73
73
|
compiler.hooks.afterEnvironment.tap('EarthsdkAssetsRspackPlugin', () => {
|
|
74
74
|
const devServer = compiler.options.devServer;
|
|
75
|
+
const outputPath = compiler.options.output.path || 'dist';
|
|
75
76
|
if (devServer) {
|
|
76
77
|
const originalSetup = devServer.setupMiddlewares;
|
|
77
78
|
devServer.setupMiddlewares = (middlewares, devServer) => {
|
|
78
79
|
devServer.app.use('/js', (req, res, next) => {
|
|
79
80
|
try {
|
|
80
|
-
const filePath = path.resolve(
|
|
81
|
+
const filePath = path.resolve(outputPath, '.' + decodeURIComponent(req.url));
|
|
81
82
|
if (!fs.existsSync(filePath)) {
|
|
82
83
|
next();
|
|
83
84
|
return;
|
package/src/plugins/vite.js
CHANGED
|
@@ -20,8 +20,16 @@ async function ensureAssets(assetsDir, cacheFile, manifestCacheFile) {
|
|
|
20
20
|
|
|
21
21
|
export default function earthsdkAssetsVite(options = {}) {
|
|
22
22
|
let outDir = 'dist';
|
|
23
|
+
let publicDir = 'public';
|
|
23
24
|
const { assetsDir, cacheFile, manifestCacheFile } = getAssetsPaths(ROOT_DIR);
|
|
24
25
|
|
|
26
|
+
function createSymlink(src, dest) {
|
|
27
|
+
if (fs.existsSync(dest)) {
|
|
28
|
+
fs.unlinkSync(dest);
|
|
29
|
+
}
|
|
30
|
+
fs.symlinkSync(src, dest, 'junction');
|
|
31
|
+
}
|
|
32
|
+
|
|
25
33
|
return {
|
|
26
34
|
name: 'earthsdk-assets',
|
|
27
35
|
|
|
@@ -30,7 +38,7 @@ export default function earthsdkAssetsVite(options = {}) {
|
|
|
30
38
|
{
|
|
31
39
|
tag: 'script',
|
|
32
40
|
attrs: {
|
|
33
|
-
src: '/js/earthsdk3-assets.js'
|
|
41
|
+
src: '/js/earthsdk3-assets/earthsdk3-assets.js'
|
|
34
42
|
},
|
|
35
43
|
injectTo: 'head'
|
|
36
44
|
}
|
|
@@ -39,35 +47,26 @@ export default function earthsdkAssetsVite(options = {}) {
|
|
|
39
47
|
|
|
40
48
|
configResolved(config) {
|
|
41
49
|
outDir = config.build.outDir;
|
|
50
|
+
publicDir = config.publicDir || 'public';
|
|
42
51
|
},
|
|
43
52
|
|
|
44
53
|
async configureServer(server) {
|
|
45
54
|
await ensureAssets(assetsDir, cacheFile, manifestCacheFile);
|
|
46
55
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
webp: 'image/webp',
|
|
62
|
-
glb: 'model/gltf-binary',
|
|
63
|
-
bin: 'application/octet-stream'
|
|
64
|
-
};
|
|
65
|
-
res.setHeader('Content-Type', mimeTypes[ext] || 'application/octet-stream');
|
|
66
|
-
fs.createReadStream(filePath).pipe(res);
|
|
67
|
-
} catch (err) {
|
|
68
|
-
next(err);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
56
|
+
const publicAssetsDir = path.resolve(publicDir, 'js', 'earthsdk3-assets');
|
|
57
|
+
fs.mkdirSync(publicAssetsDir, { recursive: true });
|
|
58
|
+
|
|
59
|
+
const sdkSrc = path.join(ROOT_DIR, 'earthsdk3-assets.js');
|
|
60
|
+
if (fs.existsSync(sdkSrc)) {
|
|
61
|
+
createSymlink(sdkSrc, path.join(publicAssetsDir, 'earthsdk3-assets.js'));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const assetsDest = path.join(publicAssetsDir, 'assets');
|
|
65
|
+
if (fs.existsSync(assetsDir)) {
|
|
66
|
+
createSymlink(assetsDir, assetsDest);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
console.log('[earthsdk-assets] 开发模式:已创建软连接到 public/js/earthsdk3-assets/');
|
|
71
70
|
},
|
|
72
71
|
|
|
73
72
|
async closeBundle() {
|
package/src/plugins/webpack.cjs
CHANGED
|
@@ -43,13 +43,13 @@ class EarthsdkAssetsWebpackPlugin {
|
|
|
43
43
|
'EarthsdkAssetsWebpackPlugin',
|
|
44
44
|
(data, cb) => {
|
|
45
45
|
data.assetTags.scripts.unshift({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
tagName: 'script',
|
|
47
|
+
voidTag: false,
|
|
48
|
+
attributes: {
|
|
49
|
+
src: '/js/earthsdk3-assets/earthsdk3-assets.js'
|
|
50
|
+
},
|
|
51
|
+
meta: { plugin: 'earthsdk-assets' }
|
|
52
|
+
});
|
|
53
53
|
cb(null, data);
|
|
54
54
|
}
|
|
55
55
|
);
|
|
@@ -62,12 +62,13 @@ class EarthsdkAssetsWebpackPlugin {
|
|
|
62
62
|
|
|
63
63
|
compiler.hooks.afterEnvironment.tap('EarthsdkAssetsWebpackPlugin', () => {
|
|
64
64
|
const devServer = compiler.options.devServer;
|
|
65
|
+
const outputPath = compiler.options.output.path || 'dist';
|
|
65
66
|
if (devServer) {
|
|
66
67
|
const originalSetup = devServer.setupMiddlewares;
|
|
67
68
|
devServer.setupMiddlewares = (middlewares, devServer) => {
|
|
68
69
|
devServer.app.use('/js', (req, res, next) => {
|
|
69
70
|
try {
|
|
70
|
-
const filePath = path.resolve(
|
|
71
|
+
const filePath = path.resolve(outputPath, '.' + decodeURIComponent(req.url));
|
|
71
72
|
if (!fs.existsSync(filePath)) {
|
|
72
73
|
next();
|
|
73
74
|
return;
|