jiek 0.1.4 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/rollup/plugins/globals.esm.js +31 -0
- package/dist/rollup/plugins/globals.esm.js.map +1 -0
- package/dist/rollup/plugins/globals.esm.min.js +2 -0
- package/dist/rollup/plugins/globals.esm.min.js.map +1 -0
- package/dist/rollup/plugins/skip.esm.js +16 -0
- package/dist/rollup/plugins/skip.esm.js.map +1 -0
- package/dist/rollup/plugins/skip.esm.min.js +2 -0
- package/dist/rollup/plugins/skip.esm.min.js.map +1 -0
- package/dist/rollup/utils/commonOptions.esm.js +9 -0
- package/dist/rollup/utils/commonOptions.esm.js.map +1 -0
- package/dist/rollup/utils/commonOptions.esm.min.js +2 -0
- package/dist/rollup/utils/commonOptions.esm.min.js.map +1 -0
- package/dist/rollup/utils/externalResolver.esm.js +10 -0
- package/dist/rollup/utils/externalResolver.esm.js.map +1 -0
- package/dist/rollup/utils/externalResolver.esm.min.js +2 -0
- package/dist/rollup/utils/externalResolver.esm.min.js.map +1 -0
- package/dist/rollup/utils/globalResolver.esm.js +26 -0
- package/dist/rollup/utils/globalResolver.esm.js.map +1 -0
- package/dist/rollup/utils/globalResolver.esm.min.js +2 -0
- package/dist/rollup/utils/globalResolver.esm.min.js.map +1 -0
- package/dist/rollup/utils/withMinify.esm.js +15 -0
- package/dist/rollup/utils/withMinify.esm.js.map +1 -0
- package/dist/rollup/utils/withMinify.esm.min.js +2 -0
- package/dist/rollup/utils/withMinify.esm.min.js.map +1 -0
- package/dist/rollup.d.ts +21 -0
- package/dist/rollup.esm.d.ts +21 -0
- package/dist/rollup.esm.js +127 -0
- package/dist/rollup.esm.js.map +1 -0
- package/dist/rollup.esm.min.js +2 -0
- package/dist/rollup.esm.min.js.map +1 -0
- package/dist/rollup.iife.js +213 -0
- package/dist/rollup.iife.js.map +1 -0
- package/dist/rollup.iife.min.js +2 -0
- package/dist/rollup.iife.min.js.map +1 -0
- package/dist/rollup.umd.js +214 -0
- package/dist/rollup.umd.js.map +1 -0
- package/dist/rollup.umd.min.js +2 -0
- package/dist/rollup.umd.min.js.map +1 -0
- package/package.json +19 -8
@@ -0,0 +1,31 @@
|
|
1
|
+
import globalResolver from '../utils/globalResolver.esm.js';
|
2
|
+
|
3
|
+
function createGlobalsLinkage() {
|
4
|
+
let globals = {};
|
5
|
+
const dependencies = /* @__PURE__ */ new Set([]);
|
6
|
+
return [
|
7
|
+
({ external } = {}) => {
|
8
|
+
return {
|
9
|
+
name: "globals",
|
10
|
+
resolveId(id) {
|
11
|
+
if (external?.some((dep) => dep instanceof RegExp ? dep.test(id) : dep === id)) {
|
12
|
+
dependencies.add(id);
|
13
|
+
return { id, external: true };
|
14
|
+
}
|
15
|
+
return null;
|
16
|
+
},
|
17
|
+
outputOptions(options) {
|
18
|
+
globals = [...dependencies].reduce((acc, value) => ({
|
19
|
+
...acc,
|
20
|
+
[value]: globalResolver(value)
|
21
|
+
}), {});
|
22
|
+
return { ...options, globals };
|
23
|
+
}
|
24
|
+
};
|
25
|
+
},
|
26
|
+
{ outputOptions: (options) => ({ ...options, globals }) }
|
27
|
+
];
|
28
|
+
}
|
29
|
+
|
30
|
+
export { createGlobalsLinkage };
|
31
|
+
//# sourceMappingURL=globals.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"globals.esm.js","sources":["../../../src/rollup/plugins/globals.ts"],"sourcesContent":["import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n"],"names":[],"mappings":";;AAQO,SAAS,oBAAuB,GAAA;AACrC,EAAA,IAAI,UAAU,EAAC,CAAA;AACf,EAAA,MAAM,YAAe,mBAAA,IAAI,GAAY,CAAA,EAAE,CAAA,CAAA;AACvC,EAAO,OAAA;AAAA,IACJ,CAAC,EAAE,QAAS,EAAA,GAAI,EAAO,KAAA;AACtB,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,SAAA;AAAA,QACN,UAAU,EAAI,EAAA;AACZ,UAAI,IAAA,QAAA,EAAU,IAAK,CAAA,CAAA,GAAA,KAAO,GAAe,YAAA,MAAA,GAAS,GAAI,CAAA,IAAA,CAAK,EAAE,CAAA,GAAI,GAAQ,KAAA,EAAE,CAAG,EAAA;AAC5E,YAAA,YAAA,CAAa,IAAI,EAAE,CAAA,CAAA;AACnB,YAAO,OAAA,EAAE,EAAI,EAAA,QAAA,EAAU,IAAK,EAAA,CAAA;AAAA,WAC9B;AACA,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AAAA,QACA,cAAc,OAAS,EAAA;AACrB,UAAA,OAAA,GAAU,CAAC,GAAG,YAAY,EAAE,MAAO,CAAA,CAAC,KAAK,KAAW,MAAA;AAAA,YAClD,GAAG,GAAA;AAAA,YACH,CAAC,KAAK,GAAG,cAAA,CAAe,KAAK,CAAA;AAAA,WAC/B,CAAA,EAAI,EAAE,CAAA,CAAA;AACN,UAAO,OAAA,EAAE,GAAG,OAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,SAC/B;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,EAAE,aAAe,EAAA,CAAA,OAAA,MAAY,EAAE,GAAG,OAAA,EAAS,SAAW,CAAA,EAAA;AAAA,GACxD,CAAA;AACF;;;;"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import e from"../utils/globalResolver.esm.min.js";function t(){let t={};const o=new Set([]);return[({external:l}={})=>({name:"globals",resolveId:e=>l?.some((t=>t instanceof RegExp?t.test(e):t===e))?(o.add(e),{id:e,external:!0}):null,outputOptions:l=>(t=[...o].reduce(((t,o)=>({...t,[o]:e(o)})),{}),{...l,globals:t})}),{outputOptions:e=>({...e,globals:t})}]}export{t as createGlobalsLinkage};
|
2
|
+
//# sourceMappingURL=globals.esm.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"globals.esm.min.js","sources":["../../../src/rollup/plugins/globals.ts"],"sourcesContent":["import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n"],"names":["createGlobalsLinkage","globals","dependencies","Set","external","name","resolveId","id","some","dep","RegExp","test","add","outputOptions","options","reduce","acc","value","globalResolver"],"mappings":"kDAQO,SAASA,IACd,IAAIC,EAAU,CAAA,EACd,MAAMC,EAAe,IAAIC,IAAY,IAC9B,MAAA,CACJ,EAAGC,YAAa,MACR,CACLC,KAAM,UACNC,UAAUC,GACJH,GAAUI,MAAKC,GAAOA,aAAeC,OAASD,EAAIE,KAAKJ,GAAME,IAAQF,KACvEL,EAAaU,IAAIL,GACV,CAAEA,KAAIH,UAAU,IAElB,KAETS,cAAcC,IACZb,EAAU,IAAIC,GAAca,QAAO,CAACC,EAAKC,KAAW,IAC/CD,EACHC,CAACA,GAAQC,EAAeD,MACtB,CAAE,GACC,IAAKH,EAASb,cAI3B,CAAEY,cAAeC,IAAA,IAAiBA,EAASb,aAE/C"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
var skip = (options = {}) => {
|
2
|
+
return {
|
3
|
+
name: "skip",
|
4
|
+
// skip the specified files by `options.patterns`
|
5
|
+
load(id) {
|
6
|
+
if (options.patterns?.some(
|
7
|
+
(pattern) => typeof pattern === "string" ? id.includes(pattern) : pattern.test(id)
|
8
|
+
)) {
|
9
|
+
return "";
|
10
|
+
}
|
11
|
+
}
|
12
|
+
};
|
13
|
+
};
|
14
|
+
|
15
|
+
export { skip as default };
|
16
|
+
//# sourceMappingURL=skip.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"skip.esm.js","sources":["../../../src/rollup/plugins/skip.ts"],"sourcesContent":["import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n"],"names":[],"mappings":"AAMA,WAAgB,CAAC,OAAU,GAAA,EAAO,KAAA;AAChC,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA;AAAA,IAEN,KAAK,EAAI,EAAA;AACP,MAAA,IACE,QAAQ,QAAU,EAAA,IAAA;AAAA,QAAK,CAAC,OACtB,KAAA,OAAO,OAAY,KAAA,QAAA,GACf,EAAG,CAAA,QAAA,CAAS,OAAO,CAAA,GACnB,OAAQ,CAAA,IAAA,CAAK,EAAE,CAAA;AAAA,OAErB,EAAA;AACA,QAAO,OAAA,EAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF,CAAA;AACF,CAAA;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"skip.esm.min.js","sources":["../../../src/rollup/plugins/skip.ts"],"sourcesContent":["import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n"],"names":["skip","options","name","load","id","patterns","some","pattern","includes","test"],"mappings":"AAMA,IAAAA,EAAgB,CAACC,EAAU,CAAA,KAClB,CACLC,KAAM,OAEN,IAAAC,CAAKC,GACH,GACEH,EAAQI,UAAUC,MAAMC,GACH,iBAAZA,EACHH,EAAGI,SAASD,GACZA,EAAQE,KAAKL,KAGZ,MAAA,EAEX"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commonOptions.esm.js","sources":["../../../src/rollup/utils/commonOptions.ts"],"sourcesContent":["import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n"],"names":[],"mappings":"AAEA,MAAM,YAAA,GAAe,CAA0B,MAAc,KAAA,MAAA,CAAA;AAEtD,MAAM,sBAAsB,YAAa,CAAA;AAAA,EAC9C,GAAK,EAAA,MAAA;AAAA,EACL,OAAS,EAAA,OAAA;AAAA,EACT,SAAW,EAAA,IAAA;AACb,CAAC;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commonOptions.esm.min.js","sources":["../../../src/rollup/utils/commonOptions.ts"],"sourcesContent":["import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n"],"names":["commonOutputOptions","dir","exports","sourcemap"],"mappings":"AAEA,MAEaA,EAAmC,CAC9CC,IAAK,OACLC,QAAS,QACTC,WAAW"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
function externalResolver() {
|
2
|
+
const cwd = process.cwd();
|
3
|
+
const pkg = require(`${cwd}/package.json`);
|
4
|
+
const { dependencies = {}, peerDependencies = {} } = pkg;
|
5
|
+
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies));
|
6
|
+
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`));
|
7
|
+
}
|
8
|
+
|
9
|
+
export { externalResolver as default };
|
10
|
+
//# sourceMappingURL=externalResolver.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"externalResolver.esm.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":[],"mappings":"AAA2B,yBAAA,GAAA;AACzB,EAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,EAAA,CAAA;AAExB,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,CAAG,EAAA,GAAG,CAAe,aAAA,CAAA,CAAA,CAAA;AACzC,EAAA,MAAM,EAAE,YAAe,GAAA,IAAI,gBAAmB,GAAA,IAAO,GAAA,GAAA,CAAA;AACrD,EAAM,MAAA,QAAA,GAAgC,OACnC,IAAK,CAAA,YAAY,EACjB,MAAO,CAAA,MAAA,CAAO,IAAK,CAAA,gBAAgB,CAAC,CAAA,CAAA;AACvC,EAAO,OAAA,QAAA,CACJ,IAAI,CAAO,GAAA,KAAA,IAAI,OAAO,CAAI,CAAA,EAAA,GAAG,SAAS,CAAC,CAAA,CAAA;AAC5C;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"externalResolver.esm.min.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":["externalResolver","cwd","process","pkg","require","dependencies","peerDependencies","Object","keys","concat","map","dep","RegExp"],"mappings":"AAA2B,SAAAA,IACnB,MAAAC,EAAMC,QAAQD,MAEdE,EAAMC,QAAQ,GAAGH,mBACjBI,aAAEA,EAAe,oBAAIC,EAAmB,IAAOH,EAI9C,OAH+BI,OACnCC,KAAKH,GACLI,OAAOF,OAAOC,KAAKF,IAEnBI,KAAWC,GAAA,IAAIC,OAAO,IAAID,aAC/B"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
function globalResolver(external) {
|
2
|
+
if (external.startsWith("@zodui/")) {
|
3
|
+
return external.replace(/[@/-](\w)/g, (_, c) => c.toUpperCase());
|
4
|
+
}
|
5
|
+
return {
|
6
|
+
react: "React",
|
7
|
+
// TODO `react/jsx-runtime` is not supported `umd`
|
8
|
+
"react/jsx-runtime": "ReactJSXRuntime",
|
9
|
+
// https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js
|
10
|
+
"react-dom": "ReactDOM",
|
11
|
+
// https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js
|
12
|
+
// TODO make the library use the global variable `TDesignReact` replace `TDesign`
|
13
|
+
"tdesign-react/esm": "TDesign",
|
14
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js
|
15
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css
|
16
|
+
"tdesign-icons-react": "TDesignIconReact",
|
17
|
+
// https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js
|
18
|
+
zod: "Zod",
|
19
|
+
"@zodui/core": "ZodUICore",
|
20
|
+
"@zodui/core/utils": "ZodUICoreUtils",
|
21
|
+
"@zodui/react": "ZodUIReact"
|
22
|
+
}[external];
|
23
|
+
}
|
24
|
+
|
25
|
+
export { globalResolver as default };
|
26
|
+
//# sourceMappingURL=globalResolver.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"globalResolver.esm.js","sources":["../../../src/rollup/utils/globalResolver.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n"],"names":[],"mappings":"AAAA,uBAAA,CAAyB,QAAkB,EAAA;AACzC,EAAI,IAAA,QAAA,CAAS,UAAW,CAAA,SAAS,CAAG,EAAA;AAClC,IAAO,OAAA,QAAA,CACJ,QAAQ,YAAc,EAAA,CAAC,GAAG,CAAM,KAAA,CAAA,CAAE,aAAa,CAAA,CAAA;AAAA,GACpD;AACA,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,OAAA;AAAA;AAAA,IAEP,mBAAqB,EAAA,iBAAA;AAAA;AAAA,IAErB,WAAa,EAAA,UAAA;AAAA;AAAA;AAAA,IAGb,mBAAqB,EAAA,SAAA;AAAA;AAAA;AAAA,IAGrB,qBAAuB,EAAA,kBAAA;AAAA;AAAA,IAEvB,GAAK,EAAA,KAAA;AAAA,IACL,aAAe,EAAA,WAAA;AAAA,IACf,mBAAqB,EAAA,gBAAA;AAAA,IACrB,cAAgB,EAAA,YAAA;AAAA,IAChB,QAAQ,CAAA,CAAA;AACZ;;;;"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
function e(e){return e.startsWith("@zodui/")?e.replace(/[@/-](\w)/g,((e,t)=>t.toUpperCase())):{react:"React","react/jsx-runtime":"ReactJSXRuntime","react-dom":"ReactDOM","tdesign-react/esm":"TDesign","tdesign-icons-react":"TDesignIconReact",zod:"Zod","@zodui/core":"ZodUICore","@zodui/core/utils":"ZodUICoreUtils","@zodui/react":"ZodUIReact"}[e]}export{e as default};
|
2
|
+
//# sourceMappingURL=globalResolver.esm.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"globalResolver.esm.min.js","sources":["../../../src/rollup/utils/globalResolver.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n"],"names":["globalResolver","external","startsWith","replace","_","c","toUpperCase","react","zod"],"mappings":"AAAA,SAAAA,EAAyBC,GACnB,OAAAA,EAASC,WAAW,WACfD,EACJE,QAAQ,cAAc,CAACC,EAAGC,IAAMA,EAAEC,gBAEhC,CACLC,MAAO,QAEP,oBAAqB,kBAErB,YAAa,WAGb,oBAAqB,UAGrB,sBAAuB,mBAEvBC,IAAK,MACL,cAAe,YACf,oBAAqB,iBACrB,eAAgB,cAChBP,EACJ"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import terser from '@rollup/plugin-terser';
|
2
|
+
|
3
|
+
function withMinify(output) {
|
4
|
+
return [
|
5
|
+
output,
|
6
|
+
{
|
7
|
+
...output,
|
8
|
+
entryFileNames: output.entryFileNames?.replace(/(\.js)$/, ".min$1"),
|
9
|
+
plugins: [...output.plugins ?? [], terser()]
|
10
|
+
}
|
11
|
+
];
|
12
|
+
}
|
13
|
+
|
14
|
+
export { withMinify as default };
|
15
|
+
//# sourceMappingURL=withMinify.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"withMinify.esm.js","sources":["../../../src/rollup/utils/withMinify.ts"],"sourcesContent":["import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n"],"names":[],"mappings":";;AAGA,mBAAA,CAAyB,MAGL,EAAA;AAClB,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA;AAAA,MACE,GAAG,MAAA;AAAA,MACH,cAAgB,EAAA,MAAA,CAAO,cAAgB,EAAA,OAAA,CAAQ,WAAW,QAAQ,CAAA;AAAA,MAClE,OAAA,EAAS,CAAC,GAAI,MAAA,CAAO,WAAW,EAAC,EAAI,QAAQ,CAAA;AAAA,KAC/C;AAAA,GACF,CAAA;AACF;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"withMinify.esm.min.js","sources":["../../../src/rollup/utils/withMinify.ts"],"sourcesContent":["import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n"],"names":["withMinify","output","entryFileNames","replace","plugins","terser"],"mappings":"qCAGA,SAAAA,EAAyBC,GAIhB,MAAA,CACLA,EACA,IACKA,EACHC,eAAgBD,EAAOC,gBAAgBC,QAAQ,UAAW,UAC1DC,QAAS,IAAKH,EAAOG,SAAW,GAAKC,MAG3C"}
|
package/dist/rollup.d.ts
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import { InputPluginOption, RollupOptions } from 'rollup';
|
2
|
+
|
3
|
+
declare const template: ({ styled, plugins: { index: indexPlugins, entry: entryPlugins, dts: dtsPlugins } }: {
|
4
|
+
/**
|
5
|
+
* include styles files
|
6
|
+
*/
|
7
|
+
styled?: boolean | undefined;
|
8
|
+
plugins?: {
|
9
|
+
index?: InputPluginOption;
|
10
|
+
entry?: InputPluginOption;
|
11
|
+
dts?: InputPluginOption;
|
12
|
+
} | undefined;
|
13
|
+
} | undefined, pkg: {
|
14
|
+
name?: string;
|
15
|
+
exports?: Record<string, string | {
|
16
|
+
import: string;
|
17
|
+
'inner-src': string;
|
18
|
+
}>;
|
19
|
+
}) => RollupOptions[];
|
20
|
+
|
21
|
+
export { template };
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { InputPluginOption, RollupOptions } from 'rollup';
|
2
|
+
|
3
|
+
declare const template: ({ styled, plugins: { index: indexPlugins, entry: entryPlugins, dts: dtsPlugins } }: {
|
4
|
+
/**
|
5
|
+
* include styles files
|
6
|
+
*/
|
7
|
+
styled?: boolean | undefined;
|
8
|
+
plugins?: {
|
9
|
+
index?: InputPluginOption;
|
10
|
+
entry?: InputPluginOption;
|
11
|
+
dts?: InputPluginOption;
|
12
|
+
} | undefined;
|
13
|
+
} | undefined, pkg: {
|
14
|
+
name?: string;
|
15
|
+
exports?: Record<string, string | {
|
16
|
+
import: string;
|
17
|
+
'inner-src': string;
|
18
|
+
}>;
|
19
|
+
}) => RollupOptions[];
|
20
|
+
|
21
|
+
export { template };
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import { resolve } from 'node:path';
|
2
|
+
import { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir';
|
3
|
+
import autoprefixer from 'autoprefixer';
|
4
|
+
import { dts } from 'rollup-plugin-dts';
|
5
|
+
import esbuild from 'rollup-plugin-esbuild';
|
6
|
+
import postcss from 'rollup-plugin-postcss';
|
7
|
+
import { createGlobalsLinkage } from './rollup/plugins/globals.esm.js';
|
8
|
+
import skip from './rollup/plugins/skip.esm.js';
|
9
|
+
import { commonOutputOptions } from './rollup/utils/commonOptions.esm.js';
|
10
|
+
import externalResolver from './rollup/utils/externalResolver.esm.js';
|
11
|
+
import withMinify from './rollup/utils/withMinify.esm.js';
|
12
|
+
|
13
|
+
const workspaceRoot = getWorkspaceDir();
|
14
|
+
function resolveWorkspacePath(p) {
|
15
|
+
return resolve(workspaceRoot, p);
|
16
|
+
}
|
17
|
+
const template = ({
|
18
|
+
styled = false,
|
19
|
+
plugins: {
|
20
|
+
index: indexPlugins = [],
|
21
|
+
entry: entryPlugins = [],
|
22
|
+
dts: dtsPlugins = []
|
23
|
+
} = {}
|
24
|
+
} = {}, pkg) => {
|
25
|
+
if (!pkg.name) {
|
26
|
+
throw new Error("pkg.name is required");
|
27
|
+
}
|
28
|
+
const namePrefix = pkg.name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
29
|
+
const exportsEntries = Object.fromEntries(
|
30
|
+
Object.entries(pkg.exports ?? {}).filter(([key]) => !/\.(json|css|scss)$/.test(key)).filter(([, value]) => typeof value === "object" && value["inner-src"] && value["import"]).map(([key, value]) => [
|
31
|
+
key.replace(/^\.$/, "index").replace(/^\.\//, ""),
|
32
|
+
typeof value === "string" ? value : value["inner-src"]
|
33
|
+
])
|
34
|
+
);
|
35
|
+
const [globalsRegister, globalsOutput] = createGlobalsLinkage();
|
36
|
+
const external = externalResolver();
|
37
|
+
return [
|
38
|
+
{
|
39
|
+
input: exportsEntries,
|
40
|
+
output: [
|
41
|
+
...withMinify({
|
42
|
+
...commonOutputOptions,
|
43
|
+
format: "esm",
|
44
|
+
entryFileNames: "[name].esm.js",
|
45
|
+
preserveModules: true
|
46
|
+
})
|
47
|
+
],
|
48
|
+
plugins: [
|
49
|
+
globalsRegister({ external }),
|
50
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
51
|
+
esbuild(),
|
52
|
+
indexPlugins
|
53
|
+
]
|
54
|
+
},
|
55
|
+
...Object.entries(exportsEntries).map(([name, input]) => {
|
56
|
+
const outputName = namePrefix + (name === "index" ? "" : name[0].toUpperCase() + name.slice(1));
|
57
|
+
return {
|
58
|
+
input,
|
59
|
+
output: [
|
60
|
+
...withMinify({
|
61
|
+
...commonOutputOptions,
|
62
|
+
name: outputName,
|
63
|
+
format: "iife",
|
64
|
+
entryFileNames: `${name}.iife.js`
|
65
|
+
}),
|
66
|
+
...withMinify({
|
67
|
+
...commonOutputOptions,
|
68
|
+
name: outputName,
|
69
|
+
format: "umd",
|
70
|
+
entryFileNames: `${name}.umd.js`
|
71
|
+
})
|
72
|
+
],
|
73
|
+
plugins: [
|
74
|
+
globalsOutput,
|
75
|
+
styled && postcss({
|
76
|
+
plugins: [autoprefixer],
|
77
|
+
minimize: true,
|
78
|
+
sourceMap: true,
|
79
|
+
extract: `${name}.css`
|
80
|
+
}),
|
81
|
+
esbuild(),
|
82
|
+
entryPlugins
|
83
|
+
],
|
84
|
+
external
|
85
|
+
};
|
86
|
+
}),
|
87
|
+
{
|
88
|
+
input: exportsEntries,
|
89
|
+
output: [
|
90
|
+
{
|
91
|
+
dir: "dist",
|
92
|
+
entryFileNames: ({ name }) => `${name.replace(/^src\//, "")}.esm.d.ts`,
|
93
|
+
preserveModules: true
|
94
|
+
},
|
95
|
+
{
|
96
|
+
dir: "dist"
|
97
|
+
}
|
98
|
+
],
|
99
|
+
plugins: [
|
100
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
101
|
+
dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
102
|
+
{
|
103
|
+
name: "rollup-plugin-declare-module-replacer",
|
104
|
+
/**
|
105
|
+
* replace relative path `declare module './xxx'` to `declare module '{{package name}}'`
|
106
|
+
* in output file generated
|
107
|
+
*/
|
108
|
+
generateBundle(_, bundle) {
|
109
|
+
for (const file of Object.values(bundle)) {
|
110
|
+
if (!("code" in file))
|
111
|
+
continue;
|
112
|
+
file.code = file.code.replace(
|
113
|
+
/declare module ['|"]\..*['|"]/g,
|
114
|
+
`declare module '${pkg.name}'`
|
115
|
+
);
|
116
|
+
}
|
117
|
+
}
|
118
|
+
},
|
119
|
+
dtsPlugins
|
120
|
+
],
|
121
|
+
external
|
122
|
+
}
|
123
|
+
];
|
124
|
+
};
|
125
|
+
|
126
|
+
export { template };
|
127
|
+
//# sourceMappingURL=rollup.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.esm.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{resolve as e}from"node:path";import{getWorkspaceDir as r}from"@jiek/utils/getWorkspaceDir";import s from"autoprefixer";import{dts as t}from"rollup-plugin-dts";import i from"rollup-plugin-esbuild";import o from"rollup-plugin-postcss";import{createGlobalsLinkage as n}from"./rollup/plugins/globals.esm.min.js";import p from"./rollup/plugins/skip.esm.min.js";import{commonOutputOptions as l}from"./rollup/utils/commonOptions.esm.min.js";import m from"./rollup/utils/externalResolver.esm.min.js";import u from"./rollup/utils/withMinify.esm.min.js";const a=r();const c=({styled:r=!1,plugins:{index:c=[],entry:d=[],dts:f=[]}={}}={},g)=>{if(!g.name)throw new Error("pkg.name is required");const j=g.name.replace(/[@|/-](\w)/g,((e,r)=>r.toUpperCase())),x=Object.fromEntries(Object.entries(g.exports??{}).filter((([e])=>!/\.(json|css|scss)$/.test(e))).filter((([,e])=>"object"==typeof e&&e["inner-src"]&&e.import)).map((([e,r])=>[e.replace(/^\.$/,"index").replace(/^\.\//,""),"string"==typeof r?r:r["inner-src"]]))),[y,$]=n(),b=m();return[{input:x,output:[...u({...l,format:"esm",entryFileNames:"[name].esm.js",preserveModules:!0})],plugins:[y({external:b}),r&&p({patterns:[/\.s?css$/]}),i(),c]},...Object.entries(x).map((([e,t])=>{const n=j+("index"===e?"":e[0].toUpperCase()+e.slice(1));return{input:t,output:[...u({...l,name:n,format:"iife",entryFileNames:`${e}.iife.js`}),...u({...l,name:n,format:"umd",entryFileNames:`${e}.umd.js`})],plugins:[$,r&&o({plugins:[s],minimize:!0,sourceMap:!0,extract:`${e}.css`}),i(),d],external:b}})),{input:x,output:[{dir:"dist",entryFileNames:({name:e})=>`${e.replace(/^src\//,"")}.esm.d.ts`,preserveModules:!0},{dir:"dist"}],plugins:[r&&p({patterns:[/\.s?css$/]}),t({tsconfig:(v="tsconfig.dts.json",e(a,v))}),{name:"rollup-plugin-declare-module-replacer",generateBundle(e,r){for(const e of Object.values(r))"code"in e&&(e.code=e.code.replace(/declare module ['|"]\..*['|"]/g,`declare module '${g.name}'`))}},f],external:b}];var v};export{c as template};
|
2
|
+
//# sourceMappingURL=rollup.esm.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.esm.min.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n"],"names":["workspaceRoot","getWorkspaceDir","template","styled","plugins","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","name","Error","namePrefix","replace","_","$1","toUpperCase","exportsEntries","Object","fromEntries","entries","exports","filter","key","test","value","map","globalsRegister","globalsOutput","createGlobalsLinkage","external","externalResolver","input","output","withMinify","commonOutputOptions","format","entryFileNames","preserveModules","skip","patterns","esbuild","outputName","slice","postcss","autoprefixer","minimize","sourceMap","extract","dir","tsconfig","p","resolve","generateBundle","bundle","file","values","code"],"mappings":"uiBAeA,MAAMA,EAAgBC,IAKf,MAAMC,EAAW,EAEpBC,UAAS,EACTC,SACEC,MAAOC,EAAe,GACtBC,MAAOC,EAAe,GACtBC,IAAKC,EAAa,IAChB,CAAC,GAWH,CAAA,EACJC,KAQI,IAACA,EAAIC,KACD,MAAA,IAAIC,MAAM,wBAEZ,MAAAC,EAAaH,EAChBC,KACAG,QAAQ,eAAe,CAACC,EAAGC,IAAOA,EAAGC,gBAClCC,EAAiBC,OAAOC,YAC5BD,OAAOE,QAAQX,EAAIY,SAAW,CAAA,GAE3BC,QAAO,EAAEC,MAAU,qBAAqBC,KAAKD,KAE7CD,QAAO,EAAI,CAAAG,KAA4B,iBAAVA,GAAsBA,EAAM,cAAgBA,EAAc,SACvFC,KAAI,EAAEH,EAAKE,KAAW,CACrBF,EACGV,QAAQ,OAAQ,SAChBA,QAAQ,QAAS,IACH,iBAAVY,EAAqBA,EAAQA,EAAM,kBAIzCE,EAAiBC,GAAiBC,IACnCC,EAAWC,IAEV,MAAA,CACL,CACEC,MAAOf,EACPgB,OAAQ,IACHC,EAAW,IACTC,EACHC,OAAQ,MACRC,eAAgB,gBAChBC,iBAAiB,KAGrBpC,QAAS,CACPyB,EAAgB,CAAEG,aAClB7B,GAAUsC,EAAK,CAAEC,SAAU,CAAC,cAC5BC,IACArC,OAGDc,OAAOE,QAAQH,GAAgBS,KAAI,EAAEhB,EAAMsB,MAC5C,MAAMU,EAAa9B,GACR,UAATF,EAAmB,GACjBA,EAAK,GAAGM,cAAgBN,EAAKiC,MAAM,IAGhC,MAAA,CACLX,QACAC,OAAQ,IACHC,EAAW,IACTC,EACHzB,KAAMgC,EACNN,OAAQ,OACRC,eAAgB,GAAG3B,iBAElBwB,EAAW,IACTC,EACHzB,KAAMgC,EACNN,OAAQ,MACRC,eAAgB,GAAG3B,cAGvBR,QAAS,CACP0B,EACA3B,GAAU2C,EAAQ,CAChB1C,QAAS,CAAC2C,GACVC,UAAU,EACVC,WAAW,EACXC,QAAS,GAAGtC,UAEd+B,IACAnC,GAEFwB,WACF,IAEF,CACEE,MAAOf,EACPgB,OAAQ,CACN,CACEgB,IAAK,OACLZ,eAAgB,EAAG3B,UAAW,GAAGA,EAAKG,QAAQ,SAAU,eACxDyB,iBAAiB,GAEnB,CACEW,IAAK,SAGT/C,QAAS,CACPD,GAAUsC,EAAK,CAAEC,SAAU,CAAC,cAC5BjC,EAAI,CAAE2C,UA1HgBC,EA0He,oBAzHpCC,EAAQtD,EAAeqD,MA0HxB,CACEzC,KAAM,wCAKN,cAAA2C,CAAevC,EAAGwC,GAChB,IAAA,MAAWC,KAAQrC,OAAOsC,OAAOF,GACzB,SAAUC,IAEXA,EAAAE,KAAOF,EAAKE,KAAK5C,QACpB,iCACA,mBAAmBJ,EAAIC,SAG7B,GAEFF,GAEFsB,aA9IN,IAA8BqB,CAgJ5B"}
|
@@ -0,0 +1,213 @@
|
|
1
|
+
var jiekRollup = (function (exports, node_path, getWorkspaceDir, autoprefixer, rollupPluginDts, esbuild, postcss, terser) {
|
2
|
+
'use strict';
|
3
|
+
|
4
|
+
function globalResolver(external) {
|
5
|
+
if (external.startsWith("@zodui/")) {
|
6
|
+
return external.replace(/[@/-](\w)/g, (_, c) => c.toUpperCase());
|
7
|
+
}
|
8
|
+
return {
|
9
|
+
react: "React",
|
10
|
+
// TODO `react/jsx-runtime` is not supported `umd`
|
11
|
+
"react/jsx-runtime": "ReactJSXRuntime",
|
12
|
+
// https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js
|
13
|
+
"react-dom": "ReactDOM",
|
14
|
+
// https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js
|
15
|
+
// TODO make the library use the global variable `TDesignReact` replace `TDesign`
|
16
|
+
"tdesign-react/esm": "TDesign",
|
17
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js
|
18
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css
|
19
|
+
"tdesign-icons-react": "TDesignIconReact",
|
20
|
+
// https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js
|
21
|
+
zod: "Zod",
|
22
|
+
"@zodui/core": "ZodUICore",
|
23
|
+
"@zodui/core/utils": "ZodUICoreUtils",
|
24
|
+
"@zodui/react": "ZodUIReact"
|
25
|
+
}[external];
|
26
|
+
}
|
27
|
+
|
28
|
+
function createGlobalsLinkage() {
|
29
|
+
let globals = {};
|
30
|
+
const dependencies = /* @__PURE__ */ new Set([]);
|
31
|
+
return [
|
32
|
+
({ external } = {}) => {
|
33
|
+
return {
|
34
|
+
name: "globals",
|
35
|
+
resolveId(id) {
|
36
|
+
if (external?.some((dep) => dep instanceof RegExp ? dep.test(id) : dep === id)) {
|
37
|
+
dependencies.add(id);
|
38
|
+
return { id, external: true };
|
39
|
+
}
|
40
|
+
return null;
|
41
|
+
},
|
42
|
+
outputOptions(options) {
|
43
|
+
globals = [...dependencies].reduce((acc, value) => ({
|
44
|
+
...acc,
|
45
|
+
[value]: globalResolver(value)
|
46
|
+
}), {});
|
47
|
+
return { ...options, globals };
|
48
|
+
}
|
49
|
+
};
|
50
|
+
},
|
51
|
+
{ outputOptions: (options) => ({ ...options, globals }) }
|
52
|
+
];
|
53
|
+
}
|
54
|
+
|
55
|
+
var skip = (options = {}) => {
|
56
|
+
return {
|
57
|
+
name: "skip",
|
58
|
+
// skip the specified files by `options.patterns`
|
59
|
+
load(id) {
|
60
|
+
if (options.patterns?.some(
|
61
|
+
(pattern) => typeof pattern === "string" ? id.includes(pattern) : pattern.test(id)
|
62
|
+
)) {
|
63
|
+
return "";
|
64
|
+
}
|
65
|
+
}
|
66
|
+
};
|
67
|
+
};
|
68
|
+
|
69
|
+
const defineOutput = (output) => output;
|
70
|
+
const commonOutputOptions = defineOutput({
|
71
|
+
dir: "dist",
|
72
|
+
exports: "named",
|
73
|
+
sourcemap: true
|
74
|
+
});
|
75
|
+
|
76
|
+
function externalResolver() {
|
77
|
+
const cwd = process.cwd();
|
78
|
+
const pkg = require(`${cwd}/package.json`);
|
79
|
+
const { dependencies = {}, peerDependencies = {} } = pkg;
|
80
|
+
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies));
|
81
|
+
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`));
|
82
|
+
}
|
83
|
+
|
84
|
+
function withMinify(output) {
|
85
|
+
return [
|
86
|
+
output,
|
87
|
+
{
|
88
|
+
...output,
|
89
|
+
entryFileNames: output.entryFileNames?.replace(/(\.js)$/, ".min$1"),
|
90
|
+
plugins: [...output.plugins ?? [], terser()]
|
91
|
+
}
|
92
|
+
];
|
93
|
+
}
|
94
|
+
|
95
|
+
const workspaceRoot = getWorkspaceDir.getWorkspaceDir();
|
96
|
+
function resolveWorkspacePath(p) {
|
97
|
+
return node_path.resolve(workspaceRoot, p);
|
98
|
+
}
|
99
|
+
const template = ({
|
100
|
+
styled = false,
|
101
|
+
plugins: {
|
102
|
+
index: indexPlugins = [],
|
103
|
+
entry: entryPlugins = [],
|
104
|
+
dts: dtsPlugins = []
|
105
|
+
} = {}
|
106
|
+
} = {}, pkg) => {
|
107
|
+
if (!pkg.name) {
|
108
|
+
throw new Error("pkg.name is required");
|
109
|
+
}
|
110
|
+
const namePrefix = pkg.name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
111
|
+
const exportsEntries = Object.fromEntries(
|
112
|
+
Object.entries(pkg.exports ?? {}).filter(([key]) => !/\.(json|css|scss)$/.test(key)).filter(([, value]) => typeof value === "object" && value["inner-src"] && value["import"]).map(([key, value]) => [
|
113
|
+
key.replace(/^\.$/, "index").replace(/^\.\//, ""),
|
114
|
+
typeof value === "string" ? value : value["inner-src"]
|
115
|
+
])
|
116
|
+
);
|
117
|
+
const [globalsRegister, globalsOutput] = createGlobalsLinkage();
|
118
|
+
const external = externalResolver();
|
119
|
+
return [
|
120
|
+
{
|
121
|
+
input: exportsEntries,
|
122
|
+
output: [
|
123
|
+
...withMinify({
|
124
|
+
...commonOutputOptions,
|
125
|
+
format: "esm",
|
126
|
+
entryFileNames: "[name].esm.js",
|
127
|
+
preserveModules: true
|
128
|
+
})
|
129
|
+
],
|
130
|
+
plugins: [
|
131
|
+
globalsRegister({ external }),
|
132
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
133
|
+
esbuild(),
|
134
|
+
indexPlugins
|
135
|
+
]
|
136
|
+
},
|
137
|
+
...Object.entries(exportsEntries).map(([name, input]) => {
|
138
|
+
const outputName = namePrefix + (name === "index" ? "" : name[0].toUpperCase() + name.slice(1));
|
139
|
+
return {
|
140
|
+
input,
|
141
|
+
output: [
|
142
|
+
...withMinify({
|
143
|
+
...commonOutputOptions,
|
144
|
+
name: outputName,
|
145
|
+
format: "iife",
|
146
|
+
entryFileNames: `${name}.iife.js`
|
147
|
+
}),
|
148
|
+
...withMinify({
|
149
|
+
...commonOutputOptions,
|
150
|
+
name: outputName,
|
151
|
+
format: "umd",
|
152
|
+
entryFileNames: `${name}.umd.js`
|
153
|
+
})
|
154
|
+
],
|
155
|
+
plugins: [
|
156
|
+
globalsOutput,
|
157
|
+
styled && postcss({
|
158
|
+
plugins: [autoprefixer],
|
159
|
+
minimize: true,
|
160
|
+
sourceMap: true,
|
161
|
+
extract: `${name}.css`
|
162
|
+
}),
|
163
|
+
esbuild(),
|
164
|
+
entryPlugins
|
165
|
+
],
|
166
|
+
external
|
167
|
+
};
|
168
|
+
}),
|
169
|
+
{
|
170
|
+
input: exportsEntries,
|
171
|
+
output: [
|
172
|
+
{
|
173
|
+
dir: "dist",
|
174
|
+
entryFileNames: ({ name }) => `${name.replace(/^src\//, "")}.esm.d.ts`,
|
175
|
+
preserveModules: true
|
176
|
+
},
|
177
|
+
{
|
178
|
+
dir: "dist"
|
179
|
+
}
|
180
|
+
],
|
181
|
+
plugins: [
|
182
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
183
|
+
rollupPluginDts.dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
184
|
+
{
|
185
|
+
name: "rollup-plugin-declare-module-replacer",
|
186
|
+
/**
|
187
|
+
* replace relative path `declare module './xxx'` to `declare module '{{package name}}'`
|
188
|
+
* in output file generated
|
189
|
+
*/
|
190
|
+
generateBundle(_, bundle) {
|
191
|
+
for (const file of Object.values(bundle)) {
|
192
|
+
if (!("code" in file))
|
193
|
+
continue;
|
194
|
+
file.code = file.code.replace(
|
195
|
+
/declare module ['|"]\..*['|"]/g,
|
196
|
+
`declare module '${pkg.name}'`
|
197
|
+
);
|
198
|
+
}
|
199
|
+
}
|
200
|
+
},
|
201
|
+
dtsPlugins
|
202
|
+
],
|
203
|
+
external
|
204
|
+
}
|
205
|
+
];
|
206
|
+
};
|
207
|
+
|
208
|
+
exports.template = template;
|
209
|
+
|
210
|
+
return exports;
|
211
|
+
|
212
|
+
})({}, node_path, getWorkspaceDir, autoprefixer, rollupPluginDts, esbuild, postcss, terser);
|
213
|
+
//# sourceMappingURL=rollup.iife.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.iife.js","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/globals.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/externalResolver.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n"],"names":["getWorkspaceDir","resolve","dts"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
var jiekRollup=function(e,t,s,r,n,i,o,a){"use strict";function c(e){return e.startsWith("@zodui/")?e.replace(/[@/-](\w)/g,((e,t)=>t.toUpperCase())):{react:"React","react/jsx-runtime":"ReactJSXRuntime","react-dom":"ReactDOM","tdesign-react/esm":"TDesign","tdesign-icons-react":"TDesignIconReact",zod:"Zod","@zodui/core":"ZodUICore","@zodui/core/utils":"ZodUICoreUtils","@zodui/react":"ZodUIReact"}[e]}var p=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const l={dir:"dist",exports:"named",sourcemap:!0};function u(e){return[e,{...e,entryFileNames:e.entryFileNames?.replace(/(\.js)$/,".min$1"),plugins:[...e.plugins??[],a()]}]}const d=s.getWorkspaceDir();return e.template=({styled:e=!1,plugins:{index:s=[],entry:a=[],dts:m=[]}={}}={},g)=>{if(!g.name)throw new Error("pkg.name is required");const f=g.name.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())),j=Object.fromEntries(Object.entries(g.exports??{}).filter((([e])=>!/\.(json|css|scss)$/.test(e))).filter((([,e])=>"object"==typeof e&&e["inner-src"]&&e.import)).map((([e,t])=>[e.replace(/^\.$/,"index").replace(/^\.\//,""),"string"==typeof t?t:t["inner-src"]]))),[x,$]=function(){let e={};const t=new Set([]);return[({external:s}={})=>({name:"globals",resolveId:e=>s?.some((t=>t instanceof RegExp?t.test(e):t===e))?(t.add(e),{id:e,external:!0}):null,outputOptions:s=>(e=[...t].reduce(((e,t)=>({...e,[t]:c(t)})),{}),{...s,globals:e})}),{outputOptions:t=>({...t,globals:e})}]}(),y=function(){const e=process.cwd(),t=require(`${e}/package.json`),{dependencies:s={},peerDependencies:r={}}=t;return Object.keys(s).concat(Object.keys(r)).map((e=>new RegExp(`^${e}(/.*)?$`)))}();return[{input:j,output:[...u({...l,format:"esm",entryFileNames:"[name].esm.js",preserveModules:!0})],plugins:[x({external:y}),e&&p({patterns:[/\.s?css$/]}),i(),s]},...Object.entries(j).map((([t,s])=>{const n=f+("index"===t?"":t[0].toUpperCase()+t.slice(1));return{input:s,output:[...u({...l,name:n,format:"iife",entryFileNames:`${t}.iife.js`}),...u({...l,name:n,format:"umd",entryFileNames:`${t}.umd.js`})],plugins:[$,e&&o({plugins:[r],minimize:!0,sourceMap:!0,extract:`${t}.css`}),i(),a],external:y}})),{input:j,output:[{dir:"dist",entryFileNames:({name:e})=>`${e.replace(/^src\//,"")}.esm.d.ts`,preserveModules:!0},{dir:"dist"}],plugins:[e&&p({patterns:[/\.s?css$/]}),n.dts({tsconfig:(b="tsconfig.dts.json",t.resolve(d,b))}),{name:"rollup-plugin-declare-module-replacer",generateBundle(e,t){for(const e of Object.values(t))"code"in e&&(e.code=e.code.replace(/declare module ['|"]\..*['|"]/g,`declare module '${g.name}'`))}},m],external:y}];var b},e}({},node_path,getWorkspaceDir,autoprefixer,rollupPluginDts,esbuild,postcss,terser);
|
2
|
+
//# sourceMappingURL=rollup.iife.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.iife.min.js","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts","../src/rollup/plugins/globals.ts","../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":["globalResolver","external","startsWith","replace","_","c","toUpperCase","react","zod","skip","options","name","load","id","patterns","some","pattern","includes","test","commonOutputOptions","dir","exports","sourcemap","withMinify","output","entryFileNames","plugins","terser","workspaceRoot","getWorkspaceDir","styled","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","Error","namePrefix","$1","exportsEntries","Object","fromEntries","entries","filter","key","value","map","globalsRegister","globalsOutput","globals","dependencies","Set","resolveId","dep","RegExp","add","outputOptions","reduce","acc","createGlobalsLinkage","cwd","process","require","peerDependencies","keys","concat","externalResolver","input","format","preserveModules","esbuild","outputName","slice","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","bundle","file","values","code"],"mappings":"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"}
|
@@ -0,0 +1,214 @@
|
|
1
|
+
(function (global, factory) {
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('node:path'), require('@jiek/utils/getWorkspaceDir'), require('autoprefixer'), require('rollup-plugin-dts'), require('rollup-plugin-esbuild'), require('rollup-plugin-postcss'), require('@rollup/plugin-terser')) :
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'node:path', '@jiek/utils/getWorkspaceDir', 'autoprefixer', 'rollup-plugin-dts', 'rollup-plugin-esbuild', 'rollup-plugin-postcss', '@rollup/plugin-terser'], factory) :
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jiekRollup = {}, global.node_path, global.getWorkspaceDir, global.autoprefixer, global.rollupPluginDts, global.esbuild, global.postcss, global.terser));
|
5
|
+
})(this, (function (exports, node_path, getWorkspaceDir, autoprefixer, rollupPluginDts, esbuild, postcss, terser) { 'use strict';
|
6
|
+
|
7
|
+
function globalResolver(external) {
|
8
|
+
if (external.startsWith("@zodui/")) {
|
9
|
+
return external.replace(/[@/-](\w)/g, (_, c) => c.toUpperCase());
|
10
|
+
}
|
11
|
+
return {
|
12
|
+
react: "React",
|
13
|
+
// TODO `react/jsx-runtime` is not supported `umd`
|
14
|
+
"react/jsx-runtime": "ReactJSXRuntime",
|
15
|
+
// https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js
|
16
|
+
"react-dom": "ReactDOM",
|
17
|
+
// https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js
|
18
|
+
// TODO make the library use the global variable `TDesignReact` replace `TDesign`
|
19
|
+
"tdesign-react/esm": "TDesign",
|
20
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js
|
21
|
+
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css
|
22
|
+
"tdesign-icons-react": "TDesignIconReact",
|
23
|
+
// https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js
|
24
|
+
zod: "Zod",
|
25
|
+
"@zodui/core": "ZodUICore",
|
26
|
+
"@zodui/core/utils": "ZodUICoreUtils",
|
27
|
+
"@zodui/react": "ZodUIReact"
|
28
|
+
}[external];
|
29
|
+
}
|
30
|
+
|
31
|
+
function createGlobalsLinkage() {
|
32
|
+
let globals = {};
|
33
|
+
const dependencies = /* @__PURE__ */ new Set([]);
|
34
|
+
return [
|
35
|
+
({ external } = {}) => {
|
36
|
+
return {
|
37
|
+
name: "globals",
|
38
|
+
resolveId(id) {
|
39
|
+
if (external?.some((dep) => dep instanceof RegExp ? dep.test(id) : dep === id)) {
|
40
|
+
dependencies.add(id);
|
41
|
+
return { id, external: true };
|
42
|
+
}
|
43
|
+
return null;
|
44
|
+
},
|
45
|
+
outputOptions(options) {
|
46
|
+
globals = [...dependencies].reduce((acc, value) => ({
|
47
|
+
...acc,
|
48
|
+
[value]: globalResolver(value)
|
49
|
+
}), {});
|
50
|
+
return { ...options, globals };
|
51
|
+
}
|
52
|
+
};
|
53
|
+
},
|
54
|
+
{ outputOptions: (options) => ({ ...options, globals }) }
|
55
|
+
];
|
56
|
+
}
|
57
|
+
|
58
|
+
var skip = (options = {}) => {
|
59
|
+
return {
|
60
|
+
name: "skip",
|
61
|
+
// skip the specified files by `options.patterns`
|
62
|
+
load(id) {
|
63
|
+
if (options.patterns?.some(
|
64
|
+
(pattern) => typeof pattern === "string" ? id.includes(pattern) : pattern.test(id)
|
65
|
+
)) {
|
66
|
+
return "";
|
67
|
+
}
|
68
|
+
}
|
69
|
+
};
|
70
|
+
};
|
71
|
+
|
72
|
+
const defineOutput = (output) => output;
|
73
|
+
const commonOutputOptions = defineOutput({
|
74
|
+
dir: "dist",
|
75
|
+
exports: "named",
|
76
|
+
sourcemap: true
|
77
|
+
});
|
78
|
+
|
79
|
+
function externalResolver() {
|
80
|
+
const cwd = process.cwd();
|
81
|
+
const pkg = require(`${cwd}/package.json`);
|
82
|
+
const { dependencies = {}, peerDependencies = {} } = pkg;
|
83
|
+
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies));
|
84
|
+
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`));
|
85
|
+
}
|
86
|
+
|
87
|
+
function withMinify(output) {
|
88
|
+
return [
|
89
|
+
output,
|
90
|
+
{
|
91
|
+
...output,
|
92
|
+
entryFileNames: output.entryFileNames?.replace(/(\.js)$/, ".min$1"),
|
93
|
+
plugins: [...output.plugins ?? [], terser()]
|
94
|
+
}
|
95
|
+
];
|
96
|
+
}
|
97
|
+
|
98
|
+
const workspaceRoot = getWorkspaceDir.getWorkspaceDir();
|
99
|
+
function resolveWorkspacePath(p) {
|
100
|
+
return node_path.resolve(workspaceRoot, p);
|
101
|
+
}
|
102
|
+
const template = ({
|
103
|
+
styled = false,
|
104
|
+
plugins: {
|
105
|
+
index: indexPlugins = [],
|
106
|
+
entry: entryPlugins = [],
|
107
|
+
dts: dtsPlugins = []
|
108
|
+
} = {}
|
109
|
+
} = {}, pkg) => {
|
110
|
+
if (!pkg.name) {
|
111
|
+
throw new Error("pkg.name is required");
|
112
|
+
}
|
113
|
+
const namePrefix = pkg.name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
114
|
+
const exportsEntries = Object.fromEntries(
|
115
|
+
Object.entries(pkg.exports ?? {}).filter(([key]) => !/\.(json|css|scss)$/.test(key)).filter(([, value]) => typeof value === "object" && value["inner-src"] && value["import"]).map(([key, value]) => [
|
116
|
+
key.replace(/^\.$/, "index").replace(/^\.\//, ""),
|
117
|
+
typeof value === "string" ? value : value["inner-src"]
|
118
|
+
])
|
119
|
+
);
|
120
|
+
const [globalsRegister, globalsOutput] = createGlobalsLinkage();
|
121
|
+
const external = externalResolver();
|
122
|
+
return [
|
123
|
+
{
|
124
|
+
input: exportsEntries,
|
125
|
+
output: [
|
126
|
+
...withMinify({
|
127
|
+
...commonOutputOptions,
|
128
|
+
format: "esm",
|
129
|
+
entryFileNames: "[name].esm.js",
|
130
|
+
preserveModules: true
|
131
|
+
})
|
132
|
+
],
|
133
|
+
plugins: [
|
134
|
+
globalsRegister({ external }),
|
135
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
136
|
+
esbuild(),
|
137
|
+
indexPlugins
|
138
|
+
]
|
139
|
+
},
|
140
|
+
...Object.entries(exportsEntries).map(([name, input]) => {
|
141
|
+
const outputName = namePrefix + (name === "index" ? "" : name[0].toUpperCase() + name.slice(1));
|
142
|
+
return {
|
143
|
+
input,
|
144
|
+
output: [
|
145
|
+
...withMinify({
|
146
|
+
...commonOutputOptions,
|
147
|
+
name: outputName,
|
148
|
+
format: "iife",
|
149
|
+
entryFileNames: `${name}.iife.js`
|
150
|
+
}),
|
151
|
+
...withMinify({
|
152
|
+
...commonOutputOptions,
|
153
|
+
name: outputName,
|
154
|
+
format: "umd",
|
155
|
+
entryFileNames: `${name}.umd.js`
|
156
|
+
})
|
157
|
+
],
|
158
|
+
plugins: [
|
159
|
+
globalsOutput,
|
160
|
+
styled && postcss({
|
161
|
+
plugins: [autoprefixer],
|
162
|
+
minimize: true,
|
163
|
+
sourceMap: true,
|
164
|
+
extract: `${name}.css`
|
165
|
+
}),
|
166
|
+
esbuild(),
|
167
|
+
entryPlugins
|
168
|
+
],
|
169
|
+
external
|
170
|
+
};
|
171
|
+
}),
|
172
|
+
{
|
173
|
+
input: exportsEntries,
|
174
|
+
output: [
|
175
|
+
{
|
176
|
+
dir: "dist",
|
177
|
+
entryFileNames: ({ name }) => `${name.replace(/^src\//, "")}.esm.d.ts`,
|
178
|
+
preserveModules: true
|
179
|
+
},
|
180
|
+
{
|
181
|
+
dir: "dist"
|
182
|
+
}
|
183
|
+
],
|
184
|
+
plugins: [
|
185
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
186
|
+
rollupPluginDts.dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
187
|
+
{
|
188
|
+
name: "rollup-plugin-declare-module-replacer",
|
189
|
+
/**
|
190
|
+
* replace relative path `declare module './xxx'` to `declare module '{{package name}}'`
|
191
|
+
* in output file generated
|
192
|
+
*/
|
193
|
+
generateBundle(_, bundle) {
|
194
|
+
for (const file of Object.values(bundle)) {
|
195
|
+
if (!("code" in file))
|
196
|
+
continue;
|
197
|
+
file.code = file.code.replace(
|
198
|
+
/declare module ['|"]\..*['|"]/g,
|
199
|
+
`declare module '${pkg.name}'`
|
200
|
+
);
|
201
|
+
}
|
202
|
+
}
|
203
|
+
},
|
204
|
+
dtsPlugins
|
205
|
+
],
|
206
|
+
external
|
207
|
+
}
|
208
|
+
];
|
209
|
+
};
|
210
|
+
|
211
|
+
exports.template = template;
|
212
|
+
|
213
|
+
}));
|
214
|
+
//# sourceMappingURL=rollup.umd.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.umd.js","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/globals.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/externalResolver.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n"],"names":["getWorkspaceDir","resolve","dts"],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("node:path"),require("@jiek/utils/getWorkspaceDir"),require("autoprefixer"),require("rollup-plugin-dts"),require("rollup-plugin-esbuild"),require("rollup-plugin-postcss"),require("@rollup/plugin-terser")):"function"==typeof define&&define.amd?define(["exports","node:path","@jiek/utils/getWorkspaceDir","autoprefixer","rollup-plugin-dts","rollup-plugin-esbuild","rollup-plugin-postcss","@rollup/plugin-terser"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jiekRollup={},e.node_path,e.getWorkspaceDir,e.autoprefixer,e.rollupPluginDts,e.esbuild,e.postcss,e.terser)}(this,(function(e,t,r,s,n,i,o,l){"use strict";function p(e){return e.startsWith("@zodui/")?e.replace(/[@/-](\w)/g,((e,t)=>t.toUpperCase())):{react:"React","react/jsx-runtime":"ReactJSXRuntime","react-dom":"ReactDOM","tdesign-react/esm":"TDesign","tdesign-icons-react":"TDesignIconReact",zod:"Zod","@zodui/core":"ZodUICore","@zodui/core/utils":"ZodUICoreUtils","@zodui/react":"ZodUIReact"}[e]}var u=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const a={dir:"dist",exports:"named",sourcemap:!0};function c(e){return[e,{...e,entryFileNames:e.entryFileNames?.replace(/(\.js)$/,".min$1"),plugins:[...e.plugins??[],l()]}]}const d=r.getWorkspaceDir();e.template=({styled:e=!1,plugins:{index:r=[],entry:l=[],dts:m=[]}={}}={},g)=>{if(!g.name)throw new Error("pkg.name is required");const f=g.name.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())),x=Object.fromEntries(Object.entries(g.exports??{}).filter((([e])=>!/\.(json|css|scss)$/.test(e))).filter((([,e])=>"object"==typeof e&&e["inner-src"]&&e.import)).map((([e,t])=>[e.replace(/^\.$/,"index").replace(/^\.\//,""),"string"==typeof t?t:t["inner-src"]]))),[j,y]=function(){let e={};const t=new Set([]);return[({external:r}={})=>({name:"globals",resolveId:e=>r?.some((t=>t instanceof RegExp?t.test(e):t===e))?(t.add(e),{id:e,external:!0}):null,outputOptions:r=>(e=[...t].reduce(((e,t)=>({...e,[t]:p(t)})),{}),{...r,globals:e})}),{outputOptions:t=>({...t,globals:e})}]}(),b=function(){const e=process.cwd(),t=require(`${e}/package.json`),{dependencies:r={},peerDependencies:s={}}=t;return Object.keys(r).concat(Object.keys(s)).map((e=>new RegExp(`^${e}(/.*)?$`)))}();return[{input:x,output:[...c({...a,format:"esm",entryFileNames:"[name].esm.js",preserveModules:!0})],plugins:[j({external:b}),e&&u({patterns:[/\.s?css$/]}),i(),r]},...Object.entries(x).map((([t,r])=>{const n=f+("index"===t?"":t[0].toUpperCase()+t.slice(1));return{input:r,output:[...c({...a,name:n,format:"iife",entryFileNames:`${t}.iife.js`}),...c({...a,name:n,format:"umd",entryFileNames:`${t}.umd.js`})],plugins:[y,e&&o({plugins:[s],minimize:!0,sourceMap:!0,extract:`${t}.css`}),i(),l],external:b}})),{input:x,output:[{dir:"dist",entryFileNames:({name:e})=>`${e.replace(/^src\//,"")}.esm.d.ts`,preserveModules:!0},{dir:"dist"}],plugins:[e&&u({patterns:[/\.s?css$/]}),n.dts({tsconfig:($="tsconfig.dts.json",t.resolve(d,$))}),{name:"rollup-plugin-declare-module-replacer",generateBundle(e,t){for(const e of Object.values(t))"code"in e&&(e.code=e.code.replace(/declare module ['|"]\..*['|"]/g,`declare module '${g.name}'`))}},m],external:b}];var $}}));
|
2
|
+
//# sourceMappingURL=rollup.umd.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rollup.umd.min.js","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts","../src/rollup/plugins/globals.ts","../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function (external: string) {\n if (external.startsWith('@zodui/')) {\n return external\n .replace(/[@/-](\\w)/g, (_, c) => c.toUpperCase())\n }\n return {\n react: 'React',\n // TODO `react/jsx-runtime` is not supported `umd`\n 'react/jsx-runtime': 'ReactJSXRuntime',\n // https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js\n 'react-dom': 'ReactDOM',\n // https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js\n // TODO make the library use the global variable `TDesignReact` replace `TDesign`\n 'tdesign-react/esm': 'TDesign',\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js\n // https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css\n 'tdesign-icons-react': 'TDesignIconReact',\n // https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js\n zod: 'Zod',\n '@zodui/core': 'ZodUICore',\n '@zodui/core/utils': 'ZodUICoreUtils',\n '@zodui/react': 'ZodUIReact'\n }[external]\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n dir: 'dist',\n exports: 'named',\n sourcemap: true\n})\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport autoprefixer from 'autoprefixer'\nimport type { InputPluginOption, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n return [\n {\n input: exportsEntries,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name[0].toUpperCase() + name.slice(1)\n )\n )\n return {\n input: input,\n output: [\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...commonOutputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n input: exportsEntries,\n output: [\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n },\n {\n dir: 'dist'\n }\n ],\n plugins: [\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":["globalResolver","external","startsWith","replace","_","c","toUpperCase","react","zod","skip","options","name","load","id","patterns","some","pattern","includes","test","commonOutputOptions","dir","exports","sourcemap","withMinify","output","entryFileNames","plugins","terser","workspaceRoot","getWorkspaceDir","styled","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","Error","namePrefix","$1","exportsEntries","Object","fromEntries","entries","filter","key","value","map","globalsRegister","globalsOutput","globals","dependencies","Set","resolveId","dep","RegExp","add","outputOptions","reduce","acc","createGlobalsLinkage","cwd","process","require","peerDependencies","keys","concat","externalResolver","input","format","preserveModules","esbuild","outputName","slice","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","bundle","file","values","code"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"name": "jiek",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.6",
|
4
4
|
"description": "YiJie's personal kits.",
|
5
5
|
"bin": {
|
6
6
|
"jiek": "bin/jiek.js",
|
7
7
|
"jiek-dev": "bin/jiek-dev.js"
|
8
8
|
},
|
9
|
+
"jiek": {
|
10
|
+
"inputs": [
|
11
|
+
"index.ts",
|
12
|
+
"rollup/index.ts"
|
13
|
+
]
|
14
|
+
},
|
9
15
|
"dependencies": {
|
10
16
|
"@pnpm/filter-workspace-packages": "^7.2.13",
|
11
17
|
"@rollup/plugin-json": "^6.0.1",
|
@@ -18,8 +24,8 @@
|
|
18
24
|
"rollup-plugin-dts": "^6.1.0",
|
19
25
|
"rollup-plugin-esbuild": "^6.1.0",
|
20
26
|
"rollup-plugin-postcss": "^4.0.2",
|
21
|
-
"@jiek/
|
22
|
-
"@jiek/
|
27
|
+
"@jiek/utils": "0.1.6",
|
28
|
+
"@jiek/pkger": "0.1.7"
|
23
29
|
},
|
24
30
|
"devDependencies": {
|
25
31
|
"@npm/types": "^1.0.2",
|
@@ -48,11 +54,16 @@
|
|
48
54
|
"exports": {
|
49
55
|
"./package.json": "./package.json",
|
50
56
|
".": {
|
51
|
-
"types": "./dist
|
52
|
-
"import": "./dist
|
53
|
-
"
|
54
|
-
"
|
55
|
-
|
57
|
+
"types": "./dist/.d.ts",
|
58
|
+
"import": "./dist/.esm.js",
|
59
|
+
"require": "./dist/.umd.js",
|
60
|
+
"inner-src": "./src/index.ts"
|
61
|
+
},
|
62
|
+
"./rollup": {
|
63
|
+
"types": "./dist/rollup/.d.ts",
|
64
|
+
"import": "./dist/rollup/.esm.js",
|
65
|
+
"require": "./dist/rollup/.umd.js",
|
66
|
+
"inner-src": "./src/rollup/index.ts"
|
56
67
|
}
|
57
68
|
},
|
58
69
|
"scripts": {
|