@nasti-toolchain/nasti 2.5.0 → 2.5.2
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/README.md +34 -2
- package/dist/build-CENae4VM.js +748 -0
- package/dist/build-CENae4VM.js.map +1 -0
- package/dist/build-vjh6h7PB.cjs +786 -0
- package/dist/build-vjh6h7PB.cjs.map +1 -0
- package/dist/cli.cjs +166 -7608
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +1 -2
- package/dist/cli.d.ts +1 -2
- package/dist/cli.js +166 -7606
- package/dist/cli.js.map +1 -1
- package/dist/client/hmr.cjs +0 -19
- package/dist/client/hmr.d.cts +14 -12
- package/dist/client/hmr.d.cts.map +1 -0
- package/dist/client/hmr.d.ts +14 -12
- package/dist/client/hmr.d.ts.map +1 -0
- package/dist/client/hmr.js +1 -1
- package/dist/dev-engine-DJL9sfv5.cjs +473 -0
- package/dist/dev-engine-DJL9sfv5.cjs.map +1 -0
- package/dist/dev-engine-DapuTPIz.js +469 -0
- package/dist/dev-engine-DapuTPIz.js.map +1 -0
- package/dist/electron-Bj8H-BJ6.js +278 -0
- package/dist/electron-Bj8H-BJ6.js.map +1 -0
- package/dist/electron-D0PSXz-a.cjs +316 -0
- package/dist/electron-D0PSXz-a.cjs.map +1 -0
- package/dist/electron-dev-BzI2IFnR.cjs +272 -0
- package/dist/electron-dev-BzI2IFnR.cjs.map +1 -0
- package/dist/electron-dev-CM15gsFp.js +251 -0
- package/dist/electron-dev-CM15gsFp.js.map +1 -0
- package/dist/env-GY7K1zPK.js +833 -0
- package/dist/env-GY7K1zPK.js.map +1 -0
- package/dist/env-lOj3yw8v.cjs +924 -0
- package/dist/env-lOj3yw8v.cjs.map +1 -0
- package/dist/environment-B2jCrhY2.js +1361 -0
- package/dist/environment-B2jCrhY2.js.map +1 -0
- package/dist/environment-CjmvoHIG.cjs +1443 -0
- package/dist/environment-CjmvoHIG.cjs.map +1 -0
- package/dist/index.cjs +453 -7976
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +872 -817
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +872 -817
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +418 -7939
- package/dist/index.js.map +1 -1
- package/dist/logger-BVZwdqqT.js +116 -0
- package/dist/logger-BVZwdqqT.js.map +1 -0
- package/dist/logger-M7AuVVTV.cjs +171 -0
- package/dist/logger-M7AuVVTV.cjs.map +1 -0
- package/dist/runnable-environment-BjoOvdDa.js +1345 -0
- package/dist/runnable-environment-BjoOvdDa.js.map +1 -0
- package/dist/runnable-environment-ByA3DHQ6.cjs +1351 -0
- package/dist/runnable-environment-ByA3DHQ6.cjs.map +1 -0
- package/dist/server-Bqgl25z0.js +1871 -0
- package/dist/server-Bqgl25z0.js.map +1 -0
- package/dist/server-BynlMdFc.cjs +1895 -0
- package/dist/server-BynlMdFc.cjs.map +1 -0
- package/package.json +20 -10
- package/dist/client/hmr.cjs.map +0 -1
- package/dist/client/hmr.js.map +0 -1
package/README.md
CHANGED
|
@@ -116,6 +116,38 @@ export default defineConfig({
|
|
|
116
116
|
})
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
+
### 产物压缩:类名 / 属性名最小化
|
|
120
|
+
|
|
121
|
+
`build.minify` 接受 `boolean`、`'oxc'`、`'dce-only'` 或一个 OXC Minifier 选项对象(Rolldown 内置 OXC minifier)。历史值 `'oxc'` 等同于 `true`,保留用于兼容旧配置:
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
export default defineConfig({
|
|
125
|
+
build: {
|
|
126
|
+
minify: {
|
|
127
|
+
// 保留类名(依赖 Class.prototype.name 做注册 / 依赖注入的框架需要);
|
|
128
|
+
// 函数名照常最小化。默认二者都会被压缩。
|
|
129
|
+
mangle: { keepNames: { class: true, function: false } },
|
|
130
|
+
|
|
131
|
+
// 最小化属性名 —— Rolldown 1.2.6 · OXC 0.147 新增。
|
|
132
|
+
// 与 mangle 平级:它独立于标识符重命名之外单独处理属性名(含类成员)。
|
|
133
|
+
mangleProps: {
|
|
134
|
+
include: /^_/, // 只压缩下划线前缀的「私有」属性
|
|
135
|
+
exclude: /^__/, // 排除双下划线约定
|
|
136
|
+
reserved: ['_id'], // 精确豁免
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
> `mangleProps` 只按名字匹配、不做类型分析。凡是被未压缩代码、模块命名空间、
|
|
144
|
+
> 全局对象或宿主 API 持有的属性,都必须用 `exclude` / `reserved` 摘出去,
|
|
145
|
+
> 否则访问路径会被改坏。
|
|
146
|
+
> 仅支持最终生成一个 JavaScript chunk;分包产生多个 JS chunk 时 Rolldown 会报错。
|
|
147
|
+
> 单入口可设置 `build.rolldownOptions.output.codeSplitting: false` 内联动态导入。
|
|
148
|
+
|
|
149
|
+
`nasti build` 与 `nasti electron-build` 提供对应的粗粒度开关:`--minify` 显式启用压缩(可覆盖配置中的 `build.minify: false`),`--no-minify` 则显式关闭压缩。另有 `--keep-names`(同时保函数名与类名)、`--mangle-props <regex>`。未传这些 flag 时完全交由配置文件决定(默认开启压缩)。
|
|
150
|
+
|
|
119
151
|
## CLI
|
|
120
152
|
|
|
121
153
|
```bash
|
|
@@ -123,7 +155,7 @@ export default defineConfig({
|
|
|
123
155
|
nasti dev [root] [--port 3000] [--host] [--open]
|
|
124
156
|
|
|
125
157
|
# 生产构建(Web / Electron)
|
|
126
|
-
nasti build [root] [--outDir dist] [--sourcemap] [--minify] [--target web|electron]
|
|
158
|
+
nasti build [root] [--outDir dist] [--sourcemap] [--minify | --no-minify] [--keep-names] [--mangle-props <regex>] [--target web|electron]
|
|
127
159
|
|
|
128
160
|
# 预览构建产物
|
|
129
161
|
nasti preview [root] [--port 4173]
|
|
@@ -132,7 +164,7 @@ nasti preview [root] [--port 4173]
|
|
|
132
164
|
nasti electron [root] [--port 3000] [--no-spawn] [--no-restart]
|
|
133
165
|
|
|
134
166
|
# Electron 生产构建(等价于 nasti build --target electron)
|
|
135
|
-
nasti electron-build [root] [--outDir dist]
|
|
167
|
+
nasti electron-build [root] [--outDir dist] [--minify | --no-minify]
|
|
136
168
|
```
|
|
137
169
|
|
|
138
170
|
## Programmatic API
|