Mangling non-main-entry-export names
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 35/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 停滯
- 技術堆疊
- javascript, rollup
- 領域
- build-system, tooling
研究方向
首先,使用提供的 mangle.json,透過 microbundle 執行 _prepare.mjs 和 main.mjs 中的雙模組範例。檢查主要進入點及其重新匯出的名稱如何影響 _stringifyCallback 和 _prepare 的混淆;確定這兩個名稱中的任一個是否可以安全地進行混淆,並記錄產生的行為,即視為完成。
由索引模型根據 Issue 內容生成。
描述
Suppose I have the following two files:
_prepare.mjs
const _stringifyCallback = (_, value) => {
if (!value.isSJS) return value;
return `${value.type}__sjs`;
};
const _prepare = (schema) => {
const _preparedString = JSON.stringify(schema, _stringifyCallback);
const _preparedSchema = JSON.parse(_preparedString);
return {
_preparedString,
_preparedSchema,
};
};
export { _prepare };
and
main.mjs, which is the entry point.
import { _prepare } from './_prepare.mjs'
function a() { _prepare({}); }
function b() { /* do other stuff */ }
export { a, b }
This results in the following minification:
const _stringifyCallback=(e,r)=>r.t?`${r.type}__sjs`:r,_prepare=e=>{const r=JSON.stringify(e,_stringifyCallback);return{_:r,p:JSON.parse(r)}};function a(){_prepare({})};function b(){};export{a,b};
However, when monitoring closely _stringifyCallback could be mangled, but is not, and also _prepare could be mangled, since it is not exported from the main entry point.
Is there a way to achieve at least one of the mangling?
The following mangle.json did not change anything (I tested a lot):
{
"minify": {
"mangle": {
"toplevel": true,
"properties": true,
"keep_fnames": false
},
"compress": {
"keep_fnames": false,
"reduce_funcs": false,
"passes": 2
},
"toplevel": true
}
}
- 主要語言
- JavaScript
- 星號
- 8.1k
- 分支
- 358
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
developit/microbundle 的其他 Issue
-
CSS
難度 2/5 1-3 小時 新手友好度 68/100
developit/microbundle#1002 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
developit/microbundle#789 · 1 則留言 ·
-
難度 3/5 1-2 天 新手友好度 55/100
developit/microbundle#1100 · 4 則留言 ·
-
難度 4/5 3-5 天 新手友好度 35/100
developit/microbundle#1094 · 1 則留言 ·
-
難度 3/5 1-2 天 新手友好度 45/100
developit/microbundle#1093 · 3 則留言 · 1 個 reaction ·
查看 developit/microbundle 的全部 Issue
相似的 Issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 70/100
georgestephanis/p2026#40 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·