jiek 0.1.12 → 0.2.0-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/commands/build.esm.js +10 -32
- package/dist/commands/build.esm.js.map +1 -1
- package/dist/commands/build.esm.min.js +1 -1
- package/dist/commands/build.esm.min.js.map +1 -1
- package/dist/commands/publish.esm.js +50 -34
- package/dist/commands/publish.esm.js.map +1 -1
- package/dist/commands/publish.esm.min.js +1 -1
- package/dist/commands/publish.esm.min.js.map +1 -1
- package/dist/index.esm.js +3 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.iife.js +194 -67
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.umd.js +196 -69
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/merge-package-json.esm.js +45 -4
- package/dist/merge-package-json.esm.js.map +1 -1
- package/dist/merge-package-json.esm.min.js +1 -1
- package/dist/merge-package-json.esm.min.js.map +1 -1
- package/dist/rollup.esm.js +7 -0
- package/dist/rollup.esm.js.map +1 -1
- package/dist/rollup.esm.min.js +1 -1
- package/dist/rollup.esm.min.js.map +1 -1
- package/dist/rollup.iife.js +9 -2
- package/dist/rollup.iife.js.map +1 -1
- package/dist/rollup.iife.min.js +1 -1
- package/dist/rollup.iife.min.js.map +1 -1
- package/dist/rollup.umd.js +11 -4
- package/dist/rollup.umd.js.map +1 -1
- package/dist/rollup.umd.min.js +1 -1
- package/dist/rollup.umd.min.js.map +1 -1
- package/dist/utils/commondir.esm.js +25 -0
- package/dist/utils/commondir.esm.js.map +1 -0
- package/dist/utils/commondir.esm.min.js +2 -0
- package/dist/utils/commondir.esm.min.js.map +1 -0
- package/dist/utils/filterSupport.esm.js +78 -0
- package/dist/utils/filterSupport.esm.js.map +1 -0
- package/dist/utils/filterSupport.esm.min.js +2 -0
- package/dist/utils/filterSupport.esm.min.js.map +1 -0
- package/package.json +27 -30
@@ -1 +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 interop: 'auto',\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.replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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","interop","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","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","bundle","file","values","code"],"mappings":"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"}
|
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 interop: 'auto',\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 json from '@rollup/plugin-json'\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 const commonPlugins = [\n json()\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 commonPlugins,\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.replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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 commonPlugins,\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 commonPlugins,\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","interop","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","commonPlugins","json","input","format","preserveModules","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","bundle","file","values","code"],"mappings":"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"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import path from 'node:path';
|
2
|
+
|
3
|
+
function commondir(files, cwd = process.cwd()) {
|
4
|
+
const resolvedFiles = files.map((file) => {
|
5
|
+
if (path.isAbsolute(file))
|
6
|
+
return file;
|
7
|
+
return path.resolve(cwd, file);
|
8
|
+
});
|
9
|
+
const sep = "/";
|
10
|
+
const [first = ""] = resolvedFiles;
|
11
|
+
const parts = first.split(sep);
|
12
|
+
let common = "";
|
13
|
+
for (let i = 0; i < parts.length; i++) {
|
14
|
+
const segment = parts[i];
|
15
|
+
if (resolvedFiles.every((file) => file.startsWith(common + segment))) {
|
16
|
+
common += segment + sep;
|
17
|
+
} else {
|
18
|
+
break;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
return common;
|
22
|
+
}
|
23
|
+
|
24
|
+
export { commondir };
|
25
|
+
//# sourceMappingURL=commondir.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commondir.esm.js","sources":["../../src/utils/commondir.ts"],"sourcesContent":["import path from 'node:path'\n\nexport function commondir(files: string[], cwd = process.cwd()): string {\n const resolvedFiles = files.map(file => {\n if (path.isAbsolute(file)) return file\n return path.resolve(cwd, file)\n })\n const sep = '/'\n const [first = ''] = resolvedFiles\n const parts = first.split(sep)\n let common = ''\n for (let i = 0; i < parts.length; i++) {\n const segment = parts[i]\n if (resolvedFiles.every(file => file.startsWith(common + segment))) {\n common += segment + sep\n } else {\n break\n }\n }\n return common\n}\n"],"names":[],"mappings":";;AAEO,SAAS,SAAU,CAAA,KAAA,EAAiB,GAAM,GAAA,OAAA,CAAQ,KAAe,EAAA;AACtE,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,GAAA,CAAI,CAAQ,IAAA,KAAA;AACtC,IAAI,IAAA,IAAA,CAAK,WAAW,IAAI,CAAA;AAAG,MAAO,OAAA,IAAA,CAAA;AAClC,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,IAAI,CAAA,CAAA;AAAA,GAC9B,CAAA,CAAA;AACD,EAAA,MAAM,GAAM,GAAA,GAAA,CAAA;AACZ,EAAM,MAAA,CAAC,KAAQ,GAAA,EAAE,CAAI,GAAA,aAAA,CAAA;AACrB,EAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC7B,EAAA,IAAI,MAAS,GAAA,EAAA,CAAA;AACb,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,IAAM,MAAA,OAAA,GAAU,MAAM,CAAC,CAAA,CAAA;AACvB,IAAI,IAAA,aAAA,CAAc,MAAM,CAAQ,IAAA,KAAA,IAAA,CAAK,WAAW,MAAS,GAAA,OAAO,CAAC,CAAG,EAAA;AAClE,MAAA,MAAA,IAAU,OAAU,GAAA,GAAA,CAAA;AAAA,KACf,MAAA;AACL,MAAA,MAAA;AAAA,KACF;AAAA,GACF;AACA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import t from"node:path";function e(e,o=process.cwd()){const r=e.map((e=>t.isAbsolute(e)?e:t.resolve(o,e))),[s=""]=r,n=s.split("/");let i="";for(let t=0;t<n.length;t++){const e=n[t];if(!r.every((t=>t.startsWith(i+e))))break;i+=e+"/"}return i}export{e as commondir};
|
2
|
+
//# sourceMappingURL=commondir.esm.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"commondir.esm.min.js","sources":["../../src/utils/commondir.ts"],"sourcesContent":["import path from 'node:path'\n\nexport function commondir(files: string[], cwd = process.cwd()): string {\n const resolvedFiles = files.map(file => {\n if (path.isAbsolute(file)) return file\n return path.resolve(cwd, file)\n })\n const sep = '/'\n const [first = ''] = resolvedFiles\n const parts = first.split(sep)\n let common = ''\n for (let i = 0; i < parts.length; i++) {\n const segment = parts[i]\n if (resolvedFiles.every(file => file.startsWith(common + segment))) {\n common += segment + sep\n } else {\n break\n }\n }\n return common\n}\n"],"names":["commondir","files","cwd","process","resolvedFiles","map","file","path","isAbsolute","resolve","first","parts","split","common","i","length","segment","every","startsWith"],"mappings":"yBAEO,SAASA,EAAUC,EAAiBC,EAAMC,QAAQD,OACjD,MAAAE,EAAgBH,EAAMI,KAAYC,GAClCC,EAAKC,WAAWF,GAAcA,EAC3BC,EAAKE,QAAQP,EAAKI,MAGpBI,EAAQ,IAAMN,EACfO,EAAQD,EAAME,MAFR,KAGZ,IAAIC,EAAS,GACb,IAAA,IAASC,EAAI,EAAGA,EAAIH,EAAMI,OAAQD,IAAK,CAC/B,MAAAE,EAAUL,EAAMG,GAClB,IAAAV,EAAca,OAAcX,GAAAA,EAAKY,WAAWL,EAASG,KAGvD,MAFAH,GAAUG,EAPF,GAWZ,CACO,OAAAH,CACT"}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import fs from 'node:fs';
|
2
|
+
import path from 'node:path';
|
3
|
+
import { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir';
|
4
|
+
import { filterPackagesFromDir } from '@pnpm/filter-workspace-packages';
|
5
|
+
import { program } from 'commander';
|
6
|
+
import { load } from 'js-yaml';
|
7
|
+
|
8
|
+
let type = "";
|
9
|
+
try {
|
10
|
+
require.resolve("@pnpm/filter-workspace-packages");
|
11
|
+
type = "pnpm";
|
12
|
+
} catch {
|
13
|
+
}
|
14
|
+
if (type !== "") {
|
15
|
+
program.option("-f, --filter <filter>", "filter packages");
|
16
|
+
}
|
17
|
+
async function getSelectedProjectsGraph() {
|
18
|
+
let filter = program.getOptionValue("filter");
|
19
|
+
const rootOption = program.getOptionValue("root");
|
20
|
+
const root = rootOption ? path.isAbsolute(rootOption) ? rootOption : path.resolve(process.cwd(), rootOption) : process.cwd();
|
21
|
+
let notWorkspace = false;
|
22
|
+
let wd;
|
23
|
+
try {
|
24
|
+
wd = getWorkspaceDir(root, type);
|
25
|
+
} catch (e) {
|
26
|
+
if ("message" in e && e.message === "workspace root not found") {
|
27
|
+
wd = root;
|
28
|
+
notWorkspace = true;
|
29
|
+
} else {
|
30
|
+
throw e;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
if (!notWorkspace && type === "pnpm") {
|
34
|
+
const pnpmWorkspaceFilePath = path.resolve(wd, "pnpm-workspace.yaml");
|
35
|
+
const pnpmWorkspaceFileContent = fs.readFileSync(pnpmWorkspaceFilePath, "utf-8");
|
36
|
+
const pnpmWorkspace = load(pnpmWorkspaceFileContent);
|
37
|
+
if (root === wd && !filter) {
|
38
|
+
throw new Error("root path is workspace root, please provide a filter");
|
39
|
+
}
|
40
|
+
if (root !== wd && !filter) {
|
41
|
+
const packageJSONIsExist = fs.existsSync(path.resolve(root, "package.json"));
|
42
|
+
if (!packageJSONIsExist) {
|
43
|
+
throw new Error("root path is not workspace root, please provide a filter");
|
44
|
+
}
|
45
|
+
const packageJSON = JSON.parse(fs.readFileSync(path.resolve(root, "package.json"), "utf-8"));
|
46
|
+
if (!packageJSON.name) {
|
47
|
+
throw new Error("root path is not workspace root, please provide a filter");
|
48
|
+
}
|
49
|
+
filter = packageJSON.name;
|
50
|
+
}
|
51
|
+
const { selectedProjectsGraph } = await filterPackagesFromDir(wd, [{
|
52
|
+
filter: filter ?? "",
|
53
|
+
followProdDepsOnly: true
|
54
|
+
}], {
|
55
|
+
prefix: root,
|
56
|
+
workspaceDir: wd,
|
57
|
+
patterns: pnpmWorkspace.packages
|
58
|
+
});
|
59
|
+
return {
|
60
|
+
wd,
|
61
|
+
root,
|
62
|
+
value: Object.entries(selectedProjectsGraph).reduce((acc, [key, value]) => {
|
63
|
+
acc[key] = value.package.manifest;
|
64
|
+
return acc;
|
65
|
+
}, {})
|
66
|
+
};
|
67
|
+
}
|
68
|
+
return {
|
69
|
+
wd,
|
70
|
+
root,
|
71
|
+
value: {
|
72
|
+
[wd]: JSON.parse(fs.readFileSync(path.resolve(wd, "package.json"), "utf-8"))
|
73
|
+
}
|
74
|
+
};
|
75
|
+
}
|
76
|
+
|
77
|
+
export { getSelectedProjectsGraph, type };
|
78
|
+
//# sourceMappingURL=filterSupport.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filterSupport.esm.js","sources":["../../src/utils/filterSupport.ts"],"sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport { filterPackagesFromDir } from '@pnpm/filter-workspace-packages'\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nexport let type = ''\n\ntry {\n require.resolve('@pnpm/filter-workspace-packages')\n type = 'pnpm'\n} catch { /* empty */ }\nif (type !== '') {\n program\n .option('-f, --filter <filter>', 'filter packages')\n}\n\ninterface ProjectsGraph {\n wd: string\n root: string\n value?: Record<string, {\n name?: string\n }>\n}\n\nexport async function getSelectedProjectsGraph(): Promise<ProjectsGraph> {\n let filter = program.getOptionValue('filter')\n const rootOption = program.getOptionValue('root')\n const root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : process.cwd()\n let notWorkspace = false\n let wd: string\n try {\n wd = getWorkspaceDir(root, type)\n } catch (e) {\n // @ts-ignore\n if ('message' in e && e.message === 'workspace root not found') {\n wd = root\n notWorkspace = true\n } else {\n throw e\n }\n }\n if (!notWorkspace && type === 'pnpm') {\n const pnpmWorkspaceFilePath = path.resolve(wd, 'pnpm-workspace.yaml')\n const pnpmWorkspaceFileContent = fs.readFileSync(pnpmWorkspaceFilePath, 'utf-8')\n const pnpmWorkspace = load(pnpmWorkspaceFileContent) as {\n packages: string[]\n }\n if (root === wd && !filter) {\n throw new Error('root path is workspace root, please provide a filter')\n // TODO inquirer prompt support user select packages\n }\n if (root !== wd && !filter) {\n const packageJSONIsExist = fs.existsSync(path.resolve(root, 'package.json'))\n if (!packageJSONIsExist) {\n throw new Error('root path is not workspace root, please provide a filter')\n }\n const packageJSON = JSON.parse(fs.readFileSync(path.resolve(root, 'package.json'), 'utf-8'))\n if (!packageJSON.name) {\n throw new Error('root path is not workspace root, please provide a filter')\n }\n filter = packageJSON.name\n }\n const { selectedProjectsGraph } = await filterPackagesFromDir(wd, [{\n filter: filter ?? '',\n followProdDepsOnly: true\n }], {\n prefix: root,\n workspaceDir: wd,\n patterns: pnpmWorkspace.packages\n })\n return {\n wd, root,\n value: Object.entries(selectedProjectsGraph)\n .reduce((acc, [key, value]) => {\n acc[key] = value.package.manifest\n return acc\n }, {} as NonNullable<ProjectsGraph['value']>)\n }\n }\n return {\n wd, root,\n value: {\n [wd]: JSON.parse(fs.readFileSync(path.resolve(wd, 'package.json'), 'utf-8'))\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import e from"node:fs";import r from"node:path";import{getWorkspaceDir as o}from"@jiek/utils/getWorkspaceDir";import{filterPackagesFromDir as t}from"@pnpm/filter-workspace-packages";import{program as a}from"commander";import{load as s}from"js-yaml";let p="";try{require.resolve("@pnpm/filter-workspace-packages"),p="pnpm"}catch{}async function i(){let i=a.getOptionValue("filter");const n=a.getOptionValue("root"),c=n?r.isAbsolute(n)?n:r.resolve(process.cwd(),n):process.cwd();let l,f=!1;try{l=o(c,p)}catch(e){if(!("message"in e)||"workspace root not found"!==e.message)throw e;l=c,f=!0}if(!f&&"pnpm"===p){const o=r.resolve(l,"pnpm-workspace.yaml"),a=e.readFileSync(o,"utf-8"),p=s(a);if(c===l&&!i)throw new Error("root path is workspace root, please provide a filter");if(c!==l&&!i){if(!e.existsSync(r.resolve(c,"package.json")))throw new Error("root path is not workspace root, please provide a filter");const o=JSON.parse(e.readFileSync(r.resolve(c,"package.json"),"utf-8"));if(!o.name)throw new Error("root path is not workspace root, please provide a filter");i=o.name}const{selectedProjectsGraph:n}=await t(l,[{filter:i??"",followProdDepsOnly:!0}],{prefix:c,workspaceDir:l,patterns:p.packages});return{wd:l,root:c,value:Object.entries(n).reduce(((e,[r,o])=>(e[r]=o.package.manifest,e)),{})}}return{wd:l,root:c,value:{[l]:JSON.parse(e.readFileSync(r.resolve(l,"package.json"),"utf-8"))}}}""!==p&&a.option("-f, --filter <filter>","filter packages");export{i as getSelectedProjectsGraph,p as type};
|
2
|
+
//# sourceMappingURL=filterSupport.esm.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filterSupport.esm.min.js","sources":["../../src/utils/filterSupport.ts"],"sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport { filterPackagesFromDir } from '@pnpm/filter-workspace-packages'\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nexport let type = ''\n\ntry {\n require.resolve('@pnpm/filter-workspace-packages')\n type = 'pnpm'\n} catch { /* empty */ }\nif (type !== '') {\n program\n .option('-f, --filter <filter>', 'filter packages')\n}\n\ninterface ProjectsGraph {\n wd: string\n root: string\n value?: Record<string, {\n name?: string\n }>\n}\n\nexport async function getSelectedProjectsGraph(): Promise<ProjectsGraph> {\n let filter = program.getOptionValue('filter')\n const rootOption = program.getOptionValue('root')\n const root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : process.cwd()\n let notWorkspace = false\n let wd: string\n try {\n wd = getWorkspaceDir(root, type)\n } catch (e) {\n // @ts-ignore\n if ('message' in e && e.message === 'workspace root not found') {\n wd = root\n notWorkspace = true\n } else {\n throw e\n }\n }\n if (!notWorkspace && type === 'pnpm') {\n const pnpmWorkspaceFilePath = path.resolve(wd, 'pnpm-workspace.yaml')\n const pnpmWorkspaceFileContent = fs.readFileSync(pnpmWorkspaceFilePath, 'utf-8')\n const pnpmWorkspace = load(pnpmWorkspaceFileContent) as {\n packages: string[]\n }\n if (root === wd && !filter) {\n throw new Error('root path is workspace root, please provide a filter')\n // TODO inquirer prompt support user select packages\n }\n if (root !== wd && !filter) {\n const packageJSONIsExist = fs.existsSync(path.resolve(root, 'package.json'))\n if (!packageJSONIsExist) {\n throw new Error('root path is not workspace root, please provide a filter')\n }\n const packageJSON = JSON.parse(fs.readFileSync(path.resolve(root, 'package.json'), 'utf-8'))\n if (!packageJSON.name) {\n throw new Error('root path is not workspace root, please provide a filter')\n }\n filter = packageJSON.name\n }\n const { selectedProjectsGraph } = await filterPackagesFromDir(wd, [{\n filter: filter ?? '',\n followProdDepsOnly: true\n }], {\n prefix: root,\n workspaceDir: wd,\n patterns: pnpmWorkspace.packages\n })\n return {\n wd, root,\n value: Object.entries(selectedProjectsGraph)\n .reduce((acc, [key, value]) => {\n acc[key] = value.package.manifest\n return acc\n }, {} as NonNullable<ProjectsGraph['value']>)\n }\n }\n return {\n wd, root,\n value: {\n [wd]: JSON.parse(fs.readFileSync(path.resolve(wd, 'package.json'), 'utf-8'))\n }\n }\n}\n"],"names":["type","require","resolve","async","getSelectedProjectsGraph","filter","program","getOptionValue","rootOption","root","path","isAbsolute","process","cwd","wd","notWorkspace","getWorkspaceDir","e","message","pnpmWorkspaceFilePath","pnpmWorkspaceFileContent","fs","readFileSync","pnpmWorkspace","load","Error","existsSync","packageJSON","JSON","parse","name","selectedProjectsGraph","filterPackagesFromDir","followProdDepsOnly","prefix","workspaceDir","patterns","packages","value","Object","entries","reduce","acc","key","package","manifest","option"],"mappings":"yPAQO,IAAIA,EAAO,GAElB,IACEC,QAAQC,QAAQ,mCACTF,EAAA,MACT,CAAQ,MAAc,CActBG,eAAsBC,IAChB,IAAAC,EAASC,EAAQC,eAAe,UAC9B,MAAAC,EAAaF,EAAQC,eAAe,QACpCE,EAAOD,EACTE,EAAKC,WAAWH,GACdA,EACAE,EAAKR,QAAQU,QAAQC,MAAOL,GAC9BI,QAAQC,MACZ,IACIC,EADAC,GAAe,EAEf,IACGD,EAAAE,EAAgBP,EAAMT,SACpBiB,GAEP,KAAI,YAAaA,IAAmB,6BAAdA,EAAEC,QAIhB,MAAAD,EAHDH,EAAAL,EACUM,GAAA,CAInB,CACI,IAACA,GAAyB,SAATf,EAAiB,CACpC,MAAMmB,EAAwBT,EAAKR,QAAQY,EAAI,uBACzCM,EAA2BC,EAAGC,aAAaH,EAAuB,SAClEI,EAAgBC,EAAKJ,GAGvB,GAAAX,IAASK,IAAOT,EACZ,MAAA,IAAIoB,MAAM,wDAGd,GAAAhB,IAASK,IAAOT,EAAQ,CAE1B,IAD2BgB,EAAGK,WAAWhB,EAAKR,QAAQO,EAAM,iBAEpD,MAAA,IAAIgB,MAAM,4DAEZ,MAAAE,EAAcC,KAAKC,MAAMR,EAAGC,aAAaZ,EAAKR,QAAQO,EAAM,gBAAiB,UAC/E,IAACkB,EAAYG,KACT,MAAA,IAAIL,MAAM,4DAElBpB,EAASsB,EAAYG,IACvB,CACA,MAAMC,sBAAEA,SAAgCC,EAAsBlB,EAAI,CAAC,CACjET,OAAQA,GAAU,GAClB4B,oBAAoB,IAClB,CACFC,OAAQzB,EACR0B,aAAcrB,EACdsB,SAAUb,EAAcc,WAEnB,MAAA,CACLvB,KAAIL,OACJ6B,MAAOC,OAAOC,QAAQT,GACnBU,QAAO,CAACC,GAAMC,EAAKL,MACdI,EAAAC,GAAOL,EAAMM,QAAQC,SAClBH,IACN,IAET,CACO,MAAA,CACL5B,KAAIL,OACJ6B,MAAO,CACLxB,CAACA,GAAKc,KAAKC,MAAMR,EAAGC,aAAaZ,EAAKR,QAAQY,EAAI,gBAAiB,WAGzE,CA9Ea,KAATd,GAECM,EAAAwC,OAAO,wBAAyB"}
|
package/package.json
CHANGED
@@ -1,24 +1,37 @@
|
|
1
1
|
{
|
2
2
|
"name": "jiek",
|
3
|
-
"version": "0.1
|
3
|
+
"version": "0.2.0-alpha.1",
|
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
|
-
"
|
10
|
-
"
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
"files": [
|
10
|
+
"dist"
|
11
|
+
],
|
12
|
+
"exports": {
|
13
|
+
"./package.json": "./package.json",
|
14
|
+
".": {
|
15
|
+
"types": "./dist/index.d.ts",
|
16
|
+
"import": "./dist/index.esm.js",
|
17
|
+
"require": "./dist/index.umd.js",
|
18
|
+
"inner-src": "./src/index.ts"
|
19
|
+
},
|
20
|
+
"./rollup": {
|
21
|
+
"types": "./dist/rollup.d.ts",
|
22
|
+
"import": "./dist/rollup.esm.js",
|
23
|
+
"require": "./dist/rollup.umd.js",
|
24
|
+
"inner-src": "./src/rollup/index.ts"
|
25
|
+
}
|
14
26
|
},
|
15
27
|
"dependencies": {
|
16
|
-
"@pnpm/filter-workspace-packages": "^7.2.13",
|
17
28
|
"@rollup/plugin-json": "^6.0.1",
|
18
29
|
"@rollup/plugin-terser": "^0.4.4",
|
19
30
|
"autoprefixer": "^10.4.16",
|
20
31
|
"commander": "^12.0.0",
|
32
|
+
"detect-indent": "^6.1.0",
|
21
33
|
"js-yaml": "^4.1.0",
|
34
|
+
"jsonc-parser": "^3.2.1",
|
22
35
|
"rollup": "^4.1.5",
|
23
36
|
"rollup-plugin-copy": "^3.5.0",
|
24
37
|
"rollup-plugin-dts": "^6.1.0",
|
@@ -27,20 +40,22 @@
|
|
27
40
|
"@jiek/pkger": "0.1.8",
|
28
41
|
"@jiek/utils": "0.1.6"
|
29
42
|
},
|
43
|
+
"optionalDependencies": {
|
44
|
+
"@pnpm/filter-workspace-packages": "^7.2.13"
|
45
|
+
},
|
30
46
|
"devDependencies": {
|
31
47
|
"@npm/types": "^1.0.2",
|
48
|
+
"@pnpm/filter-workspace-packages": "^7.2.13",
|
32
49
|
"@pnpm/workspace.pkgs-graph": "^2.0.15",
|
33
50
|
"@types/js-yaml": "^4.0.9",
|
34
51
|
"esbuild-register": "^3.5.0"
|
35
52
|
},
|
36
|
-
"
|
37
|
-
"
|
38
|
-
|
53
|
+
"scripts": {
|
54
|
+
"build": "jiek-dev build"
|
55
|
+
},
|
39
56
|
"types": "./dist/index.d.ts",
|
40
57
|
"main": "./dist/index.umd.js",
|
41
58
|
"module": "./dist/index.esm.js",
|
42
|
-
"unpkg": "./dist/index.umd.min.js",
|
43
|
-
"jsdelivr": "./dist/index.umd.min.js",
|
44
59
|
"browser": "./dist/index.umd.min.js",
|
45
60
|
"typesVersions": {
|
46
61
|
"<5.0": {
|
@@ -50,23 +65,5 @@
|
|
50
65
|
"./dist/*/index.esm.d.ts"
|
51
66
|
]
|
52
67
|
}
|
53
|
-
},
|
54
|
-
"exports": {
|
55
|
-
"./package.json": "./package.json",
|
56
|
-
".": {
|
57
|
-
"types": "./dist/index.d.ts",
|
58
|
-
"import": "./dist/index.esm.js",
|
59
|
-
"require": "./dist/index.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"
|
67
|
-
}
|
68
|
-
},
|
69
|
-
"scripts": {
|
70
|
-
"build": "jiek-dev build"
|
71
68
|
}
|
72
69
|
}
|