jiek 0.1.12 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +192 -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 +194 -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 +43 -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 +30 -29
@@ -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.
|
3
|
+
"version": "0.2.0",
|
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,26 @@
|
|
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
|
-
"dist"
|
38
|
-
|
53
|
+
"publishConfig": {
|
54
|
+
"jsdelivr": "./dist/index.umd.min.js"
|
55
|
+
},
|
56
|
+
"scripts": {
|
57
|
+
"build": "jiek-dev build"
|
58
|
+
},
|
39
59
|
"types": "./dist/index.d.ts",
|
40
60
|
"main": "./dist/index.umd.js",
|
41
61
|
"module": "./dist/index.esm.js",
|
42
62
|
"unpkg": "./dist/index.umd.min.js",
|
43
|
-
"jsdelivr": "./dist/index.umd.min.js",
|
44
63
|
"browser": "./dist/index.umd.min.js",
|
45
64
|
"typesVersions": {
|
46
65
|
"<5.0": {
|
@@ -50,23 +69,5 @@
|
|
50
69
|
"./dist/*/index.esm.d.ts"
|
51
70
|
]
|
52
71
|
}
|
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
72
|
}
|
72
73
|
}
|