@codelet/cli-service 0.0.16 → 0.0.18
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/config.d.ts +2 -0
- package/dist/config.js +36 -20
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +39 -1
- package/package.json +3 -3
package/dist/config.d.ts
CHANGED
package/dist/config.js
CHANGED
|
@@ -14,11 +14,12 @@ const path_1 = __importDefault(require("path"));
|
|
|
14
14
|
const webpackbar_1 = __importDefault(require("webpackbar"));
|
|
15
15
|
const utils_1 = require("./utils");
|
|
16
16
|
function getDefaultConfig(options) {
|
|
17
|
-
const { entryPath, source, externalSource, pageIndex, publicDir, isDev } = Object.assign({
|
|
17
|
+
const { entryPath, source, externalSource, npmDir, pageIndex, publicDir, isDev } = Object.assign({
|
|
18
18
|
isDev: false,
|
|
19
19
|
pageIndex: '',
|
|
20
20
|
publicDir: 'public',
|
|
21
21
|
externalSource: [],
|
|
22
|
+
npmDir: '',
|
|
22
23
|
entryPath: './src',
|
|
23
24
|
source: [
|
|
24
25
|
'app.(js|ts)',
|
|
@@ -31,6 +32,7 @@ function getDefaultConfig(options) {
|
|
|
31
32
|
entryPath,
|
|
32
33
|
externalFiles,
|
|
33
34
|
});
|
|
35
|
+
const resolveNpmDirRequest = npmDir ? (0, utils_1.createNpmDirRequestResolver)(npmDir) : () => '';
|
|
34
36
|
// 模式
|
|
35
37
|
const mode = isDev ? 'development' : 'production';
|
|
36
38
|
// 插件
|
|
@@ -50,6 +52,7 @@ function getDefaultConfig(options) {
|
|
|
50
52
|
noErrorOnMissing: true, // 若 public 目录不存在时不报错
|
|
51
53
|
},
|
|
52
54
|
...(0, utils_1.createExternalCopyPatterns)(entryPath, externalSource),
|
|
55
|
+
...(0, utils_1.createNpmDirCopyPatterns)(npmDir),
|
|
53
56
|
],
|
|
54
57
|
}),
|
|
55
58
|
new webpackbar_1.default(),
|
|
@@ -83,35 +86,48 @@ function getDefaultConfig(options) {
|
|
|
83
86
|
entryPath,
|
|
84
87
|
source,
|
|
85
88
|
externalSource,
|
|
89
|
+
npmDir,
|
|
86
90
|
publicDir,
|
|
87
91
|
webpack: {
|
|
88
92
|
mode,
|
|
89
93
|
devtool: false,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
callback
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
94
|
+
...(externalSource.length > 0 || Boolean(npmDir)
|
|
95
|
+
? {
|
|
96
|
+
externalsType: 'commonjs',
|
|
97
|
+
externals: [
|
|
98
|
+
({ context, request }, callback) => {
|
|
99
|
+
if (!context || !request) {
|
|
100
|
+
callback();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const npmRequest = resolveNpmDirRequest(request);
|
|
104
|
+
if (npmRequest) {
|
|
105
|
+
callback(null, `commonjs ${npmRequest}`);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const targetFile = resolveExternalFile(context, request);
|
|
109
|
+
if (!targetFile) {
|
|
110
|
+
callback();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const targetRequest = path_1.default
|
|
114
|
+
.relative((0, utils_1.resolve)(entryPath), targetFile)
|
|
115
|
+
.replace(/\\/g, '/')
|
|
116
|
+
.replace(/\.js$/, '');
|
|
117
|
+
callback(null, `commonjs ${utils_1.externalRequestPlaceholderPrefix}${targetRequest}`);
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
}
|
|
121
|
+
: {}),
|
|
109
122
|
output: {
|
|
110
123
|
filename: '[name].js',
|
|
111
124
|
path: (0, utils_1.resolve)('dist'),
|
|
112
125
|
publicPath: '/',
|
|
113
126
|
clean: true,
|
|
114
127
|
},
|
|
128
|
+
watchOptions: {
|
|
129
|
+
ignored: (0, utils_1.createWatchIgnored)([publicDir, npmDir]),
|
|
130
|
+
},
|
|
115
131
|
resolve: {
|
|
116
132
|
alias: {
|
|
117
133
|
'@': (0, utils_1.resolve)(entryPath),
|
package/dist/utils.d.ts
CHANGED
|
@@ -13,10 +13,13 @@ export declare const parseDir: (entryPath: string, source: string[]) => {
|
|
|
13
13
|
};
|
|
14
14
|
export declare const resolveExternalFiles: (entryPath: string, externalSource: string[]) => string[];
|
|
15
15
|
export declare const createExternalCopyPatterns: (entryPath: string, externalSource: string[]) => ObjectPattern[];
|
|
16
|
+
export declare const createNpmDirCopyPatterns: (npmDir: string) => ObjectPattern[];
|
|
16
17
|
export declare const createExternalRequestResolver: (options: {
|
|
17
18
|
entryPath: string;
|
|
18
19
|
externalFiles: string[];
|
|
19
20
|
}) => (context: string, request: string) => string;
|
|
21
|
+
export declare const createNpmDirRequestResolver: (npmDir: string) => (request: string) => string;
|
|
22
|
+
export declare const createWatchIgnored: (dirs: string[]) => NonNullable<NonNullable<Configuration["watchOptions"]>["ignored"]>;
|
|
20
23
|
export declare class RewriteExternalRequestPlugin {
|
|
21
24
|
apply(compiler: Compiler): void;
|
|
22
25
|
}
|
package/dist/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createOptimization = exports.RewriteExternalRequestPlugin = exports.createExternalRequestResolver = exports.createExternalCopyPatterns = exports.resolveExternalFiles = exports.parseDir = exports.resolveSourceRoot = exports.resolveEntryRoot = exports.resolve = exports.externalRequestPlaceholderPrefix = exports.cmd = void 0;
|
|
6
|
+
exports.createOptimization = exports.RewriteExternalRequestPlugin = exports.createWatchIgnored = exports.createNpmDirRequestResolver = exports.createExternalRequestResolver = exports.createNpmDirCopyPatterns = exports.createExternalCopyPatterns = exports.resolveExternalFiles = exports.parseDir = exports.resolveSourceRoot = exports.resolveEntryRoot = exports.resolve = exports.externalRequestPlaceholderPrefix = exports.cmd = void 0;
|
|
7
7
|
exports.getOptionValue = getOptionValue;
|
|
8
8
|
exports.parseArgv = parseArgv;
|
|
9
9
|
exports.getConfig = getConfig;
|
|
@@ -53,6 +53,19 @@ const createExternalCopyPatterns = (entryPath, externalSource) => {
|
|
|
53
53
|
}));
|
|
54
54
|
};
|
|
55
55
|
exports.createExternalCopyPatterns = createExternalCopyPatterns;
|
|
56
|
+
const createNpmDirCopyPatterns = (npmDir) => {
|
|
57
|
+
if (!npmDir) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
return [
|
|
61
|
+
{
|
|
62
|
+
from: (0, exports.resolve)(npmDir),
|
|
63
|
+
to: path_1.default.basename(npmDir),
|
|
64
|
+
noErrorOnMissing: true,
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
};
|
|
68
|
+
exports.createNpmDirCopyPatterns = createNpmDirCopyPatterns;
|
|
56
69
|
const createExternalRequestResolver = (options) => {
|
|
57
70
|
const entryRoot = (0, exports.resolveEntryRoot)(options.entryPath);
|
|
58
71
|
const externalFileSet = new Set(options.externalFiles);
|
|
@@ -80,6 +93,31 @@ const createExternalRequestResolver = (options) => {
|
|
|
80
93
|
};
|
|
81
94
|
};
|
|
82
95
|
exports.createExternalRequestResolver = createExternalRequestResolver;
|
|
96
|
+
const createNpmDirRequestResolver = (npmDir) => {
|
|
97
|
+
const npmRoot = (0, exports.resolve)(npmDir);
|
|
98
|
+
return (request) => {
|
|
99
|
+
if (!request ||
|
|
100
|
+
request.startsWith('.') ||
|
|
101
|
+
request.startsWith('@/') ||
|
|
102
|
+
path_1.default.isAbsolute(request)) {
|
|
103
|
+
return '';
|
|
104
|
+
}
|
|
105
|
+
const requestPath = request.replace(/\\/g, '/');
|
|
106
|
+
const candidates = [
|
|
107
|
+
path_1.default.join(npmRoot, requestPath),
|
|
108
|
+
path_1.default.join(npmRoot, `${requestPath}.js`),
|
|
109
|
+
path_1.default.join(npmRoot, `${requestPath}.json`),
|
|
110
|
+
path_1.default.join(npmRoot, requestPath, 'index.js'),
|
|
111
|
+
path_1.default.join(npmRoot, requestPath, 'index.json'),
|
|
112
|
+
];
|
|
113
|
+
return candidates.some((candidate) => fs_1.default.existsSync(candidate)) ? request : '';
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
exports.createNpmDirRequestResolver = createNpmDirRequestResolver;
|
|
117
|
+
const createWatchIgnored = (dirs) => {
|
|
118
|
+
return dirs.filter(Boolean).map((dir) => (0, exports.resolve)(dir).replace(/\\/g, '/'));
|
|
119
|
+
};
|
|
120
|
+
exports.createWatchIgnored = createWatchIgnored;
|
|
83
121
|
class RewriteExternalRequestPlugin {
|
|
84
122
|
apply(compiler) {
|
|
85
123
|
compiler.hooks.thisCompilation.tap('RewriteExternalRequestPlugin', (compilation) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codelet/cli-service",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"description": "cli-service",
|
|
5
5
|
"bin": {
|
|
6
6
|
"codelet-cli-service": "./bin/codelet-cli-service.js"
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"webpack": "5.89.0",
|
|
42
42
|
"webpack-merge": "^5.10.0",
|
|
43
43
|
"webpackbar": "^6.0.0",
|
|
44
|
-
"@codelet/app-json-webpack-plugin": "^0.0.8",
|
|
45
|
-
"@codelet/copy-loader": "^0.0.7",
|
|
46
44
|
"@codelet/hmr-webpack-plugin": "^0.0.3",
|
|
45
|
+
"@codelet/app-json-webpack-plugin": "^0.0.8",
|
|
47
46
|
"@codelet/inject-chunk-webpack-plugin": "^0.0.8",
|
|
47
|
+
"@codelet/copy-loader": "^0.0.7",
|
|
48
48
|
"@codelet/wxml-loader": "^0.0.9"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|