jiek 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cli.cjs +2 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.min.cjs +1 -1
- package/dist/cli.min.cjs.map +1 -1
- package/dist/commands/base.esm.js.map +1 -1
- package/dist/commands/base.esm.min.js.map +1 -1
- package/dist/commands/build.esm.js +2 -1
- 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/rollup.cjs +2 -5
- package/dist/rollup.cjs.map +1 -1
- package/dist/rollup.esm.js +2 -5
- 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.min.cjs +1 -1
- package/dist/rollup.min.cjs.map +1 -1
- package/package.json +2 -2
package/dist/cli.cjs
CHANGED
@@ -279,7 +279,8 @@ commander.program.command("build").option("-t, --target <type>", "target flow: e
|
|
279
279
|
if (tsRegisterName) {
|
280
280
|
prefix = `node -r ${tsRegisterName} `;
|
281
281
|
}
|
282
|
-
|
282
|
+
const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`;
|
283
|
+
childProcess__namespace.execSync(command, {
|
283
284
|
cwd: dir,
|
284
285
|
stdio: "inherit",
|
285
286
|
env: {
|
package/dist/cli.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.cjs","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/pkg.ts","../src/commands/base.ts","../src/inner.ts","../src/utils/commondir.ts","../src/merge-package-json.ts","../src/utils/tsRegister.ts","../src/commands/build.ts","../src/utils/loadConfig.ts","../src/commands/init.ts","../src/commands/publish.ts","../src/cli.ts"],"sourcesContent":["import path from 'node:path'\n\nimport { program } from 'commander'\n\nlet root: string\nexport function getRoot() {\n if (root) return root\n\n const rootOption = program.getOptionValue('root')\n root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : undefined\n return root\n}\n","import { getWorkspaceDir, isWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\n\nimport { type } from './filterSupport'\nimport { getRoot } from './getRoot'\n\nlet wd: string\nlet notWorkspace = false\n\nexport function getWD() {\n if (wd) return { wd, notWorkspace }\n\n const root = getRoot()\n if (root !== undefined) {\n const isWorkspace = isWorkspaceDir(root, type)\n notWorkspace = !isWorkspace\n wd = root\n return { wd, notWorkspace }\n }\n try {\n wd = getWorkspaceDir(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 return { wd, notWorkspace }\n}\n","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\nimport { getRoot } from './getRoot'\nimport { getWD } from './getWD'\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 root = getRoot()\n const { wd, notWorkspace } = getWD()\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","export default require('../package.json')\n","import { program } from 'commander'\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n","let resolve: () => void\n\nexport let actionFuture: Promise<void>\n\nexport function actionDone() {\n resolve()\n}\n\nexport function actionRestore() {\n actionFuture = new Promise<void>(r => resolve = r)\n}\n","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","import path from 'node:path'\n\nimport { type Options, pkger } from '@jiek/pkger'\nimport type { Manifest } from '@pnpm/workspace.pkgs-graph'\n\nimport { commondir } from './utils/commondir'\n\nexport function mergePackageJson(manifest: Manifest & {\n jiek?: Options\n exports?: unknown | unknown[]\n}, cwd: string, options: {\n excludeDistInExports?: boolean\n} = {}) {\n const {\n excludeDistInExports = false\n } = options\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\n const { outdir = 'dist' } = jiek\n let { exports } = manifest\n let includeIndex = false\n if (typeof exports === 'string') {\n includeIndex = true\n exports = { '.': exports }\n }\n if (exports === undefined) {\n exports = { '.': './src/index.ts' }\n }\n if (typeof exports === 'object') {\n if (Array.isArray(exports) && exports.length > 0) {\n includeIndex = true\n } else {\n includeIndex = !!(<Record<string, unknown>>exports)['.']\n }\n }\n let inputs = Array.isArray(exports)\n ? exports as string[]\n : Object\n .entries(<Record<string, unknown>>exports)\n .reduce((acc, [key, value]) => {\n if (typeof value === 'string') return key === '.'\n ? [value, ...acc]\n : acc.concat(value)\n if (Array.isArray(value)) return acc.concat(value)\n\n throw new TypeError(`Unexpected value type for key \"${key}\" in exports, expected string, got ${typeof value}`)\n }, [] as string[])\n if (excludeDistInExports) {\n inputs = inputs.filter(input => !input.startsWith(`./${outdir}`) && !input.startsWith(outdir))\n }\n if (inputs.length === 0)\n throw new Error('No inputs found')\n\n const absoluteInputs = inputs.map(input => path.isAbsolute(input)\n ? input\n : path.resolve(cwd, input)\n )\n let cDir = path.dirname(absoluteInputs[0])\n if (absoluteInputs.length > 1) {\n cDir = commondir(absoluteInputs, cwd)\n }\n const resolvedInputs = absoluteInputs.map(input => {\n return path.relative(cDir, input)\n })\n return {\n ...manifest,\n ...pkger({\n cwd,\n noIndex: !includeIndex,\n source: path.relative(cwd, cDir),\n inputs: resolvedInputs,\n ...jiek\n })\n }\n}\n","function packageIsExist(name: string) {\n try {\n require.resolve(name)\n return true\n } catch (e) {\n return false\n }\n}\n\nexport let tsRegisterName: string | undefined\nconst registers = [\n process.env.JIEK_TS_REGISTER,\n 'esbuild-register',\n '@swc-node/register',\n 'ts-node/register'\n].filter(Boolean) as string[]\nfor (const register of registers) {\n if (packageIsExist(register)) {\n tsRegisterName = register\n break\n }\n}\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n childProcess.execSync(`${prefix}${rollupBinaryPath} --silent -c ${configFile}`, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nimport { getWD } from './getWD'\nimport { tsRegisterName } from './tsRegister'\n\nlet configName = 'jiek.config'\n\nfunction getConfigPath(root: string) {\n const isSupportTsLoader = !!tsRegisterName\n function configWithExtIsExist(ext: string) {\n const filenames = [\n path.resolve(root, `${configName}.${ext}`),\n path.resolve(root, `.${configName}.${ext}`)\n ]\n for (const filename of filenames) {\n if (\n fs.existsSync(filename) &&\n fs.lstatSync(filename)\n .isFile()\n ) {\n return filename\n }\n }\n return\n }\n configName = configWithExtIsExist('js') ?? configName\n configName = configWithExtIsExist('json') ?? configName\n configName = configWithExtIsExist('yaml') ?? configName\n if (isSupportTsLoader) {\n configName = configWithExtIsExist('ts') ?? configName\n }\n return path.resolve(root, configName)\n}\n\nexport function loadConfig() {\n const { wd: root, notWorkspace } = getWD()\n if (notWorkspace)\n throw new Error('not in workspace')\n\n let configPath = program.getOptionValue('configPath')\n\n if (!configPath) {\n configPath = getConfigPath(root)\n } else {\n if (!fs.existsSync(configPath))\n throw new Error(`config file not found: ${configPath}`)\n if (!path.isAbsolute(configPath))\n configPath = path.resolve(root, configPath)\n }\n const ext = path.extname(configPath)\n\n let module: any\n switch (ext) {\n case '.js':\n module = require(configPath)\n break\n case '.json':\n return require(configPath)\n case '.yaml':\n return load(fs.readFileSync(configPath, 'utf-8'))\n case '.ts':\n if (tsRegisterName) {\n require(tsRegisterName)\n module = require(configPath)\n break\n }\n throw new Error(\n 'ts config file is not supported without ts register, ' +\n 'please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register'\n )\n case '.config':\n module = {}\n break\n default:\n throw new Error(`unsupported config file type: ${ext}`)\n }\n if (!module) throw new Error('config file is empty')\n\n return module.default ?? module\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport inquirer from 'inquirer'\nimport { applyEdits, modify } from 'jsonc-parser'\nimport { isMatch } from 'micromatch'\n\nimport type { Config, InitNamed } from '../base'\nimport { getWD } from '../utils/getWD'\nimport { loadConfig } from '../utils/loadConfig'\n\nconst PACKAGE_JSON_TEMPLATE = `{\n \"name\": \"\",\n \"version\": \"0.0.1\",\n \"description\": \"\",\n \"license\": \"\",\n \"author\": \"\",\n \"files\": [\"dist\"],\n \"exports\": {\n \".\": \"./src/index.ts\"\n },\n \"scripts\": {\n },\n \"homepage\": \"\",\n \"repository\": \"\",\n \"bugs\": \"\"\n}`.trimStart()\nconst README_TEMPLATE = `# $name\n\n## Installation\n\n\\`\\`\\`bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n\\`\\`\\`\n\n## Usage\n\n\n## License\n\n$license\n`.trimStart()\n\nfunction getTemplateStr(wd: string, template: string | undefined) {\n let templateString = template ?? PACKAGE_JSON_TEMPLATE\n let isTemplateFile = false\n try {\n if (template) JSON.parse(template)\n } catch (e) {\n isTemplateFile = true\n }\n if (isTemplateFile) {\n const templatePath = path.resolve(wd, template!)\n templateString = fs.readFileSync(templatePath, 'utf-8')\n }\n return templateString\n}\nconst wdCache = new Map<string, Record<string, any>>()\nfunction getWDPackageJSONFiled(wd: string, field: string) {\n if (wdCache.has(wd)) {\n return wdCache.get(wd)![field]\n }\n const packageJSONPath = path.resolve(wd, 'package.json')\n const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n wdCache.set(wd, packageJSON)\n return packageJSON[field]\n}\nasync function getName(\n named: InitNamed | undefined,\n name: string,\n {\n wd, cwd,\n workspaceName\n }: {\n wd: string\n cwd: string\n workspaceName: string\n }\n): Promise<[name?: string, path?: string]> {\n const relativePath = cwd.replace(`${wd}/`, '')\n let basename = path.basename(cwd)\n\n if (typeof named === 'function') {\n return named(name, {\n full: wd,\n relative: cwd\n })\n }\n\n let isParentMatched = false\n let matchedKey: string | undefined\n let matchedRule: NonNullable<typeof named>[string] | undefined\n if (typeof named === 'object') {\n const isWD = cwd === wd\n if (isWD) {\n const { rule } = await inquirer.prompt<{ rule: string }>({\n type: 'list',\n name: 'rule',\n message: 'choose a rule',\n default: 'default',\n choices: ['default'].concat(Object.keys(named))\n })\n if (rule !== 'default') {\n matchedKey = rule\n matchedRule = named[rule]\n }\n } else for (const [key, value] of Object.entries(named)) {\n if (isMatch(relativePath, key)) {\n matchedKey = key\n matchedRule = value\n break\n }\n if (isMatch(`${relativePath}/jiek_ignore_dont_use_same_file_name`, key)) {\n isParentMatched = true\n matchedKey = key\n matchedRule = value\n break\n }\n }\n }\n if (!matchedRule) {\n matchedKey = 'packages/*'\n matchedRule = `@${workspaceName}/$basename`\n }\n if (!matchedRule)\n throw new Error('no matched rule')\n if (!name && isParentMatched) {\n basename = await inquirer.prompt<{ name: string }>({\n type: 'input',\n name: 'name',\n message: `the matched rule is \\`${String(matchedRule)}\\`, please input the basename\\n`\n }).then(({ name }) => name)\n }\n\n if (typeof matchedRule === 'function') {\n return matchedRule(name, {\n full: wd,\n relative: cwd,\n basename: basename\n })\n }\n if (typeof matchedRule === 'string') {\n const dirName = name ?? basename\n return [\n matchedRule.replace(/\\$basename/g, dirName),\n matchedKey?.replace(/\\/\\*$/g, `/${dirName}`)\n ]\n }\n throw new Error('no matched rule')\n}\n\nprogram\n .command('init [name]')\n .option('-t, --template <template>', 'the package.json template file path or file content')\n .action(async () => {\n const [, name] = program.args\n const cwd = process.cwd()\n const { init = {} }: Config = loadConfig() ?? {}\n const { wd } = getWD()\n const workspaceName = path.basename(wd)\n\n const {\n named,\n template,\n bug = {},\n readme: _readme = README_TEMPLATE,\n readmeTemplate\n } = init\n const resolvedBug = {\n template: 'bug_report.yml',\n labels: ['bug'],\n ...bug\n }\n let readme = _readme\n if (readmeTemplate) {\n const readmeTemplatePath = path.resolve(wd, readmeTemplate)\n readme = fs.readFileSync(readmeTemplatePath, 'utf-8')\n }\n\n const templateString = getTemplateStr(wd, template)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(templateString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n const passFields = [\n 'license', 'author'\n ]\n let newJSONString = templateString\n for (const field of passFields) {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, [field], getWDPackageJSONFiled(wd, field), { formattingOptions }\n ))\n }\n let [pkgName, pkgDir] = await getName(named, name, {\n wd, cwd,\n workspaceName\n })\n if (!pkgDir) {\n const { dir } = await inquirer.prompt<{ dir: string }>({\n type: 'input',\n name: 'dir',\n message: 'package directory',\n default: name\n })\n pkgDir = dir\n }\n if (!pkgName) {\n const { name: inputName } = await inquirer.prompt<{\n name: string\n }>({\n type: 'input',\n name: 'name',\n message: 'package name',\n default: name\n })\n pkgName = inputName\n }\n newJSONString = applyEdits(newJSONString, modify(newJSONString, ['name'], pkgName, { formattingOptions }))\n\n let pkgRepo = getWDPackageJSONFiled(wd, 'repository')\n if (typeof pkgRepo === 'string') {\n pkgRepo = {\n type: 'git',\n url: pkgRepo,\n directory: pkgDir\n }\n }\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['repository'], pkgRepo, { formattingOptions }\n ))\n const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['homepage'], homepage, { formattingOptions }\n ))\n let labels = resolvedBug.labels\n if (typeof labels === 'function') labels = labels({\n name: pkgName, dir: pkgDir\n })\n labels.push(`scope:${pkgName}`)\n const bugs = `${pkgRepo?.url}/issues/new?template=${\n resolvedBug.template\n }&labels=${\n labels.join(',')\n }`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['bugs'], bugs, { formattingOptions }\n ))\n\n function pkgDirTo(to: string) {\n if (!pkgDir) throw new Error('pkgDir is not defined')\n\n return path.resolve(pkgDir, to)\n }\n if (!fs.existsSync(pkgDir)) fs.mkdirSync(pkgDir)\n const pkgJSONFilePath = pkgDirTo('package.json')\n if (fs.existsSync(pkgJSONFilePath)) {\n throw new Error('package.json already exists')\n }\n fs.writeFileSync(pkgJSONFilePath, newJSONString)\n console.log(newJSONString, 'written to', pkgJSONFilePath)\n\n const license = getWDPackageJSONFiled(wd, 'license')\n const readmeFilePath = pkgDirTo('README.md')\n if (typeof readme === 'function') {\n readme = readme({\n dir: pkgDir,\n packageJson: JSON.parse(newJSONString)\n })\n }\n const readmeContent = readme\n .replace(/\\$name/g, pkgName)\n .replace(/\\$license/g, license)\n fs.writeFileSync(readmeFilePath, readmeContent)\n })\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport { applyEdits, modify } from 'jsonc-parser'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\n\nprogram\n .command('publish')\n .aliases(['pub', 'p'])\n .option('-b, --bumper <bumper>', 'bump version', 'patch')\n .option('-p, --preview', 'preview publish')\n .action(async ({ preview, bumper, ...options }: {\n preview?: boolean\n bumper: BumperType\n }) => {\n actionRestore()\n\n const { value = {} } = await getSelectedProjectsGraph() ?? {}\n const selectedProjectsGraphEntries = Object.entries(value)\n if (selectedProjectsGraphEntries.length === 0) {\n throw new Error('no packages selected')\n }\n const mainfests = selectedProjectsGraphEntries\n .map(([dir, manifest]) => [\n dir, mergePackageJson(manifest, dir)\n ] as const)\n const passArgs = Object\n .entries(options)\n .reduce((acc, [key, value]) => {\n if (value) {\n acc.push(`--${key}`, value as string)\n }\n return acc\n }, [] as string[])\n for (const [dir, manifest] of mainfests) {\n const oldJSONString = fs.readFileSync(path.join(dir, 'package.json'), 'utf-8')\n const oldJSON = JSON.parse(oldJSONString) ?? '0.0.0'\n const newVersion = bump(oldJSON.version, bumper)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(oldJSONString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n let newJSONString = oldJSONString\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['version'], newVersion, { formattingOptions }\n ))\n for (const [key, value] of Object.entries(manifest)) {\n if (JSON.stringify(value) === JSON.stringify(oldJSON[key])) continue\n\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', key], value, { formattingOptions }\n ))\n }\n try {\n fs.renameSync(path.join(dir, 'package.json'), path.join(dir, 'package.json.bak'))\n fs.writeFileSync(path.join(dir, 'package.json'), newJSONString)\n console.log(newJSONString)\n if (preview) {\n console.warn('preview mode')\n continue\n }\n childProcess.execSync(['pnpm', 'publish', '--access', 'public', '--no-git-checks', ...passArgs].join(' '), {\n cwd: dir,\n stdio: 'inherit'\n })\n const modifyVersionPackageJSON = applyEdits(oldJSONString, modify(oldJSONString, ['version'], newVersion, {}))\n fs.writeFileSync(path.join(dir, 'package.json.bak'), modifyVersionPackageJSON)\n } finally {\n fs.unlinkSync(path.join(dir, 'package.json'))\n fs.renameSync(path.join(dir, 'package.json.bak'), path.join(dir, 'package.json'))\n }\n }\n actionDone()\n })\n","import './utils/filterSupport'\nimport './commands/base'\nimport './commands/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\nprogram.parse(process.argv)\n"],"names":["program","path","isWorkspaceDir","getWorkspaceDir","fs","load","filterPackagesFromDir","pkger","childProcess","inquirer","isMatch","name","detectIndent","applyEdits","modify","bumper","value","bump"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"cli.cjs","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/pkg.ts","../src/commands/base.ts","../src/inner.ts","../src/utils/commondir.ts","../src/merge-package-json.ts","../src/utils/tsRegister.ts","../src/commands/build.ts","../src/utils/loadConfig.ts","../src/commands/init.ts","../src/commands/publish.ts","../src/cli.ts"],"sourcesContent":["import path from 'node:path'\n\nimport { program } from 'commander'\n\nlet root: string\nexport function getRoot() {\n if (root) return root\n\n const rootOption = program.getOptionValue('root')\n root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : undefined\n return root\n}\n","import { getWorkspaceDir, isWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\n\nimport { type } from './filterSupport'\nimport { getRoot } from './getRoot'\n\nlet wd: string\nlet notWorkspace = false\n\nexport function getWD() {\n if (wd) return { wd, notWorkspace }\n\n const root = getRoot()\n if (root !== undefined) {\n const isWorkspace = isWorkspaceDir(root, type)\n notWorkspace = !isWorkspace\n wd = root\n return { wd, notWorkspace }\n }\n try {\n wd = getWorkspaceDir(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 return { wd, notWorkspace }\n}\n","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\nimport { getRoot } from './getRoot'\nimport { getWD } from './getWD'\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 root = getRoot()\n const { wd, notWorkspace } = getWD()\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","export default require('../package.json')\n","import { program } from 'commander'\n\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n","let resolve: () => void\n\nexport let actionFuture: Promise<void>\n\nexport function actionDone() {\n resolve()\n}\n\nexport function actionRestore() {\n actionFuture = new Promise<void>(r => resolve = r)\n}\n","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","import path from 'node:path'\n\nimport { type Options, pkger } from '@jiek/pkger'\nimport type { Manifest } from '@pnpm/workspace.pkgs-graph'\n\nimport { commondir } from './utils/commondir'\n\nexport function mergePackageJson(manifest: Manifest & {\n jiek?: Options\n exports?: unknown | unknown[]\n}, cwd: string, options: {\n excludeDistInExports?: boolean\n} = {}) {\n const {\n excludeDistInExports = false\n } = options\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\n const { outdir = 'dist' } = jiek\n let { exports } = manifest\n let includeIndex = false\n if (typeof exports === 'string') {\n includeIndex = true\n exports = { '.': exports }\n }\n if (exports === undefined) {\n exports = { '.': './src/index.ts' }\n }\n if (typeof exports === 'object') {\n if (Array.isArray(exports) && exports.length > 0) {\n includeIndex = true\n } else {\n includeIndex = !!(<Record<string, unknown>>exports)['.']\n }\n }\n let inputs = Array.isArray(exports)\n ? exports as string[]\n : Object\n .entries(<Record<string, unknown>>exports)\n .reduce((acc, [key, value]) => {\n if (typeof value === 'string') return key === '.'\n ? [value, ...acc]\n : acc.concat(value)\n if (Array.isArray(value)) return acc.concat(value)\n\n throw new TypeError(`Unexpected value type for key \"${key}\" in exports, expected string, got ${typeof value}`)\n }, [] as string[])\n if (excludeDistInExports) {\n inputs = inputs.filter(input => !input.startsWith(`./${outdir}`) && !input.startsWith(outdir))\n }\n if (inputs.length === 0)\n throw new Error('No inputs found')\n\n const absoluteInputs = inputs.map(input => path.isAbsolute(input)\n ? input\n : path.resolve(cwd, input)\n )\n let cDir = path.dirname(absoluteInputs[0])\n if (absoluteInputs.length > 1) {\n cDir = commondir(absoluteInputs, cwd)\n }\n const resolvedInputs = absoluteInputs.map(input => {\n return path.relative(cDir, input)\n })\n return {\n ...manifest,\n ...pkger({\n cwd,\n noIndex: !includeIndex,\n source: path.relative(cwd, cDir),\n inputs: resolvedInputs,\n ...jiek\n })\n }\n}\n","function packageIsExist(name: string) {\n try {\n require.resolve(name)\n return true\n } catch (e) {\n return false\n }\n}\n\nexport let tsRegisterName: string | undefined\nconst registers = [\n process.env.JIEK_TS_REGISTER,\n 'esbuild-register',\n '@swc-node/register',\n 'ts-node/register'\n].filter(Boolean) as string[]\nfor (const register of registers) {\n if (packageIsExist(register)) {\n tsRegisterName = register\n break\n }\n}\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`\n childProcess.execSync(command, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nimport { getWD } from './getWD'\nimport { tsRegisterName } from './tsRegister'\n\nlet configName = 'jiek.config'\n\nfunction getConfigPath(root: string) {\n const isSupportTsLoader = !!tsRegisterName\n function configWithExtIsExist(ext: string) {\n const filenames = [\n path.resolve(root, `${configName}.${ext}`),\n path.resolve(root, `.${configName}.${ext}`)\n ]\n for (const filename of filenames) {\n if (\n fs.existsSync(filename) &&\n fs.lstatSync(filename)\n .isFile()\n ) {\n return filename\n }\n }\n return\n }\n configName = configWithExtIsExist('js') ?? configName\n configName = configWithExtIsExist('json') ?? configName\n configName = configWithExtIsExist('yaml') ?? configName\n if (isSupportTsLoader) {\n configName = configWithExtIsExist('ts') ?? configName\n }\n return path.resolve(root, configName)\n}\n\nexport function loadConfig() {\n const { wd: root, notWorkspace } = getWD()\n if (notWorkspace)\n throw new Error('not in workspace')\n\n let configPath = program.getOptionValue('configPath')\n\n if (!configPath) {\n configPath = getConfigPath(root)\n } else {\n if (!fs.existsSync(configPath))\n throw new Error(`config file not found: ${configPath}`)\n if (!path.isAbsolute(configPath))\n configPath = path.resolve(root, configPath)\n }\n const ext = path.extname(configPath)\n\n let module: any\n switch (ext) {\n case '.js':\n module = require(configPath)\n break\n case '.json':\n return require(configPath)\n case '.yaml':\n return load(fs.readFileSync(configPath, 'utf-8'))\n case '.ts':\n if (tsRegisterName) {\n require(tsRegisterName)\n module = require(configPath)\n break\n }\n throw new Error(\n 'ts config file is not supported without ts register, ' +\n 'please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register'\n )\n case '.config':\n module = {}\n break\n default:\n throw new Error(`unsupported config file type: ${ext}`)\n }\n if (!module) throw new Error('config file is empty')\n\n return module.default ?? module\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport inquirer from 'inquirer'\nimport { applyEdits, modify } from 'jsonc-parser'\nimport { isMatch } from 'micromatch'\n\nimport type { Config, InitNamed } from '../base'\nimport { getWD } from '../utils/getWD'\nimport { loadConfig } from '../utils/loadConfig'\n\nconst PACKAGE_JSON_TEMPLATE = `{\n \"name\": \"\",\n \"version\": \"0.0.1\",\n \"description\": \"\",\n \"license\": \"\",\n \"author\": \"\",\n \"files\": [\"dist\"],\n \"exports\": {\n \".\": \"./src/index.ts\"\n },\n \"scripts\": {\n },\n \"homepage\": \"\",\n \"repository\": \"\",\n \"bugs\": \"\"\n}`.trimStart()\nconst README_TEMPLATE = `# $name\n\n## Installation\n\n\\`\\`\\`bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n\\`\\`\\`\n\n## Usage\n\n\n## License\n\n$license\n`.trimStart()\n\nfunction getTemplateStr(wd: string, template: string | undefined) {\n let templateString = template ?? PACKAGE_JSON_TEMPLATE\n let isTemplateFile = false\n try {\n if (template) JSON.parse(template)\n } catch (e) {\n isTemplateFile = true\n }\n if (isTemplateFile) {\n const templatePath = path.resolve(wd, template!)\n templateString = fs.readFileSync(templatePath, 'utf-8')\n }\n return templateString\n}\nconst wdCache = new Map<string, Record<string, any>>()\nfunction getWDPackageJSONFiled(wd: string, field: string) {\n if (wdCache.has(wd)) {\n return wdCache.get(wd)![field]\n }\n const packageJSONPath = path.resolve(wd, 'package.json')\n const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n wdCache.set(wd, packageJSON)\n return packageJSON[field]\n}\nasync function getName(\n named: InitNamed | undefined,\n name: string,\n {\n wd, cwd,\n workspaceName\n }: {\n wd: string\n cwd: string\n workspaceName: string\n }\n): Promise<[name?: string, path?: string]> {\n const relativePath = cwd.replace(`${wd}/`, '')\n let basename = path.basename(cwd)\n\n if (typeof named === 'function') {\n return named(name, {\n full: wd,\n relative: cwd\n })\n }\n\n let isParentMatched = false\n let matchedKey: string | undefined\n let matchedRule: NonNullable<typeof named>[string] | undefined\n if (typeof named === 'object') {\n const isWD = cwd === wd\n if (isWD) {\n const { rule } = await inquirer.prompt<{ rule: string }>({\n type: 'list',\n name: 'rule',\n message: 'choose a rule',\n default: 'default',\n choices: ['default'].concat(Object.keys(named))\n })\n if (rule !== 'default') {\n matchedKey = rule\n matchedRule = named[rule]\n }\n } else for (const [key, value] of Object.entries(named)) {\n if (isMatch(relativePath, key)) {\n matchedKey = key\n matchedRule = value\n break\n }\n if (isMatch(`${relativePath}/jiek_ignore_dont_use_same_file_name`, key)) {\n isParentMatched = true\n matchedKey = key\n matchedRule = value\n break\n }\n }\n }\n if (!matchedRule) {\n matchedKey = 'packages/*'\n matchedRule = `@${workspaceName}/$basename`\n }\n if (!matchedRule)\n throw new Error('no matched rule')\n if (!name && isParentMatched) {\n basename = await inquirer.prompt<{ name: string }>({\n type: 'input',\n name: 'name',\n message: `the matched rule is \\`${String(matchedRule)}\\`, please input the basename\\n`\n }).then(({ name }) => name)\n }\n\n if (typeof matchedRule === 'function') {\n return matchedRule(name, {\n full: wd,\n relative: cwd,\n basename: basename\n })\n }\n if (typeof matchedRule === 'string') {\n const dirName = name ?? basename\n return [\n matchedRule.replace(/\\$basename/g, dirName),\n matchedKey?.replace(/\\/\\*$/g, `/${dirName}`)\n ]\n }\n throw new Error('no matched rule')\n}\n\nprogram\n .command('init [name]')\n .option('-t, --template <template>', 'the package.json template file path or file content')\n .action(async () => {\n const [, name] = program.args\n const cwd = process.cwd()\n const { init = {} }: Config = loadConfig() ?? {}\n const { wd } = getWD()\n const workspaceName = path.basename(wd)\n\n const {\n named,\n template,\n bug = {},\n readme: _readme = README_TEMPLATE,\n readmeTemplate\n } = init\n const resolvedBug = {\n template: 'bug_report.yml',\n labels: ['bug'],\n ...bug\n }\n let readme = _readme\n if (readmeTemplate) {\n const readmeTemplatePath = path.resolve(wd, readmeTemplate)\n readme = fs.readFileSync(readmeTemplatePath, 'utf-8')\n }\n\n const templateString = getTemplateStr(wd, template)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(templateString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n const passFields = [\n 'license', 'author'\n ]\n let newJSONString = templateString\n for (const field of passFields) {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, [field], getWDPackageJSONFiled(wd, field), { formattingOptions }\n ))\n }\n let [pkgName, pkgDir] = await getName(named, name, {\n wd, cwd,\n workspaceName\n })\n if (!pkgDir) {\n const { dir } = await inquirer.prompt<{ dir: string }>({\n type: 'input',\n name: 'dir',\n message: 'package directory',\n default: name\n })\n pkgDir = dir\n }\n if (!pkgName) {\n const { name: inputName } = await inquirer.prompt<{\n name: string\n }>({\n type: 'input',\n name: 'name',\n message: 'package name',\n default: name\n })\n pkgName = inputName\n }\n newJSONString = applyEdits(newJSONString, modify(newJSONString, ['name'], pkgName, { formattingOptions }))\n\n let pkgRepo = getWDPackageJSONFiled(wd, 'repository')\n if (typeof pkgRepo === 'string') {\n pkgRepo = {\n type: 'git',\n url: pkgRepo,\n directory: pkgDir\n }\n }\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['repository'], pkgRepo, { formattingOptions }\n ))\n const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['homepage'], homepage, { formattingOptions }\n ))\n let labels = resolvedBug.labels\n if (typeof labels === 'function') labels = labels({\n name: pkgName, dir: pkgDir\n })\n labels.push(`scope:${pkgName}`)\n const bugs = `${pkgRepo?.url}/issues/new?template=${\n resolvedBug.template\n }&labels=${\n labels.join(',')\n }`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['bugs'], bugs, { formattingOptions }\n ))\n\n function pkgDirTo(to: string) {\n if (!pkgDir) throw new Error('pkgDir is not defined')\n\n return path.resolve(pkgDir, to)\n }\n if (!fs.existsSync(pkgDir)) fs.mkdirSync(pkgDir)\n const pkgJSONFilePath = pkgDirTo('package.json')\n if (fs.existsSync(pkgJSONFilePath)) {\n throw new Error('package.json already exists')\n }\n fs.writeFileSync(pkgJSONFilePath, newJSONString)\n console.log(newJSONString, 'written to', pkgJSONFilePath)\n\n const license = getWDPackageJSONFiled(wd, 'license')\n const readmeFilePath = pkgDirTo('README.md')\n if (typeof readme === 'function') {\n readme = readme({\n dir: pkgDir,\n packageJson: JSON.parse(newJSONString)\n })\n }\n const readmeContent = readme\n .replace(/\\$name/g, pkgName)\n .replace(/\\$license/g, license)\n fs.writeFileSync(readmeFilePath, readmeContent)\n })\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport { applyEdits, modify } from 'jsonc-parser'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\n\nprogram\n .command('publish')\n .aliases(['pub', 'p'])\n .option('-b, --bumper <bumper>', 'bump version', 'patch')\n .option('-p, --preview', 'preview publish')\n .action(async ({ preview, bumper, ...options }: {\n preview?: boolean\n bumper: BumperType\n }) => {\n actionRestore()\n\n const { value = {} } = await getSelectedProjectsGraph() ?? {}\n const selectedProjectsGraphEntries = Object.entries(value)\n if (selectedProjectsGraphEntries.length === 0) {\n throw new Error('no packages selected')\n }\n const mainfests = selectedProjectsGraphEntries\n .map(([dir, manifest]) => [\n dir, mergePackageJson(manifest, dir)\n ] as const)\n const passArgs = Object\n .entries(options)\n .reduce((acc, [key, value]) => {\n if (value) {\n acc.push(`--${key}`, value as string)\n }\n return acc\n }, [] as string[])\n for (const [dir, manifest] of mainfests) {\n const oldJSONString = fs.readFileSync(path.join(dir, 'package.json'), 'utf-8')\n const oldJSON = JSON.parse(oldJSONString) ?? '0.0.0'\n const newVersion = bump(oldJSON.version, bumper)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(oldJSONString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n let newJSONString = oldJSONString\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['version'], newVersion, { formattingOptions }\n ))\n for (const [key, value] of Object.entries(manifest)) {\n if (JSON.stringify(value) === JSON.stringify(oldJSON[key])) continue\n\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', key], value, { formattingOptions }\n ))\n }\n try {\n fs.renameSync(path.join(dir, 'package.json'), path.join(dir, 'package.json.bak'))\n fs.writeFileSync(path.join(dir, 'package.json'), newJSONString)\n console.log(newJSONString)\n if (preview) {\n console.warn('preview mode')\n continue\n }\n childProcess.execSync(['pnpm', 'publish', '--access', 'public', '--no-git-checks', ...passArgs].join(' '), {\n cwd: dir,\n stdio: 'inherit'\n })\n const modifyVersionPackageJSON = applyEdits(oldJSONString, modify(oldJSONString, ['version'], newVersion, {}))\n fs.writeFileSync(path.join(dir, 'package.json.bak'), modifyVersionPackageJSON)\n } finally {\n fs.unlinkSync(path.join(dir, 'package.json'))\n fs.renameSync(path.join(dir, 'package.json.bak'), path.join(dir, 'package.json'))\n }\n }\n actionDone()\n })\n","import './utils/filterSupport'\nimport './commands/base'\nimport './commands/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\nprogram.parse(process.argv)\n"],"names":["program","path","isWorkspaceDir","getWorkspaceDir","fs","load","filterPackagesFromDir","pkger","childProcess","inquirer","isMatch","name","detectIndent","applyEdits","modify","bumper","value","bump"],"mappings":"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"}
|
package/dist/cli.min.cjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var e=require("node:fs"),t=require("node:path"),r=require("@pnpm/filter-workspace-packages"),n=require("commander"),o=require("js-yaml"),a=require("@jiek/utils/getWorkspaceDir"),i=require("node:child_process"),s=require("@jiek/pkger"),l=require("detect-indent"),c=require("inquirer"),p=require("jsonc-parser"),u=require("micromatch"),f=require("@jiek/utils/bumper");function d(e){return e&&e.__esModule?e:{default:e}}function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var g=d(e),y=d(t),w=m(i),k=d(l),h=d(c);let b,j;function v(){if(b)return b;const e=n.program.getOptionValue("root");return b=e?y.default.isAbsolute(e)?e:y.default.resolve(process.cwd(),e):void 0,b}let S=!1;function E(){if(j)return{wd:j,notWorkspace:S};const e=v();if(void 0!==e){const t=a.isWorkspaceDir(e,$);return S=!t,j=e,{wd:j,notWorkspace:S}}try{j=a.getWorkspaceDir($)}catch(t){if(!("message"in t)||"workspace root not found"!==t.message)throw t;j=e,S=!0}return{wd:j,notWorkspace:S}}let $="";try{require.resolve("@pnpm/filter-workspace-packages"),$="pnpm"}catch{}async function O(){let e=n.program.getOptionValue("filter");const t=v(),{wd:a,notWorkspace:i}=E();if(!i&&"pnpm"===$){const n=y.default.resolve(a,"pnpm-workspace.yaml"),i=g.default.readFileSync(n,"utf-8"),s=o.load(i);if(t===a&&!e)throw new Error("root path is workspace root, please provide a filter");if(t!==a&&!e){if(!g.default.existsSync(y.default.resolve(t,"package.json")))throw new Error("root path is not workspace root, please provide a filter");const r=JSON.parse(g.default.readFileSync(y.default.resolve(t,"package.json"),"utf-8"));if(!r.name)throw new Error("root path is not workspace root, please provide a filter");e=r.name}const{selectedProjectsGraph:l}=await r.filterPackagesFromDir(a,[{filter:e??"",followProdDepsOnly:!0}],{prefix:t,workspaceDir:a,patterns:s.packages});return{wd:a,root:t,value:Object.entries(l).reduce(((e,[t,r])=>(e[t]=r.package.manifest,e)),{})}}return{wd:a,root:t,value:{[a]:JSON.parse(g.default.readFileSync(y.default.resolve(a,"package.json"),"utf-8"))}}}""!==$&&n.program.option("-f, --filter <filter>","filter packages");var q=require("../package.json");let x,_;function A(){x()}function F(){new Promise((e=>x=e))}function J(e,t,r={}){const{excludeDistInExports:n=!1}=r,{jiek:{cwd:o,...a}={}}=e,{outdir:i="dist"}=a;let{exports:l}=e,c=!1;"string"==typeof l&&(c=!0,l={".":l}),void 0===l&&(l={".":"./src/index.ts"}),"object"==typeof l&&(c=!!(Array.isArray(l)&&l.length>0)||!!l["."]);let p=Array.isArray(l)?l:Object.entries(l).reduce(((e,[t,r])=>{if("string"==typeof r)return"."===t?[r,...e]:e.concat(r);if(Array.isArray(r))return e.concat(r);throw new TypeError(`Unexpected value type for key "${t}" in exports, expected string, got ${typeof r}`)}),[]);if(n&&(p=p.filter((e=>!e.startsWith(`./${i}`)&&!e.startsWith(i)))),0===p.length)throw new Error("No inputs found");const u=p.map((e=>y.default.isAbsolute(e)?e:y.default.resolve(t,e)));let f=y.default.dirname(u[0]);u.length>1&&(f=function(e,t=process.cwd()){const r=e.map((e=>y.default.isAbsolute(e)?e:y.default.resolve(t,e))),[n=""]=r,o=n.split("/");let a="";for(let e=0;e<o.length;e++){const t=o[e];if(!r.every((e=>e.startsWith(a+t))))break;a+=t+"/"}return a}(u,t));const d=u.map((e=>y.default.relative(f,e)));return{...e,...s.pkger({cwd:t,noIndex:!c,source:y.default.relative(t,f),inputs:d,...a})}}function I(e){try{return require.resolve(e),!0}catch(e){return!1}}n.program.version(q.version).description(q.description).option("--root <root>","root path").option("-c, --config-path <configPath>","config path");const N=[process.env.JIEK_TS_REGISTER,"esbuild-register","@swc-node/register","ts-node/register"].filter(Boolean);for(const e of N)if(I(e)){_=e;break}const T=e=>`\nconst pkg = ${JSON.stringify(e,null,2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart();n.program.command("build").option("-t, --target <type>","target flow: esm|umd|dts, default esm,umd,dts").option("-s, --silent","silent mode").action((async({target:e,silent:t})=>{F();const{wd:r,value:n={}}=await O()??{};if(0===Object.keys(n).length)throw new Error("no package found");const o=(...e)=>y.default.resolve(r,"node_modules/.jiek",...e);g.default.existsSync(o())||g.default.mkdirSync(o());const a=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let i=0;for(const[s,l]of Object.entries(n)){const n=J(l,s,{excludeDistInExports:!0}),c=l.name?.replace(/^@/g,"").replace(/\//g,"+"),p=o(`${c??"anonymous-"+i++}.rollup.config.js`);g.default.writeFileSync(p,T(n));let u="";_&&(u=`node -r ${_} `),w.execSync(`${u}${a} --silent -c ${p}`,{cwd:s,stdio:"inherit",env:{JIEK_TARGET:e??process.env.JIEK_TARGET??"esm,umd,dts",JIEK_SILENT:`${t}`??process.env.JIEK_SILENT,JIEK_ROOT:r}})}A()}));let D="jiek.config";function W(){const{wd:e,notWorkspace:t}=E();if(t)throw new Error("not in workspace");let r=n.program.getOptionValue("configPath");if(r){if(!g.default.existsSync(r))throw new Error(`config file not found: ${r}`);y.default.isAbsolute(r)||(r=y.default.resolve(e,r))}else r=function(e){const t=!!_;function r(t){const r=[y.default.resolve(e,`${D}.${t}`),y.default.resolve(e,`.${D}.${t}`)];for(const e of r)if(g.default.existsSync(e)&&g.default.lstatSync(e).isFile())return e}return D=r("js")??D,D=r("json")??D,D=r("yaml")??D,t&&(D=r("ts")??D),y.default.resolve(e,D)}(e);const a=y.default.extname(r);let i;switch(a){case".js":i=require(r);break;case".json":return require(r);case".yaml":return o.load(g.default.readFileSync(r,"utf-8"));case".ts":if(_){require(_),i=require(r);break}throw new Error("ts config file is not supported without ts register, please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register");case".config":i={};break;default:throw new Error(`unsupported config file type: ${a}`)}if(!i)throw new Error("config file is empty");return i.default??i}const P='{\n "name": "",\n "version": "0.0.1",\n "description": "",\n "license": "",\n "author": "",\n "files": ["dist"],\n "exports": {\n ".": "./src/index.ts"\n },\n "scripts": {\n },\n "homepage": "",\n "repository": "",\n "bugs": ""\n}'.trimStart(),R="# $name\n\n## Installation\n\n```bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n```\n\n## Usage\n\n\n## License\n\n$license\n".trimStart();const K=new Map;function M(e,t){if(K.has(e))return K.get(e)[t];const r=y.default.resolve(e,"package.json"),n=JSON.parse(g.default.readFileSync(r,"utf-8"));return K.set(e,n),n[t]}n.program.command("init [name]").option("-t, --template <template>","the package.json template file path or file content").action((async()=>{const[,e]=n.program.args,t=process.cwd(),{init:r={}}=W()??{},{wd:o}=E(),a=y.default.basename(o),{named:i,template:s,bug:l={},readme:c=R,readmeTemplate:f}=r,d={template:"bug_report.yml",labels:["bug"],...l};let m=c;if(f){const e=y.default.resolve(o,f);m=g.default.readFileSync(e,"utf-8")}const w=function(e,t){let r=t??P,n=!1;try{t&&JSON.parse(t)}catch(e){n=!0}if(n){const n=y.default.resolve(e,t);r=g.default.readFileSync(n,"utf-8")}return r}(o,s),{indent:b=" "}=k.default(w),j={tabSize:b.length,insertSpaces:!0},v=["license","author"];let S=w;for(const e of v)S=p.applyEdits(S,p.modify(S,[e],M(o,e),{formattingOptions:j}));let[$,O]=await async function(e,t,{wd:r,cwd:n,workspaceName:o}){const a=n.replace(`${r}/`,"");let i=y.default.basename(n);if("function"==typeof e)return e(t,{full:r,relative:n});let s,l,c=!1;if("object"==typeof e)if(n===r){const{rule:t}=await h.default.prompt({type:"list",name:"rule",message:"choose a rule",default:"default",choices:["default"].concat(Object.keys(e))});"default"!==t&&(s=t,l=e[t])}else for(const[t,r]of Object.entries(e)){if(u.isMatch(a,t)){s=t,l=r;break}if(u.isMatch(`${a}/jiek_ignore_dont_use_same_file_name`,t)){c=!0,s=t,l=r;break}}if(l||(s="packages/*",l=`@${o}/$basename`),!l)throw new Error("no matched rule");if(!t&&c&&(i=await h.default.prompt({type:"input",name:"name",message:`the matched rule is \`${String(l)}\`, please input the basename\n`}).then((({name:e})=>e))),"function"==typeof l)return l(t,{full:r,relative:n,basename:i});if("string"==typeof l){const e=t??i;return[l.replace(/\$basename/g,e),s?.replace(/\/\*$/g,`/${e}`)]}throw new Error("no matched rule")}(i,e,{wd:o,cwd:t,workspaceName:a});if(!O){const{dir:t}=await h.default.prompt({type:"input",name:"dir",message:"package directory",default:e});O=t}if(!$){const{name:t}=await h.default.prompt({type:"input",name:"name",message:"package name",default:e});$=t}S=p.applyEdits(S,p.modify(S,["name"],$,{formattingOptions:j}));let q=M(o,"repository");"string"==typeof q&&(q={type:"git",url:q,directory:O}),S=p.applyEdits(S,p.modify(S,["repository"],q,{formattingOptions:j}));const x=`${q?.url}/blob/master/${O}/README.md`;S=p.applyEdits(S,p.modify(S,["homepage"],x,{formattingOptions:j}));let _=d.labels;"function"==typeof _&&(_=_({name:$,dir:O})),_.push(`scope:${$}`);const A=`${q?.url}/issues/new?template=${d.template}&labels=${_.join(",")}`;function F(e){if(!O)throw new Error("pkgDir is not defined");return y.default.resolve(O,e)}S=p.applyEdits(S,p.modify(S,["bugs"],A,{formattingOptions:j})),g.default.existsSync(O)||g.default.mkdirSync(O);const J=F("package.json");if(g.default.existsSync(J))throw new Error("package.json already exists");g.default.writeFileSync(J,S),console.log(S,"written to",J);const I=M(o,"license"),N=F("README.md");"function"==typeof m&&(m=m({dir:O,packageJson:JSON.parse(S)}));const T=m.replace(/\$name/g,$).replace(/\$license/g,I);g.default.writeFileSync(N,T)})),n.program.command("publish").aliases(["pub","p"]).option("-b, --bumper <bumper>","bump version","patch").option("-p, --preview","preview publish").action((async({preview:e,bumper:t,...r})=>{F();const{value:n={}}=await O()??{},o=Object.entries(n);if(0===o.length)throw new Error("no packages selected");const a=o.map((([e,t])=>[e,J(t,e)])),i=Object.entries(r).reduce(((e,[t,r])=>(r&&e.push(`--${t}`,r),e)),[]);for(const[r,n]of a){const o=g.default.readFileSync(y.default.join(r,"package.json"),"utf-8"),a=JSON.parse(o)??"0.0.0",s=f.bump(a.version,t),{indent:l=" "}=k.default(o),c={tabSize:l.length,insertSpaces:!0};let u=o;u=p.applyEdits(u,p.modify(u,["version"],s,{formattingOptions:c}));for(const[e,t]of Object.entries(n))JSON.stringify(t)!==JSON.stringify(a[e])&&(u=p.applyEdits(u,p.modify(u,["publishConfig",e],t,{formattingOptions:c})));try{if(g.default.renameSync(y.default.join(r,"package.json"),y.default.join(r,"package.json.bak")),g.default.writeFileSync(y.default.join(r,"package.json"),u),console.log(u),e){console.warn("preview mode");continue}w.execSync(["pnpm","publish","--access","public","--no-git-checks",...i].join(" "),{cwd:r,stdio:"inherit"});const t=p.applyEdits(o,p.modify(o,["version"],s,{}));g.default.writeFileSync(y.default.join(r,"package.json.bak"),t)}finally{g.default.unlinkSync(y.default.join(r,"package.json")),g.default.renameSync(y.default.join(r,"package.json.bak"),y.default.join(r,"package.json"))}}A()})),n.program.parse(process.argv);
|
1
|
+
"use strict";var e=require("node:fs"),t=require("node:path"),r=require("@pnpm/filter-workspace-packages"),n=require("commander"),o=require("js-yaml"),a=require("@jiek/utils/getWorkspaceDir"),i=require("node:child_process"),s=require("@jiek/pkger"),l=require("detect-indent"),c=require("inquirer"),p=require("jsonc-parser"),u=require("micromatch"),f=require("@jiek/utils/bumper");function d(e){return e&&e.__esModule?e:{default:e}}function m(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var g=d(e),y=d(t),w=m(i),k=d(l),h=d(c);let b,j;function v(){if(b)return b;const e=n.program.getOptionValue("root");return b=e?y.default.isAbsolute(e)?e:y.default.resolve(process.cwd(),e):void 0,b}let S=!1;function E(){if(j)return{wd:j,notWorkspace:S};const e=v();if(void 0!==e){const t=a.isWorkspaceDir(e,$);return S=!t,j=e,{wd:j,notWorkspace:S}}try{j=a.getWorkspaceDir($)}catch(t){if(!("message"in t)||"workspace root not found"!==t.message)throw t;j=e,S=!0}return{wd:j,notWorkspace:S}}let $="";try{require.resolve("@pnpm/filter-workspace-packages"),$="pnpm"}catch{}async function O(){let e=n.program.getOptionValue("filter");const t=v(),{wd:a,notWorkspace:i}=E();if(!i&&"pnpm"===$){const n=y.default.resolve(a,"pnpm-workspace.yaml"),i=g.default.readFileSync(n,"utf-8"),s=o.load(i);if(t===a&&!e)throw new Error("root path is workspace root, please provide a filter");if(t!==a&&!e){if(!g.default.existsSync(y.default.resolve(t,"package.json")))throw new Error("root path is not workspace root, please provide a filter");const r=JSON.parse(g.default.readFileSync(y.default.resolve(t,"package.json"),"utf-8"));if(!r.name)throw new Error("root path is not workspace root, please provide a filter");e=r.name}const{selectedProjectsGraph:l}=await r.filterPackagesFromDir(a,[{filter:e??"",followProdDepsOnly:!0}],{prefix:t,workspaceDir:a,patterns:s.packages});return{wd:a,root:t,value:Object.entries(l).reduce(((e,[t,r])=>(e[t]=r.package.manifest,e)),{})}}return{wd:a,root:t,value:{[a]:JSON.parse(g.default.readFileSync(y.default.resolve(a,"package.json"),"utf-8"))}}}""!==$&&n.program.option("-f, --filter <filter>","filter packages");var q=require("../package.json");let x,_;function A(){x()}function F(){new Promise((e=>x=e))}function J(e,t,r={}){const{excludeDistInExports:n=!1}=r,{jiek:{cwd:o,...a}={}}=e,{outdir:i="dist"}=a;let{exports:l}=e,c=!1;"string"==typeof l&&(c=!0,l={".":l}),void 0===l&&(l={".":"./src/index.ts"}),"object"==typeof l&&(c=!!(Array.isArray(l)&&l.length>0)||!!l["."]);let p=Array.isArray(l)?l:Object.entries(l).reduce(((e,[t,r])=>{if("string"==typeof r)return"."===t?[r,...e]:e.concat(r);if(Array.isArray(r))return e.concat(r);throw new TypeError(`Unexpected value type for key "${t}" in exports, expected string, got ${typeof r}`)}),[]);if(n&&(p=p.filter((e=>!e.startsWith(`./${i}`)&&!e.startsWith(i)))),0===p.length)throw new Error("No inputs found");const u=p.map((e=>y.default.isAbsolute(e)?e:y.default.resolve(t,e)));let f=y.default.dirname(u[0]);u.length>1&&(f=function(e,t=process.cwd()){const r=e.map((e=>y.default.isAbsolute(e)?e:y.default.resolve(t,e))),[n=""]=r,o=n.split("/");let a="";for(let e=0;e<o.length;e++){const t=o[e];if(!r.every((e=>e.startsWith(a+t))))break;a+=t+"/"}return a}(u,t));const d=u.map((e=>y.default.relative(f,e)));return{...e,...s.pkger({cwd:t,noIndex:!c,source:y.default.relative(t,f),inputs:d,...a})}}function I(e){try{return require.resolve(e),!0}catch(e){return!1}}n.program.version(q.version).description(q.description).option("--root <root>","root path").option("-c, --config-path <configPath>","config path");const N=[process.env.JIEK_TS_REGISTER,"esbuild-register","@swc-node/register","ts-node/register"].filter(Boolean);for(const e of N)if(I(e)){_=e;break}const T=e=>`\nconst pkg = ${JSON.stringify(e,null,2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart();n.program.command("build").option("-t, --target <type>","target flow: esm|umd|dts, default esm,umd,dts").option("-s, --silent","silent mode").action((async({target:e,silent:t})=>{F();const{wd:r,value:n={}}=await O()??{};if(0===Object.keys(n).length)throw new Error("no package found");const o=(...e)=>y.default.resolve(r,"node_modules/.jiek",...e);g.default.existsSync(o())||g.default.mkdirSync(o());const a=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let i=0;for(const[s,l]of Object.entries(n)){const n=J(l,s,{excludeDistInExports:!0}),c=l.name?.replace(/^@/g,"").replace(/\//g,"+"),p=o(`${c??"anonymous-"+i++}.rollup.config.js`);g.default.writeFileSync(p,T(n));let u="";_&&(u=`node -r ${_} `);const f=`${u}${a} --silent -c ${p}`;w.execSync(f,{cwd:s,stdio:"inherit",env:{JIEK_TARGET:e??process.env.JIEK_TARGET??"esm,umd,dts",JIEK_SILENT:`${t}`??process.env.JIEK_SILENT,JIEK_ROOT:r}})}A()}));let D="jiek.config";function W(){const{wd:e,notWorkspace:t}=E();if(t)throw new Error("not in workspace");let r=n.program.getOptionValue("configPath");if(r){if(!g.default.existsSync(r))throw new Error(`config file not found: ${r}`);y.default.isAbsolute(r)||(r=y.default.resolve(e,r))}else r=function(e){const t=!!_;function r(t){const r=[y.default.resolve(e,`${D}.${t}`),y.default.resolve(e,`.${D}.${t}`)];for(const e of r)if(g.default.existsSync(e)&&g.default.lstatSync(e).isFile())return e}return D=r("js")??D,D=r("json")??D,D=r("yaml")??D,t&&(D=r("ts")??D),y.default.resolve(e,D)}(e);const a=y.default.extname(r);let i;switch(a){case".js":i=require(r);break;case".json":return require(r);case".yaml":return o.load(g.default.readFileSync(r,"utf-8"));case".ts":if(_){require(_),i=require(r);break}throw new Error("ts config file is not supported without ts register, please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register");case".config":i={};break;default:throw new Error(`unsupported config file type: ${a}`)}if(!i)throw new Error("config file is empty");return i.default??i}const P='{\n "name": "",\n "version": "0.0.1",\n "description": "",\n "license": "",\n "author": "",\n "files": ["dist"],\n "exports": {\n ".": "./src/index.ts"\n },\n "scripts": {\n },\n "homepage": "",\n "repository": "",\n "bugs": ""\n}'.trimStart(),R="# $name\n\n## Installation\n\n```bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n```\n\n## Usage\n\n\n## License\n\n$license\n".trimStart();const K=new Map;function M(e,t){if(K.has(e))return K.get(e)[t];const r=y.default.resolve(e,"package.json"),n=JSON.parse(g.default.readFileSync(r,"utf-8"));return K.set(e,n),n[t]}n.program.command("init [name]").option("-t, --template <template>","the package.json template file path or file content").action((async()=>{const[,e]=n.program.args,t=process.cwd(),{init:r={}}=W()??{},{wd:o}=E(),a=y.default.basename(o),{named:i,template:s,bug:l={},readme:c=R,readmeTemplate:f}=r,d={template:"bug_report.yml",labels:["bug"],...l};let m=c;if(f){const e=y.default.resolve(o,f);m=g.default.readFileSync(e,"utf-8")}const w=function(e,t){let r=t??P,n=!1;try{t&&JSON.parse(t)}catch(e){n=!0}if(n){const n=y.default.resolve(e,t);r=g.default.readFileSync(n,"utf-8")}return r}(o,s),{indent:b=" "}=k.default(w),j={tabSize:b.length,insertSpaces:!0},v=["license","author"];let S=w;for(const e of v)S=p.applyEdits(S,p.modify(S,[e],M(o,e),{formattingOptions:j}));let[$,O]=await async function(e,t,{wd:r,cwd:n,workspaceName:o}){const a=n.replace(`${r}/`,"");let i=y.default.basename(n);if("function"==typeof e)return e(t,{full:r,relative:n});let s,l,c=!1;if("object"==typeof e)if(n===r){const{rule:t}=await h.default.prompt({type:"list",name:"rule",message:"choose a rule",default:"default",choices:["default"].concat(Object.keys(e))});"default"!==t&&(s=t,l=e[t])}else for(const[t,r]of Object.entries(e)){if(u.isMatch(a,t)){s=t,l=r;break}if(u.isMatch(`${a}/jiek_ignore_dont_use_same_file_name`,t)){c=!0,s=t,l=r;break}}if(l||(s="packages/*",l=`@${o}/$basename`),!l)throw new Error("no matched rule");if(!t&&c&&(i=await h.default.prompt({type:"input",name:"name",message:`the matched rule is \`${String(l)}\`, please input the basename\n`}).then((({name:e})=>e))),"function"==typeof l)return l(t,{full:r,relative:n,basename:i});if("string"==typeof l){const e=t??i;return[l.replace(/\$basename/g,e),s?.replace(/\/\*$/g,`/${e}`)]}throw new Error("no matched rule")}(i,e,{wd:o,cwd:t,workspaceName:a});if(!O){const{dir:t}=await h.default.prompt({type:"input",name:"dir",message:"package directory",default:e});O=t}if(!$){const{name:t}=await h.default.prompt({type:"input",name:"name",message:"package name",default:e});$=t}S=p.applyEdits(S,p.modify(S,["name"],$,{formattingOptions:j}));let q=M(o,"repository");"string"==typeof q&&(q={type:"git",url:q,directory:O}),S=p.applyEdits(S,p.modify(S,["repository"],q,{formattingOptions:j}));const x=`${q?.url}/blob/master/${O}/README.md`;S=p.applyEdits(S,p.modify(S,["homepage"],x,{formattingOptions:j}));let _=d.labels;"function"==typeof _&&(_=_({name:$,dir:O})),_.push(`scope:${$}`);const A=`${q?.url}/issues/new?template=${d.template}&labels=${_.join(",")}`;function F(e){if(!O)throw new Error("pkgDir is not defined");return y.default.resolve(O,e)}S=p.applyEdits(S,p.modify(S,["bugs"],A,{formattingOptions:j})),g.default.existsSync(O)||g.default.mkdirSync(O);const J=F("package.json");if(g.default.existsSync(J))throw new Error("package.json already exists");g.default.writeFileSync(J,S),console.log(S,"written to",J);const I=M(o,"license"),N=F("README.md");"function"==typeof m&&(m=m({dir:O,packageJson:JSON.parse(S)}));const T=m.replace(/\$name/g,$).replace(/\$license/g,I);g.default.writeFileSync(N,T)})),n.program.command("publish").aliases(["pub","p"]).option("-b, --bumper <bumper>","bump version","patch").option("-p, --preview","preview publish").action((async({preview:e,bumper:t,...r})=>{F();const{value:n={}}=await O()??{},o=Object.entries(n);if(0===o.length)throw new Error("no packages selected");const a=o.map((([e,t])=>[e,J(t,e)])),i=Object.entries(r).reduce(((e,[t,r])=>(r&&e.push(`--${t}`,r),e)),[]);for(const[r,n]of a){const o=g.default.readFileSync(y.default.join(r,"package.json"),"utf-8"),a=JSON.parse(o)??"0.0.0",s=f.bump(a.version,t),{indent:l=" "}=k.default(o),c={tabSize:l.length,insertSpaces:!0};let u=o;u=p.applyEdits(u,p.modify(u,["version"],s,{formattingOptions:c}));for(const[e,t]of Object.entries(n))JSON.stringify(t)!==JSON.stringify(a[e])&&(u=p.applyEdits(u,p.modify(u,["publishConfig",e],t,{formattingOptions:c})));try{if(g.default.renameSync(y.default.join(r,"package.json"),y.default.join(r,"package.json.bak")),g.default.writeFileSync(y.default.join(r,"package.json"),u),console.log(u),e){console.warn("preview mode");continue}w.execSync(["pnpm","publish","--access","public","--no-git-checks",...i].join(" "),{cwd:r,stdio:"inherit"});const t=p.applyEdits(o,p.modify(o,["version"],s,{}));g.default.writeFileSync(y.default.join(r,"package.json.bak"),t)}finally{g.default.unlinkSync(y.default.join(r,"package.json")),g.default.renameSync(y.default.join(r,"package.json.bak"),y.default.join(r,"package.json"))}}A()})),n.program.parse(process.argv);
|
2
2
|
//# sourceMappingURL=cli.min.cjs.map
|
package/dist/cli.min.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.min.cjs","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/pkg.ts","../src/inner.ts","../src/utils/tsRegister.ts","../src/merge-package-json.ts","../src/utils/commondir.ts","../src/commands/base.ts","../src/commands/build.ts","../src/utils/loadConfig.ts","../src/commands/init.ts","../src/commands/publish.ts","../src/cli.ts"],"sourcesContent":["import path from 'node:path'\n\nimport { program } from 'commander'\n\nlet root: string\nexport function getRoot() {\n if (root) return root\n\n const rootOption = program.getOptionValue('root')\n root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : undefined\n return root\n}\n","import { getWorkspaceDir, isWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\n\nimport { type } from './filterSupport'\nimport { getRoot } from './getRoot'\n\nlet wd: string\nlet notWorkspace = false\n\nexport function getWD() {\n if (wd) return { wd, notWorkspace }\n\n const root = getRoot()\n if (root !== undefined) {\n const isWorkspace = isWorkspaceDir(root, type)\n notWorkspace = !isWorkspace\n wd = root\n return { wd, notWorkspace }\n }\n try {\n wd = getWorkspaceDir(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 return { wd, notWorkspace }\n}\n","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\nimport { getRoot } from './getRoot'\nimport { getWD } from './getWD'\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 root = getRoot()\n const { wd, notWorkspace } = getWD()\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","export default require('../package.json')\n","let resolve: () => void\n\nexport let actionFuture: Promise<void>\n\nexport function actionDone() {\n resolve()\n}\n\nexport function actionRestore() {\n actionFuture = new Promise<void>(r => resolve = r)\n}\n","function packageIsExist(name: string) {\n try {\n require.resolve(name)\n return true\n } catch (e) {\n return false\n }\n}\n\nexport let tsRegisterName: string | undefined\nconst registers = [\n process.env.JIEK_TS_REGISTER,\n 'esbuild-register',\n '@swc-node/register',\n 'ts-node/register'\n].filter(Boolean) as string[]\nfor (const register of registers) {\n if (packageIsExist(register)) {\n tsRegisterName = register\n break\n }\n}\n","import path from 'node:path'\n\nimport { type Options, pkger } from '@jiek/pkger'\nimport type { Manifest } from '@pnpm/workspace.pkgs-graph'\n\nimport { commondir } from './utils/commondir'\n\nexport function mergePackageJson(manifest: Manifest & {\n jiek?: Options\n exports?: unknown | unknown[]\n}, cwd: string, options: {\n excludeDistInExports?: boolean\n} = {}) {\n const {\n excludeDistInExports = false\n } = options\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\n const { outdir = 'dist' } = jiek\n let { exports } = manifest\n let includeIndex = false\n if (typeof exports === 'string') {\n includeIndex = true\n exports = { '.': exports }\n }\n if (exports === undefined) {\n exports = { '.': './src/index.ts' }\n }\n if (typeof exports === 'object') {\n if (Array.isArray(exports) && exports.length > 0) {\n includeIndex = true\n } else {\n includeIndex = !!(<Record<string, unknown>>exports)['.']\n }\n }\n let inputs = Array.isArray(exports)\n ? exports as string[]\n : Object\n .entries(<Record<string, unknown>>exports)\n .reduce((acc, [key, value]) => {\n if (typeof value === 'string') return key === '.'\n ? [value, ...acc]\n : acc.concat(value)\n if (Array.isArray(value)) return acc.concat(value)\n\n throw new TypeError(`Unexpected value type for key \"${key}\" in exports, expected string, got ${typeof value}`)\n }, [] as string[])\n if (excludeDistInExports) {\n inputs = inputs.filter(input => !input.startsWith(`./${outdir}`) && !input.startsWith(outdir))\n }\n if (inputs.length === 0)\n throw new Error('No inputs found')\n\n const absoluteInputs = inputs.map(input => path.isAbsolute(input)\n ? input\n : path.resolve(cwd, input)\n )\n let cDir = path.dirname(absoluteInputs[0])\n if (absoluteInputs.length > 1) {\n cDir = commondir(absoluteInputs, cwd)\n }\n const resolvedInputs = absoluteInputs.map(input => {\n return path.relative(cDir, input)\n })\n return {\n ...manifest,\n ...pkger({\n cwd,\n noIndex: !includeIndex,\n source: path.relative(cwd, cDir),\n inputs: resolvedInputs,\n ...jiek\n })\n }\n}\n","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","import { program } from 'commander'\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n childProcess.execSync(`${prefix}${rollupBinaryPath} --silent -c ${configFile}`, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nimport { getWD } from './getWD'\nimport { tsRegisterName } from './tsRegister'\n\nlet configName = 'jiek.config'\n\nfunction getConfigPath(root: string) {\n const isSupportTsLoader = !!tsRegisterName\n function configWithExtIsExist(ext: string) {\n const filenames = [\n path.resolve(root, `${configName}.${ext}`),\n path.resolve(root, `.${configName}.${ext}`)\n ]\n for (const filename of filenames) {\n if (\n fs.existsSync(filename) &&\n fs.lstatSync(filename)\n .isFile()\n ) {\n return filename\n }\n }\n return\n }\n configName = configWithExtIsExist('js') ?? configName\n configName = configWithExtIsExist('json') ?? configName\n configName = configWithExtIsExist('yaml') ?? configName\n if (isSupportTsLoader) {\n configName = configWithExtIsExist('ts') ?? configName\n }\n return path.resolve(root, configName)\n}\n\nexport function loadConfig() {\n const { wd: root, notWorkspace } = getWD()\n if (notWorkspace)\n throw new Error('not in workspace')\n\n let configPath = program.getOptionValue('configPath')\n\n if (!configPath) {\n configPath = getConfigPath(root)\n } else {\n if (!fs.existsSync(configPath))\n throw new Error(`config file not found: ${configPath}`)\n if (!path.isAbsolute(configPath))\n configPath = path.resolve(root, configPath)\n }\n const ext = path.extname(configPath)\n\n let module: any\n switch (ext) {\n case '.js':\n module = require(configPath)\n break\n case '.json':\n return require(configPath)\n case '.yaml':\n return load(fs.readFileSync(configPath, 'utf-8'))\n case '.ts':\n if (tsRegisterName) {\n require(tsRegisterName)\n module = require(configPath)\n break\n }\n throw new Error(\n 'ts config file is not supported without ts register, ' +\n 'please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register'\n )\n case '.config':\n module = {}\n break\n default:\n throw new Error(`unsupported config file type: ${ext}`)\n }\n if (!module) throw new Error('config file is empty')\n\n return module.default ?? module\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport inquirer from 'inquirer'\nimport { applyEdits, modify } from 'jsonc-parser'\nimport { isMatch } from 'micromatch'\n\nimport type { Config, InitNamed } from '../base'\nimport { getWD } from '../utils/getWD'\nimport { loadConfig } from '../utils/loadConfig'\n\nconst PACKAGE_JSON_TEMPLATE = `{\n \"name\": \"\",\n \"version\": \"0.0.1\",\n \"description\": \"\",\n \"license\": \"\",\n \"author\": \"\",\n \"files\": [\"dist\"],\n \"exports\": {\n \".\": \"./src/index.ts\"\n },\n \"scripts\": {\n },\n \"homepage\": \"\",\n \"repository\": \"\",\n \"bugs\": \"\"\n}`.trimStart()\nconst README_TEMPLATE = `# $name\n\n## Installation\n\n\\`\\`\\`bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n\\`\\`\\`\n\n## Usage\n\n\n## License\n\n$license\n`.trimStart()\n\nfunction getTemplateStr(wd: string, template: string | undefined) {\n let templateString = template ?? PACKAGE_JSON_TEMPLATE\n let isTemplateFile = false\n try {\n if (template) JSON.parse(template)\n } catch (e) {\n isTemplateFile = true\n }\n if (isTemplateFile) {\n const templatePath = path.resolve(wd, template!)\n templateString = fs.readFileSync(templatePath, 'utf-8')\n }\n return templateString\n}\nconst wdCache = new Map<string, Record<string, any>>()\nfunction getWDPackageJSONFiled(wd: string, field: string) {\n if (wdCache.has(wd)) {\n return wdCache.get(wd)![field]\n }\n const packageJSONPath = path.resolve(wd, 'package.json')\n const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n wdCache.set(wd, packageJSON)\n return packageJSON[field]\n}\nasync function getName(\n named: InitNamed | undefined,\n name: string,\n {\n wd, cwd,\n workspaceName\n }: {\n wd: string\n cwd: string\n workspaceName: string\n }\n): Promise<[name?: string, path?: string]> {\n const relativePath = cwd.replace(`${wd}/`, '')\n let basename = path.basename(cwd)\n\n if (typeof named === 'function') {\n return named(name, {\n full: wd,\n relative: cwd\n })\n }\n\n let isParentMatched = false\n let matchedKey: string | undefined\n let matchedRule: NonNullable<typeof named>[string] | undefined\n if (typeof named === 'object') {\n const isWD = cwd === wd\n if (isWD) {\n const { rule } = await inquirer.prompt<{ rule: string }>({\n type: 'list',\n name: 'rule',\n message: 'choose a rule',\n default: 'default',\n choices: ['default'].concat(Object.keys(named))\n })\n if (rule !== 'default') {\n matchedKey = rule\n matchedRule = named[rule]\n }\n } else for (const [key, value] of Object.entries(named)) {\n if (isMatch(relativePath, key)) {\n matchedKey = key\n matchedRule = value\n break\n }\n if (isMatch(`${relativePath}/jiek_ignore_dont_use_same_file_name`, key)) {\n isParentMatched = true\n matchedKey = key\n matchedRule = value\n break\n }\n }\n }\n if (!matchedRule) {\n matchedKey = 'packages/*'\n matchedRule = `@${workspaceName}/$basename`\n }\n if (!matchedRule)\n throw new Error('no matched rule')\n if (!name && isParentMatched) {\n basename = await inquirer.prompt<{ name: string }>({\n type: 'input',\n name: 'name',\n message: `the matched rule is \\`${String(matchedRule)}\\`, please input the basename\\n`\n }).then(({ name }) => name)\n }\n\n if (typeof matchedRule === 'function') {\n return matchedRule(name, {\n full: wd,\n relative: cwd,\n basename: basename\n })\n }\n if (typeof matchedRule === 'string') {\n const dirName = name ?? basename\n return [\n matchedRule.replace(/\\$basename/g, dirName),\n matchedKey?.replace(/\\/\\*$/g, `/${dirName}`)\n ]\n }\n throw new Error('no matched rule')\n}\n\nprogram\n .command('init [name]')\n .option('-t, --template <template>', 'the package.json template file path or file content')\n .action(async () => {\n const [, name] = program.args\n const cwd = process.cwd()\n const { init = {} }: Config = loadConfig() ?? {}\n const { wd } = getWD()\n const workspaceName = path.basename(wd)\n\n const {\n named,\n template,\n bug = {},\n readme: _readme = README_TEMPLATE,\n readmeTemplate\n } = init\n const resolvedBug = {\n template: 'bug_report.yml',\n labels: ['bug'],\n ...bug\n }\n let readme = _readme\n if (readmeTemplate) {\n const readmeTemplatePath = path.resolve(wd, readmeTemplate)\n readme = fs.readFileSync(readmeTemplatePath, 'utf-8')\n }\n\n const templateString = getTemplateStr(wd, template)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(templateString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n const passFields = [\n 'license', 'author'\n ]\n let newJSONString = templateString\n for (const field of passFields) {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, [field], getWDPackageJSONFiled(wd, field), { formattingOptions }\n ))\n }\n let [pkgName, pkgDir] = await getName(named, name, {\n wd, cwd,\n workspaceName\n })\n if (!pkgDir) {\n const { dir } = await inquirer.prompt<{ dir: string }>({\n type: 'input',\n name: 'dir',\n message: 'package directory',\n default: name\n })\n pkgDir = dir\n }\n if (!pkgName) {\n const { name: inputName } = await inquirer.prompt<{\n name: string\n }>({\n type: 'input',\n name: 'name',\n message: 'package name',\n default: name\n })\n pkgName = inputName\n }\n newJSONString = applyEdits(newJSONString, modify(newJSONString, ['name'], pkgName, { formattingOptions }))\n\n let pkgRepo = getWDPackageJSONFiled(wd, 'repository')\n if (typeof pkgRepo === 'string') {\n pkgRepo = {\n type: 'git',\n url: pkgRepo,\n directory: pkgDir\n }\n }\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['repository'], pkgRepo, { formattingOptions }\n ))\n const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['homepage'], homepage, { formattingOptions }\n ))\n let labels = resolvedBug.labels\n if (typeof labels === 'function') labels = labels({\n name: pkgName, dir: pkgDir\n })\n labels.push(`scope:${pkgName}`)\n const bugs = `${pkgRepo?.url}/issues/new?template=${\n resolvedBug.template\n }&labels=${\n labels.join(',')\n }`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['bugs'], bugs, { formattingOptions }\n ))\n\n function pkgDirTo(to: string) {\n if (!pkgDir) throw new Error('pkgDir is not defined')\n\n return path.resolve(pkgDir, to)\n }\n if (!fs.existsSync(pkgDir)) fs.mkdirSync(pkgDir)\n const pkgJSONFilePath = pkgDirTo('package.json')\n if (fs.existsSync(pkgJSONFilePath)) {\n throw new Error('package.json already exists')\n }\n fs.writeFileSync(pkgJSONFilePath, newJSONString)\n console.log(newJSONString, 'written to', pkgJSONFilePath)\n\n const license = getWDPackageJSONFiled(wd, 'license')\n const readmeFilePath = pkgDirTo('README.md')\n if (typeof readme === 'function') {\n readme = readme({\n dir: pkgDir,\n packageJson: JSON.parse(newJSONString)\n })\n }\n const readmeContent = readme\n .replace(/\\$name/g, pkgName)\n .replace(/\\$license/g, license)\n fs.writeFileSync(readmeFilePath, readmeContent)\n })\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport { applyEdits, modify } from 'jsonc-parser'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\n\nprogram\n .command('publish')\n .aliases(['pub', 'p'])\n .option('-b, --bumper <bumper>', 'bump version', 'patch')\n .option('-p, --preview', 'preview publish')\n .action(async ({ preview, bumper, ...options }: {\n preview?: boolean\n bumper: BumperType\n }) => {\n actionRestore()\n\n const { value = {} } = await getSelectedProjectsGraph() ?? {}\n const selectedProjectsGraphEntries = Object.entries(value)\n if (selectedProjectsGraphEntries.length === 0) {\n throw new Error('no packages selected')\n }\n const mainfests = selectedProjectsGraphEntries\n .map(([dir, manifest]) => [\n dir, mergePackageJson(manifest, dir)\n ] as const)\n const passArgs = Object\n .entries(options)\n .reduce((acc, [key, value]) => {\n if (value) {\n acc.push(`--${key}`, value as string)\n }\n return acc\n }, [] as string[])\n for (const [dir, manifest] of mainfests) {\n const oldJSONString = fs.readFileSync(path.join(dir, 'package.json'), 'utf-8')\n const oldJSON = JSON.parse(oldJSONString) ?? '0.0.0'\n const newVersion = bump(oldJSON.version, bumper)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(oldJSONString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n let newJSONString = oldJSONString\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['version'], newVersion, { formattingOptions }\n ))\n for (const [key, value] of Object.entries(manifest)) {\n if (JSON.stringify(value) === JSON.stringify(oldJSON[key])) continue\n\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', key], value, { formattingOptions }\n ))\n }\n try {\n fs.renameSync(path.join(dir, 'package.json'), path.join(dir, 'package.json.bak'))\n fs.writeFileSync(path.join(dir, 'package.json'), newJSONString)\n console.log(newJSONString)\n if (preview) {\n console.warn('preview mode')\n continue\n }\n childProcess.execSync(['pnpm', 'publish', '--access', 'public', '--no-git-checks', ...passArgs].join(' '), {\n cwd: dir,\n stdio: 'inherit'\n })\n const modifyVersionPackageJSON = applyEdits(oldJSONString, modify(oldJSONString, ['version'], newVersion, {}))\n fs.writeFileSync(path.join(dir, 'package.json.bak'), modifyVersionPackageJSON)\n } finally {\n fs.unlinkSync(path.join(dir, 'package.json'))\n fs.renameSync(path.join(dir, 'package.json.bak'), path.join(dir, 'package.json'))\n }\n }\n actionDone()\n })\n","import './utils/filterSupport'\nimport './commands/base'\nimport './commands/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\nprogram.parse(process.argv)\n"],"names":["root","wd","getRoot","rootOption","program","getOptionValue","path","isAbsolute","default","resolve","process","cwd","notWorkspace","getWD","isWorkspace","isWorkspaceDir","type","getWorkspaceDir","e","message","require","async","getSelectedProjectsGraph","filter","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","pkg","tsRegisterName","actionDone","actionRestore","Promise","r","mergePackageJson","options","excludeDistInExports","jiek","_","outdir","exports","includeIndex","Array","isArray","length","inputs","concat","TypeError","input","startsWith","absoluteInputs","map","cDir","dirname","files","resolvedFiles","file","first","parts","split","common","i","segment","every","commondir","resolvedInputs","relative","pkger","noIndex","source","packageIsExist","version","description","registers","env","JIEK_TS_REGISTER","Boolean","register","FILE_TEMPLATE","stringify","trimStart","command","action","target","silent","keys","jiekTempDir","paths","mkdirSync","rollupBinaryPath","replace","dir","newManifest","escapeManifestName","configFile","writeFileSync","childProcess","execSync","stdio","JIEK_TARGET","JIEK_SILENT","JIEK_ROOT","configName","loadConfig","configPath","isSupportTsLoader","configWithExtIsExist","ext","filenames","filename","lstatSync","isFile","getConfigPath","extname","module","PACKAGE_JSON_TEMPLATE","README_TEMPLATE","wdCache","Map","getWDPackageJSONFiled","field","has","get","packageJSONPath","set","args","init","workspaceName","basename","named","template","bug","readme","_readme","readmeTemplate","resolvedBug","labels","readmeTemplatePath","templateString","isTemplateFile","templatePath","getTemplateStr","indent","detectIndent","formattingOptions","tabSize","insertSpaces","passFields","newJSONString","applyEdits","modify","pkgName","pkgDir","relativePath","full","matchedKey","matchedRule","isParentMatched","rule","inquirer","prompt","choices","isMatch","String","then","dirName","getName","inputName","pkgRepo","url","directory","homepage","push","bugs","join","pkgDirTo","to","pkgJSONFilePath","console","log","license","readmeFilePath","packageJson","readmeContent","aliases","preview","bumper","selectedProjectsGraphEntries","mainfests","passArgs","oldJSONString","oldJSON","newVersion","bump","renameSync","warn","modifyVersionPackageJSON","unlinkSync","argv"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"cli.min.cjs","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/pkg.ts","../src/inner.ts","../src/utils/tsRegister.ts","../src/merge-package-json.ts","../src/utils/commondir.ts","../src/commands/base.ts","../src/commands/build.ts","../src/utils/loadConfig.ts","../src/commands/init.ts","../src/commands/publish.ts","../src/cli.ts"],"sourcesContent":["import path from 'node:path'\n\nimport { program } from 'commander'\n\nlet root: string\nexport function getRoot() {\n if (root) return root\n\n const rootOption = program.getOptionValue('root')\n root = rootOption\n ? path.isAbsolute(rootOption)\n ? rootOption\n : path.resolve(process.cwd(), rootOption)\n : undefined\n return root\n}\n","import { getWorkspaceDir, isWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\n\nimport { type } from './filterSupport'\nimport { getRoot } from './getRoot'\n\nlet wd: string\nlet notWorkspace = false\n\nexport function getWD() {\n if (wd) return { wd, notWorkspace }\n\n const root = getRoot()\n if (root !== undefined) {\n const isWorkspace = isWorkspaceDir(root, type)\n notWorkspace = !isWorkspace\n wd = root\n return { wd, notWorkspace }\n }\n try {\n wd = getWorkspaceDir(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 return { wd, notWorkspace }\n}\n","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\nimport { getRoot } from './getRoot'\nimport { getWD } from './getWD'\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 root = getRoot()\n const { wd, notWorkspace } = getWD()\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","export default require('../package.json')\n","let resolve: () => void\n\nexport let actionFuture: Promise<void>\n\nexport function actionDone() {\n resolve()\n}\n\nexport function actionRestore() {\n actionFuture = new Promise<void>(r => resolve = r)\n}\n","function packageIsExist(name: string) {\n try {\n require.resolve(name)\n return true\n } catch (e) {\n return false\n }\n}\n\nexport let tsRegisterName: string | undefined\nconst registers = [\n process.env.JIEK_TS_REGISTER,\n 'esbuild-register',\n '@swc-node/register',\n 'ts-node/register'\n].filter(Boolean) as string[]\nfor (const register of registers) {\n if (packageIsExist(register)) {\n tsRegisterName = register\n break\n }\n}\n","import path from 'node:path'\n\nimport { type Options, pkger } from '@jiek/pkger'\nimport type { Manifest } from '@pnpm/workspace.pkgs-graph'\n\nimport { commondir } from './utils/commondir'\n\nexport function mergePackageJson(manifest: Manifest & {\n jiek?: Options\n exports?: unknown | unknown[]\n}, cwd: string, options: {\n excludeDistInExports?: boolean\n} = {}) {\n const {\n excludeDistInExports = false\n } = options\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\n const { outdir = 'dist' } = jiek\n let { exports } = manifest\n let includeIndex = false\n if (typeof exports === 'string') {\n includeIndex = true\n exports = { '.': exports }\n }\n if (exports === undefined) {\n exports = { '.': './src/index.ts' }\n }\n if (typeof exports === 'object') {\n if (Array.isArray(exports) && exports.length > 0) {\n includeIndex = true\n } else {\n includeIndex = !!(<Record<string, unknown>>exports)['.']\n }\n }\n let inputs = Array.isArray(exports)\n ? exports as string[]\n : Object\n .entries(<Record<string, unknown>>exports)\n .reduce((acc, [key, value]) => {\n if (typeof value === 'string') return key === '.'\n ? [value, ...acc]\n : acc.concat(value)\n if (Array.isArray(value)) return acc.concat(value)\n\n throw new TypeError(`Unexpected value type for key \"${key}\" in exports, expected string, got ${typeof value}`)\n }, [] as string[])\n if (excludeDistInExports) {\n inputs = inputs.filter(input => !input.startsWith(`./${outdir}`) && !input.startsWith(outdir))\n }\n if (inputs.length === 0)\n throw new Error('No inputs found')\n\n const absoluteInputs = inputs.map(input => path.isAbsolute(input)\n ? input\n : path.resolve(cwd, input)\n )\n let cDir = path.dirname(absoluteInputs[0])\n if (absoluteInputs.length > 1) {\n cDir = commondir(absoluteInputs, cwd)\n }\n const resolvedInputs = absoluteInputs.map(input => {\n return path.relative(cDir, input)\n })\n return {\n ...manifest,\n ...pkger({\n cwd,\n noIndex: !includeIndex,\n source: path.relative(cwd, cDir),\n inputs: resolvedInputs,\n ...jiek\n })\n }\n}\n","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","import { program } from 'commander'\n\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`\n childProcess.execSync(command, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport { load } from 'js-yaml'\n\nimport { getWD } from './getWD'\nimport { tsRegisterName } from './tsRegister'\n\nlet configName = 'jiek.config'\n\nfunction getConfigPath(root: string) {\n const isSupportTsLoader = !!tsRegisterName\n function configWithExtIsExist(ext: string) {\n const filenames = [\n path.resolve(root, `${configName}.${ext}`),\n path.resolve(root, `.${configName}.${ext}`)\n ]\n for (const filename of filenames) {\n if (\n fs.existsSync(filename) &&\n fs.lstatSync(filename)\n .isFile()\n ) {\n return filename\n }\n }\n return\n }\n configName = configWithExtIsExist('js') ?? configName\n configName = configWithExtIsExist('json') ?? configName\n configName = configWithExtIsExist('yaml') ?? configName\n if (isSupportTsLoader) {\n configName = configWithExtIsExist('ts') ?? configName\n }\n return path.resolve(root, configName)\n}\n\nexport function loadConfig() {\n const { wd: root, notWorkspace } = getWD()\n if (notWorkspace)\n throw new Error('not in workspace')\n\n let configPath = program.getOptionValue('configPath')\n\n if (!configPath) {\n configPath = getConfigPath(root)\n } else {\n if (!fs.existsSync(configPath))\n throw new Error(`config file not found: ${configPath}`)\n if (!path.isAbsolute(configPath))\n configPath = path.resolve(root, configPath)\n }\n const ext = path.extname(configPath)\n\n let module: any\n switch (ext) {\n case '.js':\n module = require(configPath)\n break\n case '.json':\n return require(configPath)\n case '.yaml':\n return load(fs.readFileSync(configPath, 'utf-8'))\n case '.ts':\n if (tsRegisterName) {\n require(tsRegisterName)\n module = require(configPath)\n break\n }\n throw new Error(\n 'ts config file is not supported without ts register, ' +\n 'please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register'\n )\n case '.config':\n module = {}\n break\n default:\n throw new Error(`unsupported config file type: ${ext}`)\n }\n if (!module) throw new Error('config file is empty')\n\n return module.default ?? module\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport inquirer from 'inquirer'\nimport { applyEdits, modify } from 'jsonc-parser'\nimport { isMatch } from 'micromatch'\n\nimport type { Config, InitNamed } from '../base'\nimport { getWD } from '../utils/getWD'\nimport { loadConfig } from '../utils/loadConfig'\n\nconst PACKAGE_JSON_TEMPLATE = `{\n \"name\": \"\",\n \"version\": \"0.0.1\",\n \"description\": \"\",\n \"license\": \"\",\n \"author\": \"\",\n \"files\": [\"dist\"],\n \"exports\": {\n \".\": \"./src/index.ts\"\n },\n \"scripts\": {\n },\n \"homepage\": \"\",\n \"repository\": \"\",\n \"bugs\": \"\"\n}`.trimStart()\nconst README_TEMPLATE = `# $name\n\n## Installation\n\n\\`\\`\\`bash\nnpm install $name\n# or\npnpm install $name\n# or\nyarn add $name\n\\`\\`\\`\n\n## Usage\n\n\n## License\n\n$license\n`.trimStart()\n\nfunction getTemplateStr(wd: string, template: string | undefined) {\n let templateString = template ?? PACKAGE_JSON_TEMPLATE\n let isTemplateFile = false\n try {\n if (template) JSON.parse(template)\n } catch (e) {\n isTemplateFile = true\n }\n if (isTemplateFile) {\n const templatePath = path.resolve(wd, template!)\n templateString = fs.readFileSync(templatePath, 'utf-8')\n }\n return templateString\n}\nconst wdCache = new Map<string, Record<string, any>>()\nfunction getWDPackageJSONFiled(wd: string, field: string) {\n if (wdCache.has(wd)) {\n return wdCache.get(wd)![field]\n }\n const packageJSONPath = path.resolve(wd, 'package.json')\n const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8'))\n wdCache.set(wd, packageJSON)\n return packageJSON[field]\n}\nasync function getName(\n named: InitNamed | undefined,\n name: string,\n {\n wd, cwd,\n workspaceName\n }: {\n wd: string\n cwd: string\n workspaceName: string\n }\n): Promise<[name?: string, path?: string]> {\n const relativePath = cwd.replace(`${wd}/`, '')\n let basename = path.basename(cwd)\n\n if (typeof named === 'function') {\n return named(name, {\n full: wd,\n relative: cwd\n })\n }\n\n let isParentMatched = false\n let matchedKey: string | undefined\n let matchedRule: NonNullable<typeof named>[string] | undefined\n if (typeof named === 'object') {\n const isWD = cwd === wd\n if (isWD) {\n const { rule } = await inquirer.prompt<{ rule: string }>({\n type: 'list',\n name: 'rule',\n message: 'choose a rule',\n default: 'default',\n choices: ['default'].concat(Object.keys(named))\n })\n if (rule !== 'default') {\n matchedKey = rule\n matchedRule = named[rule]\n }\n } else for (const [key, value] of Object.entries(named)) {\n if (isMatch(relativePath, key)) {\n matchedKey = key\n matchedRule = value\n break\n }\n if (isMatch(`${relativePath}/jiek_ignore_dont_use_same_file_name`, key)) {\n isParentMatched = true\n matchedKey = key\n matchedRule = value\n break\n }\n }\n }\n if (!matchedRule) {\n matchedKey = 'packages/*'\n matchedRule = `@${workspaceName}/$basename`\n }\n if (!matchedRule)\n throw new Error('no matched rule')\n if (!name && isParentMatched) {\n basename = await inquirer.prompt<{ name: string }>({\n type: 'input',\n name: 'name',\n message: `the matched rule is \\`${String(matchedRule)}\\`, please input the basename\\n`\n }).then(({ name }) => name)\n }\n\n if (typeof matchedRule === 'function') {\n return matchedRule(name, {\n full: wd,\n relative: cwd,\n basename: basename\n })\n }\n if (typeof matchedRule === 'string') {\n const dirName = name ?? basename\n return [\n matchedRule.replace(/\\$basename/g, dirName),\n matchedKey?.replace(/\\/\\*$/g, `/${dirName}`)\n ]\n }\n throw new Error('no matched rule')\n}\n\nprogram\n .command('init [name]')\n .option('-t, --template <template>', 'the package.json template file path or file content')\n .action(async () => {\n const [, name] = program.args\n const cwd = process.cwd()\n const { init = {} }: Config = loadConfig() ?? {}\n const { wd } = getWD()\n const workspaceName = path.basename(wd)\n\n const {\n named,\n template,\n bug = {},\n readme: _readme = README_TEMPLATE,\n readmeTemplate\n } = init\n const resolvedBug = {\n template: 'bug_report.yml',\n labels: ['bug'],\n ...bug\n }\n let readme = _readme\n if (readmeTemplate) {\n const readmeTemplatePath = path.resolve(wd, readmeTemplate)\n readme = fs.readFileSync(readmeTemplatePath, 'utf-8')\n }\n\n const templateString = getTemplateStr(wd, template)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(templateString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n const passFields = [\n 'license', 'author'\n ]\n let newJSONString = templateString\n for (const field of passFields) {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, [field], getWDPackageJSONFiled(wd, field), { formattingOptions }\n ))\n }\n let [pkgName, pkgDir] = await getName(named, name, {\n wd, cwd,\n workspaceName\n })\n if (!pkgDir) {\n const { dir } = await inquirer.prompt<{ dir: string }>({\n type: 'input',\n name: 'dir',\n message: 'package directory',\n default: name\n })\n pkgDir = dir\n }\n if (!pkgName) {\n const { name: inputName } = await inquirer.prompt<{\n name: string\n }>({\n type: 'input',\n name: 'name',\n message: 'package name',\n default: name\n })\n pkgName = inputName\n }\n newJSONString = applyEdits(newJSONString, modify(newJSONString, ['name'], pkgName, { formattingOptions }))\n\n let pkgRepo = getWDPackageJSONFiled(wd, 'repository')\n if (typeof pkgRepo === 'string') {\n pkgRepo = {\n type: 'git',\n url: pkgRepo,\n directory: pkgDir\n }\n }\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['repository'], pkgRepo, { formattingOptions }\n ))\n const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['homepage'], homepage, { formattingOptions }\n ))\n let labels = resolvedBug.labels\n if (typeof labels === 'function') labels = labels({\n name: pkgName, dir: pkgDir\n })\n labels.push(`scope:${pkgName}`)\n const bugs = `${pkgRepo?.url}/issues/new?template=${\n resolvedBug.template\n }&labels=${\n labels.join(',')\n }`\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['bugs'], bugs, { formattingOptions }\n ))\n\n function pkgDirTo(to: string) {\n if (!pkgDir) throw new Error('pkgDir is not defined')\n\n return path.resolve(pkgDir, to)\n }\n if (!fs.existsSync(pkgDir)) fs.mkdirSync(pkgDir)\n const pkgJSONFilePath = pkgDirTo('package.json')\n if (fs.existsSync(pkgJSONFilePath)) {\n throw new Error('package.json already exists')\n }\n fs.writeFileSync(pkgJSONFilePath, newJSONString)\n console.log(newJSONString, 'written to', pkgJSONFilePath)\n\n const license = getWDPackageJSONFiled(wd, 'license')\n const readmeFilePath = pkgDirTo('README.md')\n if (typeof readme === 'function') {\n readme = readme({\n dir: pkgDir,\n packageJson: JSON.parse(newJSONString)\n })\n }\n const readmeContent = readme\n .replace(/\\$name/g, pkgName)\n .replace(/\\$license/g, license)\n fs.writeFileSync(readmeFilePath, readmeContent)\n })\n","import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport { program } from 'commander'\nimport detectIndent from 'detect-indent'\nimport { applyEdits, modify } from 'jsonc-parser'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\n\nprogram\n .command('publish')\n .aliases(['pub', 'p'])\n .option('-b, --bumper <bumper>', 'bump version', 'patch')\n .option('-p, --preview', 'preview publish')\n .action(async ({ preview, bumper, ...options }: {\n preview?: boolean\n bumper: BumperType\n }) => {\n actionRestore()\n\n const { value = {} } = await getSelectedProjectsGraph() ?? {}\n const selectedProjectsGraphEntries = Object.entries(value)\n if (selectedProjectsGraphEntries.length === 0) {\n throw new Error('no packages selected')\n }\n const mainfests = selectedProjectsGraphEntries\n .map(([dir, manifest]) => [\n dir, mergePackageJson(manifest, dir)\n ] as const)\n const passArgs = Object\n .entries(options)\n .reduce((acc, [key, value]) => {\n if (value) {\n acc.push(`--${key}`, value as string)\n }\n return acc\n }, [] as string[])\n for (const [dir, manifest] of mainfests) {\n const oldJSONString = fs.readFileSync(path.join(dir, 'package.json'), 'utf-8')\n const oldJSON = JSON.parse(oldJSONString) ?? '0.0.0'\n const newVersion = bump(oldJSON.version, bumper)\n // TODO detectIndent by editorconfig\n const { indent = ' ' } = detectIndent(oldJSONString)\n const formattingOptions = {\n tabSize: indent.length,\n insertSpaces: true\n }\n let newJSONString = oldJSONString\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['version'], newVersion, { formattingOptions }\n ))\n for (const [key, value] of Object.entries(manifest)) {\n if (JSON.stringify(value) === JSON.stringify(oldJSON[key])) continue\n\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', key], value, { formattingOptions }\n ))\n }\n try {\n fs.renameSync(path.join(dir, 'package.json'), path.join(dir, 'package.json.bak'))\n fs.writeFileSync(path.join(dir, 'package.json'), newJSONString)\n console.log(newJSONString)\n if (preview) {\n console.warn('preview mode')\n continue\n }\n childProcess.execSync(['pnpm', 'publish', '--access', 'public', '--no-git-checks', ...passArgs].join(' '), {\n cwd: dir,\n stdio: 'inherit'\n })\n const modifyVersionPackageJSON = applyEdits(oldJSONString, modify(oldJSONString, ['version'], newVersion, {}))\n fs.writeFileSync(path.join(dir, 'package.json.bak'), modifyVersionPackageJSON)\n } finally {\n fs.unlinkSync(path.join(dir, 'package.json'))\n fs.renameSync(path.join(dir, 'package.json.bak'), path.join(dir, 'package.json'))\n }\n }\n actionDone()\n })\n","import './utils/filterSupport'\nimport './commands/base'\nimport './commands/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\nprogram.parse(process.argv)\n"],"names":["root","wd","getRoot","rootOption","program","getOptionValue","path","isAbsolute","default","resolve","process","cwd","notWorkspace","getWD","isWorkspace","isWorkspaceDir","type","getWorkspaceDir","e","message","require","async","getSelectedProjectsGraph","filter","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","pkg","tsRegisterName","actionDone","actionRestore","Promise","r","mergePackageJson","options","excludeDistInExports","jiek","_","outdir","exports","includeIndex","Array","isArray","length","inputs","concat","TypeError","input","startsWith","absoluteInputs","map","cDir","dirname","files","resolvedFiles","file","first","parts","split","common","i","segment","every","commondir","resolvedInputs","relative","pkger","noIndex","source","packageIsExist","version","description","registers","env","JIEK_TS_REGISTER","Boolean","register","FILE_TEMPLATE","stringify","trimStart","command","action","target","silent","keys","jiekTempDir","paths","mkdirSync","rollupBinaryPath","replace","dir","newManifest","escapeManifestName","configFile","writeFileSync","childProcess","execSync","stdio","JIEK_TARGET","JIEK_SILENT","JIEK_ROOT","configName","loadConfig","configPath","isSupportTsLoader","configWithExtIsExist","ext","filenames","filename","lstatSync","isFile","getConfigPath","extname","module","PACKAGE_JSON_TEMPLATE","README_TEMPLATE","wdCache","Map","getWDPackageJSONFiled","field","has","get","packageJSONPath","set","args","init","workspaceName","basename","named","template","bug","readme","_readme","readmeTemplate","resolvedBug","labels","readmeTemplatePath","templateString","isTemplateFile","templatePath","getTemplateStr","indent","detectIndent","formattingOptions","tabSize","insertSpaces","passFields","newJSONString","applyEdits","modify","pkgName","pkgDir","relativePath","full","matchedKey","matchedRule","isParentMatched","rule","inquirer","prompt","choices","isMatch","String","then","dirName","getName","inputName","pkgRepo","url","directory","homepage","push","bugs","join","pkgDirTo","to","pkgJSONFilePath","console","log","license","readmeFilePath","packageJson","readmeContent","aliases","preview","bumper","selectedProjectsGraphEntries","mainfests","passArgs","oldJSONString","oldJSON","newVersion","bump","renameSync","warn","modifyVersionPackageJSON","unlinkSync","argv"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.esm.js","sources":["../../src/commands/base.ts"],"sourcesContent":["import { program } from 'commander'\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"base.esm.js","sources":["../../src/commands/base.ts"],"sourcesContent":["import { program } from 'commander'\n\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n"],"names":[],"mappings":";;;AAIA,OAAA,CACG,OAAQ,CAAA,GAAA,CAAI,OAAO,CAAA,CACnB,YAAY,GAAI,CAAA,WAAW,CAC3B,CAAA,MAAA,CAAO,eAAiB,EAAA,WAAW,CACnC,CAAA,MAAA,CAAO,kCAAkC,aAAa,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.esm.min.js","sources":["../../src/commands/base.ts"],"sourcesContent":["import { program } from 'commander'\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n"],"names":["program","version","pkg","description","option"],"mappings":"
|
1
|
+
{"version":3,"file":"base.esm.min.js","sources":["../../src/commands/base.ts"],"sourcesContent":["import { program } from 'commander'\n\nimport pkg from '../pkg'\n\nprogram\n .version(pkg.version)\n .description(pkg.description)\n .option('--root <root>', 'root path')\n .option('-c, --config-path <configPath>', 'config path')\n"],"names":["program","version","pkg","description","option"],"mappings":"qEAIAA,EACGC,QAAQC,EAAID,SACZE,YAAYD,EAAIC,aAChBC,OAAO,gBAAiB,aACxBA,OAAO,iCAAkC"}
|
@@ -42,7 +42,8 @@ program.command("build").option("-t, --target <type>", "target flow: esm|umd|dts
|
|
42
42
|
if (tsRegisterName) {
|
43
43
|
prefix = `node -r ${tsRegisterName} `;
|
44
44
|
}
|
45
|
-
|
45
|
+
const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`;
|
46
|
+
childProcess.execSync(command, {
|
46
47
|
cwd: dir,
|
47
48
|
stdio: "inherit",
|
48
49
|
env: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"build.esm.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n
|
1
|
+
{"version":3,"file":"build.esm.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`\n childProcess.execSync(command, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n"],"names":[],"mappings":";;;;;;;;;AAWA,MAAM,aAAA,GAAgB,CAAC,QAAsB,KAAA,CAAA;AAAA,YAAA,EAC/B,IAAK,CAAA,SAAA,CAAU,QAAU,EAAA,IAAA,EAAM,CAAC,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAQ7C,SAAU,EAAA,CAAA;AAEZ,OAAA,CACG,QAAQ,OAAO,CAAA,CACf,MAAO,CAAA,qBAAA,EAAuB,+CAA+C,CAC7E,CAAA,MAAA,CAAO,cAAgB,EAAA,aAAa,EACpC,MAAO,CAAA,OAAO,EAAE,MAAA,EAAQ,QAAa,KAAA;AACpC,EAAc,aAAA,EAAA,CAAA;AACd,EAAM,MAAA;AAAA,IACJ,EAAA;AAAA,IAAI,QAAQ,EAAC;AAAA,GACX,GAAA,MAAM,wBAAyB,EAAA,IAAK,EAAC,CAAA;AAEzC,EAAA,IAAI,MAAO,CAAA,IAAA,CAAK,KAAK,CAAA,CAAE,WAAW,CAAG,EAAA;AACnC,IAAM,MAAA,IAAI,MAAM,kBAAkB,CAAA,CAAA;AAAA,GACpC;AACA,EAAM,MAAA,WAAA,GAAc,IAAI,KAAoB,KAAA,IAAA,CAAK,QAAQ,EAAI,EAAA,oBAAA,EAAsB,GAAG,KAAK,CAAA,CAAA;AAC3F,EAAA,IAAI,CAAC,EAAA,CAAG,UAAW,CAAA,WAAA,EAAa,CAAA;AAAG,IAAG,EAAA,CAAA,SAAA,CAAU,aAAa,CAAA,CAAA;AAE7D,EAAA,MAAM,mBAAmB,OAAQ,CAAA,OAAA,CAAQ,QAAQ,CAC9C,CAAA,OAAA,CAAQ,oBAAoB,iBAAiB,CAAA,CAAA;AAChD,EAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,EAAA,KAAA,MAAW,CAAC,GAAK,EAAA,QAAQ,KAAK,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAG,EAAA;AACnD,IAAA,MAAM,cAAc,gBAAiB,CAAA,QAAA,EAAU,KAAK,EAAE,oBAAA,EAAsB,MAAM,CAAA,CAAA;AAElF,IAAM,MAAA,kBAAA,GAAqB,SAAS,IAAM,EAAA,OAAA,CAAQ,OAAO,EAAE,CAAA,CAAE,OAAQ,CAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAC/E,IAAA,MAAM,UAAa,GAAA,WAAA;AAAA,MACjB,CAAG,EAAA,kBAAA,IAAsB,CAAa,UAAA,EAAA,CAAA,EAAG,CAAE,CAAA,CAAA,iBAAA,CAAA;AAAA,KAC7C,CAAA;AACA,IAAA,EAAA,CAAG,aAAc,CAAA,UAAA,EAAY,aAAc,CAAA,WAAW,CAAC,CAAA,CAAA;AACvD,IAAA,IAAI,MAAS,GAAA,EAAA,CAAA;AACb,IAAA,IAAI,cAAgB,EAAA;AAClB,MAAA,MAAA,GAAS,WAAW,cAAc,CAAA,CAAA,CAAA,CAAA;AAAA,KACpC;AAEA,IAAA,MAAM,UAAU,CAAG,EAAA,MAAM,CAAG,EAAA,gBAAgB,gBAAgB,UAAU,CAAA,CAAA,CAAA;AACtE,IAAA,YAAA,CAAa,SAAS,OAAS,EAAA;AAAA,MAC7B,GAAK,EAAA,GAAA;AAAA,MAAK,KAAO,EAAA,SAAA;AAAA,MACjB,GAAK,EAAA;AAAA,QACH,WAAa,EAAA,MAAA,IAAU,OAAQ,CAAA,GAAA,CAAI,WAAe,IAAA,aAAA;AAAA,QAClD,WAAa,EAAA,CAAA,EAAG,MAAM,CAAA,CAAA,IAAM,QAAQ,GAAI,CAAA,WAAA;AAAA,QACxC,SAAW,EAAA,EAAA;AAAA,OACb;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAW,UAAA,EAAA,CAAA;AACb,CAAC,CAAA"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import*as e from"node:child_process";import t from"node:fs";import o from"node:path";import{program as r}from"commander";import{actionRestore as s,actionDone as n}from"../inner.esm.min.js";import{mergePackageJson as i}from"../merge-package-json.esm.min.js";import{getSelectedProjectsGraph as m}from"../utils/filterSupport.esm.min.js";import{tsRegisterName as l}from"../utils/tsRegister.esm.min.js";const p=e=>`\nconst pkg = ${JSON.stringify(e,null,2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart();r.command("build").option("-t, --target <type>","target flow: esm|umd|dts, default esm,umd,dts").option("-s, --silent","silent mode").action((async({target:r,silent:c})=>{s();const{wd:a,value:d={}}=await m()??{};if(0===Object.keys(d).length)throw new Error("no package found");const u=(...e)=>o.resolve(a,"node_modules/.jiek",...e);t.existsSync(u())||t.mkdirSync(u());const g=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let f=0;for(const[o,s]of Object.entries(d)){const n=i(s,o,{excludeDistInExports:!0}),m=s.name?.replace(/^@/g,"").replace(/\//g,"+"),d=u(`${m??"anonymous-"+f++}.rollup.config.js`);t.writeFileSync(d,p(n));let j="";l&&(j=`node -r ${l} `)
|
1
|
+
import*as e from"node:child_process";import t from"node:fs";import o from"node:path";import{program as r}from"commander";import{actionRestore as s,actionDone as n}from"../inner.esm.min.js";import{mergePackageJson as i}from"../merge-package-json.esm.min.js";import{getSelectedProjectsGraph as m}from"../utils/filterSupport.esm.min.js";import{tsRegisterName as l}from"../utils/tsRegister.esm.min.js";const p=e=>`\nconst pkg = ${JSON.stringify(e,null,2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart();r.command("build").option("-t, --target <type>","target flow: esm|umd|dts, default esm,umd,dts").option("-s, --silent","silent mode").action((async({target:r,silent:c})=>{s();const{wd:a,value:d={}}=await m()??{};if(0===Object.keys(d).length)throw new Error("no package found");const u=(...e)=>o.resolve(a,"node_modules/.jiek",...e);t.existsSync(u())||t.mkdirSync(u());const g=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let f=0;for(const[o,s]of Object.entries(d)){const n=i(s,o,{excludeDistInExports:!0}),m=s.name?.replace(/^@/g,"").replace(/\//g,"+"),d=u(`${m??"anonymous-"+f++}.rollup.config.js`);t.writeFileSync(d,p(n));let j="";l&&(j=`node -r ${l} `);const k=`${j}${g} --silent -c ${d}`;e.execSync(k,{cwd:o,stdio:"inherit",env:{JIEK_TARGET:r??process.env.JIEK_TARGET??"esm,umd,dts",JIEK_SILENT:`${c}`??process.env.JIEK_SILENT,JIEK_ROOT:a}})}n()}));
|
2
2
|
//# sourceMappingURL=build.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"build.esm.min.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n
|
1
|
+
{"version":3,"file":"build.esm.min.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`\n childProcess.execSync(command, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n"],"names":["FILE_TEMPLATE","manifest","JSON","stringify","trimStart","program","command","option","action","async","target","silent","actionRestore","wd","value","getSelectedProjectsGraph","Object","keys","length","Error","jiekTempDir","paths","path","resolve","fs","existsSync","mkdirSync","rollupBinaryPath","require","replace","i","dir","entries","newManifest","mergePackageJson","excludeDistInExports","escapeManifestName","name","configFile","writeFileSync","prefix","tsRegisterName","childProcess","execSync","cwd","stdio","env","JIEK_TARGET","process","JIEK_SILENT","JIEK_ROOT","actionDone"],"mappings":"8YAWA,MAAMA,EAAiBC,GAAsB,iBAC/BC,KAAKC,UAAUF,EAAU,KAAM,wOAQ3CG,YAEFC,EACGC,QAAQ,SACRC,OAAO,sBAAuB,iDAC9BA,OAAO,eAAgB,eACvBC,QAAOC,OAASC,SAAQC,aACTC,IACR,MAAAC,GACJA,EAAAC,MAAIA,EAAQ,CAAC,SACLC,KAA8B,GAExC,GAAkC,IAA9BC,OAAOC,KAAKH,GAAOI,OACf,MAAA,IAAIC,MAAM,oBAEZ,MAAAC,EAAc,IAAIC,IAAoBC,EAAKC,QAAQV,EAAI,wBAAyBQ,GACjFG,EAAGC,WAAWL,MAAmBI,EAAAE,UAAUN,KAEhD,MAAMO,EAAmBC,QAAQL,QAAQ,UACtCM,QAAQ,mBAAoB,mBAC/B,IAAIC,EAAI,EACR,IAAA,MAAYC,EAAK9B,KAAae,OAAOgB,QAAQlB,GAAQ,CACnD,MAAMmB,EAAcC,EAAiBjC,EAAU8B,EAAK,CAAEI,sBAAsB,IAEtEC,EAAqBnC,EAASoC,MAAMR,QAAQ,MAAO,IAAIA,QAAQ,MAAO,KACtES,EAAalB,EACjB,GAAGgB,GAAsB,aAAaN,wBAExCN,EAAGe,cAAcD,EAAYtC,EAAciC,IAC3C,IAAIO,EAAS,GACTC,IACFD,EAAS,WAAWC,MAGtB,MAAMnC,EAAU,GAAGkC,IAASb,iBAAgCW,IAC5DI,EAAaC,SAASrC,EAAS,CAC7BsC,IAAKb,EAAKc,MAAO,UACjBC,IAAK,CACHC,YAAarC,GAAUsC,QAAQF,IAAIC,aAAe,cAClDE,YAAa,GAAGtC,KAAYqC,QAAQF,IAAIG,YACxCC,UAAWrC,IAGjB,CAEWsC,GAAA"}
|
package/dist/rollup.cjs
CHANGED
@@ -5,7 +5,7 @@ var getWorkspaceDir = require('@jiek/utils/getWorkspaceDir');
|
|
5
5
|
var json = require('@rollup/plugin-json');
|
6
6
|
var autoprefixer = require('autoprefixer');
|
7
7
|
var cliProgress = require('cli-progress');
|
8
|
-
var rollupPluginDts = require('rollup-plugin-dts');
|
8
|
+
var rollupPluginDts = require('@jiek/rollup-plugin-dts');
|
9
9
|
var esbuild = require('rollup-plugin-esbuild');
|
10
10
|
var postcss = require('rollup-plugin-postcss');
|
11
11
|
var terser = require('@rollup/plugin-terser');
|
@@ -292,10 +292,7 @@ const template = ({
|
|
292
292
|
watchingProgress("dts", isLast),
|
293
293
|
commonPlugins,
|
294
294
|
styled && skip({ patterns: [/\.s?css$/] }),
|
295
|
-
rollupPluginDts.dts({
|
296
|
-
tsconfig: resolveWorkspacePath("tsconfig.dts.json"),
|
297
|
-
compilerOptions: { outDir: outdir }
|
298
|
-
}),
|
295
|
+
rollupPluginDts.dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
299
296
|
{
|
300
297
|
name: "rollup-plugin-declare-module-replacer",
|
301
298
|
/**
|
package/dist/rollup.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollup.cjs","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 // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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 exports: 'named',\n interop: 'auto',\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 = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\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(/(\\.c?js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, 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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({\n tsconfig: resolveWorkspacePath('tsconfig.dts.json'),\n compilerOptions: { outDir: outdir }\n }),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["terser","getWorkspaceDir","resolve","json","MultiBar","Presets","target","entries","esbuild","postcss","autoprefixer","dts"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rollup.cjs","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 // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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 exports: 'named',\n interop: 'auto',\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 = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\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(/(\\.c?js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from '@jiek/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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["terser","getWorkspaceDir","resolve","json","MultiBar","Presets","target","entries","esbuild","postcss","autoprefixer","dts"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,uBAAA,CAAyB,QAAkB,EAAA;AAOzC,EAAI,IAAA,QAAA,CAAS,UAAW,CAAA,OAAO,CAAG,EAAA;AAChC,IAAO,OAAA,QAAA,CAAS,MAAM,CAAC,CAAA,CAAA;AAAA,GACzB;AACA,EAAO,OAAA,QAAA,CACJ,QAAQ,aAAe,EAAA,CAAC,GAAG,EAAO,KAAA,EAAA,CAAG,aAAa,CAAA,CAAA;AACvD;;ACJO,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;;AC3BA,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;;ACpBA,MAAM,YAAA,GAAe,CAA0B,MAAc,KAAA,MAAA,CAAA;AAEtD,MAAM,sBAAsB,YAAa,CAAA;AAAA,EAC9C,OAAS,EAAA,OAAA;AAAA,EACT,OAAS,EAAA,MAAA;AAAA,EACT,SAAW,EAAA,IAAA;AACb,CAAC,CAAA;;ACR0B,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,EAAM,MAAA,EAAE,YAAe,GAAA,EAAI,EAAA,gBAAA,GAAmB,EAAI,EAAA,oBAAA,GAAuB,EAAC,EAAM,GAAA,GAAA,CAAA;AAChF,EAAA,MAAM,QAAgC,GAAA,MAAA,CACnC,IAAK,CAAA,YAAY,EACjB,MAAO,CAAA,MAAA,CAAO,IAAK,CAAA,gBAAgB,CAAC,CACpC,CAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,oBAAoB,CAAC,CAAA,CAAA;AAC3C,EAAO,OAAA,QAAA,CACJ,GAAI,CAAA,CAAA,GAAA,KAAO,IAAI,MAAA,CAAO,IAAI,GAAG,CAAA,OAAA,CAAS,CAAC,CAAA,CACvC,MAAO,CAAA;AAAA,IACN,QAAA;AAAA,GACD,CAAA,CAAA;AACL;;ACXA,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,aAAa,QAAQ,CAAA;AAAA,MACpE,OAAA,EAAS,CAAC,GAAI,MAAA,CAAO,WAAW,EAAC,EAAIA,yBAAQ,CAAA;AAAA,KAC/C;AAAA,GACF,CAAA;AACF;;ACGA,MAAM;AAAA,EACJ,WAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AACF,CAAA,GAAI,OAAQ,CAAA,GAAA,CAAA;AAEZ,MAAM,SAAS,WAAe,IAAA,aAAA,CAAA;AAC9B,MAAM,gBAAmB,GAAA,CAAC,KAAO,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC7C,MAAM,OACJ,GAAA,MAAA,CACG,KAAM,CAAA,GAAG,CACT,CAAA,MAAA,CAAO,OAAO,CAAA,CACd,MAAO,CAAA,CAAA,CAAA,KAAK,gBAAiB,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,CAAA;AAE7C,MAAM,aAAA,GAAgB,aAAaC,+BAAgB,EAAA,CAAA;AACnD,SAAS,qBAAqB,CAAW,EAAA;AACvC,EAAO,OAAAC,iBAAA,CAAQ,eAAe,CAAC,CAAA,CAAA;AACjC,CAAA;AAEA,SAAS,aAAA,CACP,OACA,EAAA,YAAA,EACA,WACQ,EAAA;AACR,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,UAAA;AAAA,IACN,SAAA,CAAU,QAAQ,QAAU,EAAA;AAC1B,MAAA,IAAI,OAAQ,CAAA,QAAA,CAAS,MAAM,CAAA,IAAK,QAAa,KAAA,KAAA,CAAA;AAC3C,QAAA,YAAA,CAAa,MAAM,CAAA,CAAA;AAAA,KACvB;AAAA,IACA,WAAA,CAAY,SAAS,MAAQ,EAAA;AAC3B,MAAO,MAAA,CAAA,OAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAM,KAAA;AAC/C,QAAA,IAAI,KAAM,CAAA,IAAA,KAAS,KAAa,CAAA,IAAA,EAAE,SAAa,IAAA,KAAA,CAAA;AAAQ,UAAA,OAAA;AACvD,QAAY,WAAA,CAAA,KAAA,CAAM,IAAM,EAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,OACvC,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AACF,CAAA;AAEO,MAAM,WAAW,CACtB;AAAA,EACE,MAAS,GAAA,KAAA;AAAA,EACT,OAAS,EAAA;AAAA,IACP,KAAA,EAAO,eAAe,EAAC;AAAA,IACvB,KAAA,EAAO,eAAe,EAAC;AAAA,IACvB,GAAA,EAAK,aAAa,EAAC;AAAA,MACjB,EAAC;AACP,CAUI,GAAA,IACJ,GAQG,KAAA;AACH,EAAA,IAAI,QAAQ,MAAW,KAAA,CAAA;AACrB,IAAM,MAAA,IAAI,MAAM,qBAAqB,CAAA,CAAA;AAEvC,EAAA,MAAM,EAAE,IAAM,EAAA;AAAA,IACZ,SAAY,GAAA,KAAA;AAAA,IACZ,MAAS,GAAA,MAAA;AAAA,GACX,GAAI,EAAC,EAAM,GAAA,GAAA,CAAA;AACX,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAG,mBAAA;AAAA,IACH,GAAK,EAAA,MAAA;AAAA,GACP,CAAA;AACA,EAAI,IAAA,CAAC,IAAI,IAAM,EAAA;AACb,IAAM,MAAA,IAAI,MAAM,sBAAsB,CAAA,CAAA;AAAA,GACxC;AACA,EAAM,MAAA,UAAA,GAAa,GAChB,CAAA,IAAA,CACA,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAG,EAAA,EAAA,KAAO,EAAG,CAAA,WAAA,EAAa,CAAA,CAAA;AACrD,EAAA,MAAM,iBAAiB,MAAO,CAAA,WAAA;AAAA,IAC5B,MAAA,CAAO,OAAQ,CAAA,GAAA,CAAI,OAAW,IAAA,EAAE,CAAA,CAE7B,MAAO,CAAA,CAAC,CAAC,GAAG,CAAM,KAAA,CAAC,IAAI,UAAW,CAAA,CAAA,EAAA,EAAK,MAAM,CAAA,CAAE,CAAK,IAAA,CAAC,GAAI,CAAA,UAAA,CAAW,MAAM,CAAC,CAE3E,CAAA,MAAA,CAAO,CAAC,CAAC,GAAG,CAAM,KAAA,CAAC,oBAAqB,CAAA,IAAA,CAAK,GAAG,CAAC,CAEjD,CAAA,MAAA,CAAO,CAAC,GAAG,KAAK,CAAM,KAAA,OAAO,KAAU,KAAA,QAAA,IAAY,KAAM,CAAA,WAAW,CAAK,IAAA,KAAA,CAAM,QAAQ,CAAC,CACxF,CAAA,GAAA,CAAI,CAAC,CAAC,GAAK,EAAA,KAAK,CAAM,KAAA;AAAA,MACrB,IACG,OAAQ,CAAA,MAAA,EAAQ,OAAO,CACvB,CAAA,OAAA,CAAQ,SAAS,EAAE,CAAA;AAAA,MACtB,OAAO,KAAA,KAAU,QAAW,GAAA,KAAA,GAAQ,MAAM,WAAW,CAAA;AAAA,KACtD,CAAA;AAAA,GACL,CAAA;AACA,EAAA,MAAM,cAAiB,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,MAAO,CAAA,MAAA,CAAO,cAAc,CAAA,CAAE,GAAI,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AACnF,EAAA,SAAS,aAAa,KAAe,EAAA;AACnC,IAAO,OAAA,KAAA,CAAM,OAAO,cAAc,CAAA,CAAA;AAAA,GACpC;AAEA,EAAA,MAAM,CAAC,eAAA,EAAiB,aAAa,CAAA,GAAI,oBAAqB,EAAA,CAAA;AAC9D,EAAA,MAAM,WAAW,gBAAiB,EAAA,CAAA;AAElC,EAAA,MAAM,gBAAgB,EACtB,CAAA;AACA,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpBC,qBAAK,EAAA;AAAA,GACP,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,IAAIC,oBAAS,CAAA;AAAA,IAC7B,eAAiB,EAAA,KAAA;AAAA,IACjB,UAAY,EAAA,IAAA;AAAA,IACZ,MAAQ,EAAA,wCAAA;AAAA,GACV,EAAGC,oBAAQ,cAAc,CAAA,CAAA;AACzB,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAc,CAAA,CAAA;AAC5C,EAAA,MAAM,mBAAmB,CAAC,IAAA,KAAgC,QACvD,MAAO,CAAA,CAAC,KAAK,KAAU,KAAA;AACtB,IAAA,MAAM,GAAM,GAAA,SAAA,CAAU,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AACnC,IAAI,GAAA,CAAA,MAAA,CAAO,CAAG,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,KAAK,CAAA,EAAG,OAAS,EAAA,SAAA,EAAW,CAAA,CAAA;AACtE,IAAA,OAAO,EAAE,GAAG,GAAA,EAAK,CAAC,KAAK,GAAG,GAAI,EAAA,CAAA;AAAA,GAChC,EAAG,EAAyD,CAAA,CAAA;AAC9D,EAAA,MAAM,gBAA6F,EAAC,CAAA;AACpG,EAAQ,OAAA,CAAA,OAAA,CAAQ,CAAAC,OAAU,KAAA;AACxB,IAAcA,aAAAA,CAAAA,OAAM,CAAI,GAAA,gBAAA,CAAiBA,OAAM,CAAA,CAAA;AAAA,GAChD,CAAA,CAAA;AACD,EAAA,MAAM,QAAW,GAAA,OAAA,CAAQ,MAAO,CAAA,CAACC,UAAS,KAAW,MAAA,EAAE,GAAGA,QAAAA,EAAS,CAAC,KAAK,GAAG,KAAM,EAAA,CAAA,EAAI,EAA6B,CAAA,CAAA;AACnH,EAAA,MAAM,gBAAmB,GAAA,CACvB,IACA,EAAA,MAAA,GAAS,OACT,YACG,KAAA;AACH,IAAM,MAAA,KAAA,GAAQ,cAAc,IAAI,CAAA,CAAA;AAChC,IAAA,IAAI,CAAC,KAAA;AAAO,MAAA,MAAM,IAAI,KAAA,CAAM,CAAU,OAAA,EAAA,IAAI,CAAQ,MAAA,CAAA,CAAA,CAAA;AAClD,IAAO,OAAA,aAAA;AAAA,MACL,MAAA,CAAO,OAAO,cAAc,CAAA;AAAA,MAC5B,CAAS,KAAA,KAAA;AACP,QAAA,MAAM,IAAI,YAAgB,IAAA,KAAA,CAAA;AAC1B,QAAM,MAAA,GAAA,GAAM,MAAM,CAAC,CAAA,CAAA;AACnB,QAAA,IAAI,CAAC,GAAA;AAAK,UAAA,OAAA;AACV,QAAI,GAAA,CAAA,MAAA,CAAO,CAAG,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,YAAA,EAAc,CAAA,CAAA;AAAA,OACvE;AAAA,MACA,CAAC,MAAM,QAAa,KAAA;AAClB,QAAM,MAAA,CAAA,GAAI,YAAgB,IAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AAC7C,QAAM,MAAA,GAAA,GAAM,MAAM,CAAC,CAAA,CAAA;AACnB,QAAA,IAAI,CAAC,GAAA;AAAK,UAAA,OAAA;AACV,QAAA,MAAM,OAAU,GAAA;AAAA,UACd,GAAK,EAAA,YAAA;AAAA,UACL,GAAK,EAAA,cAAA;AAAA,UACL,GAAK,EAAA,eAAA;AAAA,UACL,IAAI,CAAA,CAAA;AACN,QAAA,IAAI,CAAC,OAAA,CAAQ,IAAK,CAAA,QAAQ,CAAG,EAAA;AAC3B,UAAI,GAAA,CAAA,MAAA,CAAO,EAAI,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,WAAA,EAAa,CAAA,CAAA;AAAA,SAChE,MAAA;AACL,UAAI,GAAA,CAAA,MAAA,CAAO,GAAK,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,UAAA,EAAY,CAAA,CAAA;AAAA,SACvE;AACA,QAAA,IAAI,MAAQ,EAAA;AACV,UAAA,QAAA,CAAS,CAAC,CAAI,GAAA,IAAA,CAAA;AACd,UAAA,IAAI,OAAO,MAAO,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA;AAC1C,YAAA,UAAA,CAAW,MAAM,SAAA,CAAU,IAAK,EAAA,EAAG,GAAG,CAAA,CAAA;AAAA,WACxC;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AACA,EAAA,MAAM,UAA8C,CAAW,MAAA,MAAA;AAAA,IAC7D,GAAG,aAAA;AAAA,IACH,KAAO,EAAA,cAAA;AAAA,IACP,MAAQ,EAAA;AAAA,MACN,GAAG,UAAW,CAAA;AAAA,QACZ,GAAG,aAAA;AAAA,QACH,MAAQ,EAAA,KAAA;AAAA,QACR,cAAgB,EAAA,eAAA;AAAA,QAChB,eAAiB,EAAA,IAAA;AAAA,OAClB,CAAA;AAAA,KACH;AAAA,IACA,OAAS,EAAA;AAAA,MACP,gBAAA,CAAiB,OAAO,MAAM,CAAA;AAAA,MAC9B,aAAA;AAAA,MACA,eAAA,CAAgB,EAAE,QAAA,EAAU,CAAA;AAAA,MAC5B,UAAU,IAAK,CAAA,EAAE,UAAU,CAAC,UAAU,GAAG,CAAA;AAAA,MACzCC,wBAAQ,EAAA;AAAA,MACR,YAAA;AAAA,KACF;AAAA,GACF,CAAA,CAAA;AACA,EAAM,MAAA,OAAA,GAAgD,CAAU,MAAA,KAAA,MAAA,CAAO,OAAQ,CAAA,cAAc,CAAE,CAAA,GAAA,CAAI,CAAC,CAAC,IAAM,EAAA,KAAK,CAAM,KAAA;AACpH,IAAA,MAAM,UAAa,GAAA,UAAA,IACjB,IAAS,KAAA,OAAA,GAAU,EACjB,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAA,EAAG,EAAO,KAAA,EAAA,CAAG,aAAa,CAAA,CAAA,CAAA;AAG3D,IAAO,OAAA;AAAA,MACL,GAAG,aAAA;AAAA,MACH,KAAA;AAAA,MACA,QAAQ,SAAY,GAAA;AAAA,QAClB,GAAG,UAAW,CAAA;AAAA,UACZ,GAAG,aAAA;AAAA,UACH,IAAM,EAAA,UAAA;AAAA,UACN,MAAQ,EAAA,KAAA;AAAA,UACR,cAAA,EAAgB,GAAG,IAAI,CAAA,IAAA,CAAA;AAAA,SACxB,CAAA;AAAA,OACC,GAAA;AAAA,QACF,GAAG,UAAW,CAAA;AAAA,UACZ,GAAG,aAAA;AAAA,UACH,IAAM,EAAA,UAAA;AAAA,UACN,MAAQ,EAAA,MAAA;AAAA,UACR,cAAA,EAAgB,GAAG,IAAI,CAAA,QAAA,CAAA;AAAA,SACxB,CAAA;AAAA,QACD,GAAG,UAAW,CAAA;AAAA,UACZ,GAAG,aAAA;AAAA,UACH,IAAM,EAAA,UAAA;AAAA,UACN,MAAQ,EAAA,KAAA;AAAA,UACR,cAAA,EAAgB,GAAG,IAAI,CAAA,OAAA,CAAA;AAAA,SACxB,CAAA;AAAA,OACH;AAAA,MACA,OAAS,EAAA;AAAA,QACP,gBAAA,CAAiB,KAAO,EAAA,MAAA,EAAQ,KAAK,CAAA;AAAA,QACrC,aAAA;AAAA,QACA,aAAA;AAAA,QACA,UAAUC,wBAAQ,CAAA;AAAA,UAChB,OAAA,EAAS,CAACC,6BAAY,CAAA;AAAA,UACtB,QAAU,EAAA,IAAA;AAAA,UACV,SAAW,EAAA,IAAA;AAAA,UACX,OAAA,EAAS,GAAG,IAAI,CAAA,IAAA,CAAA;AAAA,SACjB,CAAA;AAAA,QACDF,wBAAQ,EAAA;AAAA,QACR,YAAA;AAAA,OACF;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,MAAM,UAA8C,CAAW,MAAA,MAAA;AAAA,IAC7D,GAAG,aAAA;AAAA,IACH,KAAO,EAAA,cAAA;AAAA,IACP,MAAQ,EAAA;AAAA,MACN;AAAA,QACE,GAAK,EAAA,MAAA;AAAA,OACP;AAAA,MACA;AAAA,QACE,GAAK,EAAA,MAAA;AAAA,QACL,cAAA,EAAgB,CAAC,EAAE,IAAK,EAAA,KAAM,GAAG,IAAK,CAAA,OAAA,CAAQ,QAAU,EAAA,EAAE,CAAC,CAAA,SAAA,CAAA;AAAA,QAC3D,eAAiB,EAAA,IAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,OAAS,EAAA;AAAA,MACP,gBAAA,CAAiB,OAAO,MAAM,CAAA;AAAA,MAC9B,aAAA;AAAA,MACA,UAAU,IAAK,CAAA,EAAE,UAAU,CAAC,UAAU,GAAG,CAAA;AAAA,MACzCG,oBAAI,EAAE,QAAA,EAAU,oBAAqB,CAAA,mBAAmB,GAAG,CAAA;AAAA,MAC3D;AAAA,QACE,IAAM,EAAA,uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAKN,cAAA,CAAe,GAAG,MAAQ,EAAA;AACxB,UAAA,KAAA,MAAW,IAAQ,IAAA,MAAA,CAAO,MAAO,CAAA,MAAM,CAAG,EAAA;AACxC,YAAA,IAAI,EAAE,MAAU,IAAA,IAAA,CAAA;AAAO,cAAA,SAAA;AAEvB,YAAK,IAAA,CAAA,IAAA,GAAO,KAAK,IAAK,CAAA,OAAA;AAAA,cACpB,gCAAA;AAAA,cACA,CAAA,gBAAA,EAAmB,IAAI,IAAI,CAAA,CAAA,CAAA;AAAA,aAC7B,CAAA;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACA,UAAA;AAAA,KACF;AAAA,IACA,QAAA;AAAA,GACF,CAAA,CAAA;AACA,EAAA,MAAM,aAAa,EAAE,GAAA,EAAK,SAAS,GAAK,EAAA,OAAA,EAAS,KAAK,OAAQ,EAAA,CAAA;AAC9D,EAAO,OAAA,OAAA,CAAQ,OAAQ,CAAA,CAAAL,OAAU,KAAA;AAC/B,IAAM,MAAA,OAAA,GAAU,WAAWA,OAA+B,CAAA,CAAA;AAC1D,IAAA,IAAI,OAAY,KAAA,KAAA,CAAA;AACd,MAAA,MAAM,IAAI,KAAA,CAAM,CAAUA,OAAAA,EAAAA,OAAM,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACrD,IAAA,MAAM,OAAO,OAAQA,CAAAA,OAAAA,KAAW,QAAQ,OAAQ,CAAA,MAAA,GAAS,CAAC,CAAC,CAAA,CAAA;AAC3D,IAAI,IAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAG,MAAO,OAAA,IAAA,CAAA;AAChC,IAAA,OAAO,CAAC,IAAI,CAAA,CAAA;AAAA,GACb,CAAA,CAAA;AACH;;;;"}
|
package/dist/rollup.esm.js
CHANGED
@@ -3,7 +3,7 @@ import { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir';
|
|
3
3
|
import json from '@rollup/plugin-json';
|
4
4
|
import autoprefixer from 'autoprefixer';
|
5
5
|
import { MultiBar, Presets } from 'cli-progress';
|
6
|
-
import { dts } from 'rollup-plugin-dts';
|
6
|
+
import { dts } from '@jiek/rollup-plugin-dts';
|
7
7
|
import esbuild from 'rollup-plugin-esbuild';
|
8
8
|
import postcss from 'rollup-plugin-postcss';
|
9
9
|
import { createGlobalsLinkage } from './rollup/plugins/globals.esm.js';
|
@@ -210,10 +210,7 @@ const template = ({
|
|
210
210
|
watchingProgress("dts", isLast),
|
211
211
|
commonPlugins,
|
212
212
|
styled && skip({ patterns: [/\.s?css$/] }),
|
213
|
-
dts({
|
214
|
-
tsconfig: resolveWorkspacePath("tsconfig.dts.json"),
|
215
|
-
compilerOptions: { outDir: outdir }
|
216
|
-
}),
|
213
|
+
dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
217
214
|
{
|
218
215
|
name: "rollup-plugin-declare-module-replacer",
|
219
216
|
/**
|
package/dist/rollup.esm.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollup.esm.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, 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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({\n tsconfig: resolveWorkspacePath('tsconfig.dts.json'),\n compilerOptions: { outDir: outdir }\n }),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["target","entries"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rollup.esm.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from '@jiek/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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["target","entries"],"mappings":"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"}
|
package/dist/rollup.esm.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import{resolve as e}from"node:path";import{getWorkspaceDir as r}from"@jiek/utils/getWorkspaceDir";import t from"@rollup/plugin-json";import s from"autoprefixer";import{MultiBar as
|
1
|
+
import{resolve as e}from"node:path";import{getWorkspaceDir as r}from"@jiek/utils/getWorkspaceDir";import t from"@rollup/plugin-json";import s from"autoprefixer";import{MultiBar as n,Presets as o}from"cli-progress";import{dts as i}from"@jiek/rollup-plugin-dts";import m from"rollup-plugin-esbuild";import p from"rollup-plugin-postcss";import{createGlobalsLinkage as l}from"./rollup/plugins/globals.esm.min.js";import a from"./rollup/plugins/skip.esm.min.js";import{commonOutputOptions as u}from"./rollup/utils/commonOptions.esm.min.js";import c from"./rollup/utils/externalResolver.esm.min.js";import d from"./rollup/utils/withMinify.esm.min.js";const{JIEK_SILENT:f,JIEK_TARGET:g,JIEK_ROOT:j}=process.env,y=["esm","umd","dts"],h=(g??"esm,umd,dts").split(",").filter(Boolean).filter((e=>y.includes(e))),v=j??r();const $=({styled:r=!1,plugins:{index:f=[],entry:g=[],dts:j=[]}={}}={},y)=>{if(0===h.length)throw new Error("no target specified");const{jiek:{noBrowser:$=!1,outdir:w="dist"}={}}=y,E={...u,dir:w};if(!y.name)throw new Error("pkg.name is required");const b=y.name.replace(/[@|/-](\w)/g,((e,r)=>r.toUpperCase())),O=Object.fromEntries(Object.entries(y.exports??{}).filter((([e])=>!e.startsWith(`./${w}`)&&!e.startsWith(w))).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"]]))),x=Math.max(...Object.values(O).map((e=>e.length)));function N(e){return e.padEnd(x)}const[k,M]=l(),B=c(),F={},I=[t()],T=new n({clearOnComplete:!1,hideCursor:!0,format:"- {bar} | {type} | {entry} | {message}"},o.shades_classic),C=Object.values(O),_={};h.forEach((e=>{var r;_[e]=(r=e,C.reduce(((e,t)=>{const s=T.create(100,0);return s.update(0,{type:r,entry:N(t),message:"waiting"}),{...e,[t]:s}}),{}))}));const A=C.reduce(((e,r)=>({...e,[r]:!1})),{}),J=(e,r=!1,t)=>{const s=_[e];if(!s)throw new Error(`target ${e} found`);return function(e,r,t){return{name:"progress",resolveId(t,s){(e.includes(t)||void 0===s)&&r(t)},writeBundle(e,r){Object.entries(r).forEach((([e,r])=>{void 0!==r.name&&"isEntry"in r&&t(r.name,r.fileName)}))}}}(Object.values(O),(r=>{const n=t??r,o=s[n];o&&o.update(0,{type:e,entry:N(n),message:"processing"})}),((n,o)=>{const i=t??O[n],m=s[i];if(!m)return;({esm:/\.min\.js$/,umd:/\.min\.c?js$/,dts:/\.esm\.d\.ts$/})[e].test(o)?m.update(100,{type:e,entry:N(i),message:"finished"}):m.update(95,{type:e,entry:N(i),message:"processed"}),r&&(A[i]=!0,Object.values(A).every(Boolean)&&setTimeout((()=>T.stop()),200))}))},K={esm:e=>({...F,input:O,output:[...d({...E,format:"esm",entryFileNames:"[name].esm.js",preserveModules:!0})],plugins:[J("esm",e),I,k({external:B}),r&&a({patterns:[/\.s?css$/]}),m(),f]}),umd:e=>Object.entries(O).map((([t,n])=>{const o=b+("index"===t?"":t.replace(/[@|/-](\w)/g,((e,r)=>r.toUpperCase())));return{...F,input:n,output:$?[...d({...E,name:o,format:"cjs",entryFileNames:`${t}.cjs`})]:[...d({...E,name:o,format:"iife",entryFileNames:`${t}.iife.js`}),...d({...E,name:o,format:"umd",entryFileNames:`${t}.umd.js`})],plugins:[J("umd",e,n),I,M,r&&p({plugins:[s],minimize:!0,sourceMap:!0,extract:`${t}.css`}),m(),g],external:B}})),dts:t=>{return{...F,input:O,output:[{dir:"dist"},{dir:"dist",entryFileNames:({name:e})=>`${e.replace(/^src\//,"")}.esm.d.ts`,preserveModules:!0}],plugins:[J("dts",t),I,r&&a({patterns:[/\.s?css$/]}),i({tsconfig:(s="tsconfig.dts.json",e(v,s))}),{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 '${y.name}'`))}},j],external:B};var s}};return h.flatMap((e=>{const r=K[e];if(void 0===r)throw new Error(`target ${e} is not supported`);const t=r(e===h[h.length-1]);return Array.isArray(t)?t:[t]}))};export{$ as template};
|
2
2
|
//# sourceMappingURL=rollup.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollup.esm.min.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, 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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({\n tsconfig: resolveWorkspacePath('tsconfig.dts.json'),\n compilerOptions: { outDir: outdir }\n }),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["JIEK_SILENT","JIEK_TARGET","JIEK_ROOT","process","env","ACCEPTED_TARGETS","targets","split","filter","Boolean","t","includes","workspaceRoot","getWorkspaceDir","template","styled","plugins","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","length","Error","jiek","noBrowser","outdir","outputOptions","commonOutputOptions","dir","name","namePrefix","replace","_","$1","toUpperCase","exportsEntries","Object","fromEntries","entries","exports","key","startsWith","test","value","map","maxLengthEntry","Math","max","values","v","paddingEntry","padEnd","globalsRegister","globalsOutput","createGlobalsLinkage","external","externalResolver","commonOptions","commonPlugins","json","multiBars","MultiBar","clearOnComplete","hideCursor","format","Presets","shades_classic","progressState","forEach","target","type","reduce","add","bar","create","update","message","resolved","watchingProgress","isLast","defaultEntry","group","onProcessing","onProcessed","resolveId","source","importer","writeBundle","options","bundle","fileName","watchProgress","e","esm","umd","every","setTimeout","stop","optionsMap","input","output","withMinify","entryFileNames","preserveModules","skip","patterns","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","compilerOptions","outDir","generateBundle","file","code","flatMap","optsGen","opts","Array","isArray"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rollup.esm.min.js","sources":["../src/rollup/index.ts"],"sourcesContent":["import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from '@jiek/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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["JIEK_SILENT","JIEK_TARGET","JIEK_ROOT","process","env","ACCEPTED_TARGETS","targets","split","filter","Boolean","t","includes","workspaceRoot","getWorkspaceDir","template","styled","plugins","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","length","Error","jiek","noBrowser","outdir","outputOptions","commonOutputOptions","dir","name","namePrefix","replace","_","$1","toUpperCase","exportsEntries","Object","fromEntries","entries","exports","key","startsWith","test","value","map","maxLengthEntry","Math","max","values","v","paddingEntry","padEnd","globalsRegister","globalsOutput","createGlobalsLinkage","external","externalResolver","commonOptions","commonPlugins","json","multiBars","MultiBar","clearOnComplete","hideCursor","format","Presets","shades_classic","progressState","forEach","target","type","reduce","add","bar","create","update","message","resolved","watchingProgress","isLast","defaultEntry","group","onProcessing","onProcessed","resolveId","source","importer","writeBundle","options","bundle","fileName","watchProgress","e","esm","umd","every","setTimeout","stop","optionsMap","input","output","withMinify","entryFileNames","preserveModules","skip","patterns","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","file","code","flatMap","optsGen","opts","Array","isArray"],"mappings":"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"}
|
package/dist/rollup.min.cjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var e=require("node:path"),t=require("@jiek/utils/getWorkspaceDir"),r=require("@rollup/plugin-json"),s=require("autoprefixer"),n=require("cli-progress"),i=require("rollup-plugin-dts"),o=require("rollup-plugin-esbuild"),a=require("rollup-plugin-postcss"),u=require("@rollup/plugin-terser");function l(e){return e&&e.__esModule?e:{default:e}}var c=l(r),p=l(s),d=l(o),m=l(a),f=l(u);function g(e){return e.startsWith("node:")?e.slice(5):e.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase()))}var y=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const j={exports:"named",interop:"auto",sourcemap:!0};function $(e){return[e,{...e,entryFileNames:e.entryFileNames?.replace(/(\.c?js)$/,".min$1"),plugins:[...e.plugins??[],f.default()]}]}const{JIEK_SILENT:v,JIEK_TARGET:b,JIEK_ROOT:w}=process.env,
|
1
|
+
"use strict";var e=require("node:path"),t=require("@jiek/utils/getWorkspaceDir"),r=require("@rollup/plugin-json"),s=require("autoprefixer"),n=require("cli-progress"),i=require("@jiek/rollup-plugin-dts"),o=require("rollup-plugin-esbuild"),a=require("rollup-plugin-postcss"),u=require("@rollup/plugin-terser");function l(e){return e&&e.__esModule?e:{default:e}}var c=l(r),p=l(s),d=l(o),m=l(a),f=l(u);function g(e){return e.startsWith("node:")?e.slice(5):e.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase()))}var y=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const j={exports:"named",interop:"auto",sourcemap:!0};function $(e){return[e,{...e,entryFileNames:e.entryFileNames?.replace(/(\.c?js)$/,".min$1"),plugins:[...e.plugins??[],f.default()]}]}const{JIEK_SILENT:v,JIEK_TARGET:b,JIEK_ROOT:w}=process.env,h=["esm","umd","dts"],O=(b??"esm,umd,dts").split(",").filter(Boolean).filter((e=>h.includes(e))),x=w??t.getWorkspaceDir();exports.template=({styled:t=!1,plugins:{index:r=[],entry:s=[],dts:o=[]}={}}={},a)=>{if(0===O.length)throw new Error("no target specified");const{jiek:{noBrowser:u=!1,outdir:l="dist"}={}}=a,f={...j,dir:l};if(!a.name)throw new Error("pkg.name is required");const v=a.name.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())),b=Object.fromEntries(Object.entries(a.exports??{}).filter((([e])=>!e.startsWith(`./${l}`)&&!e.startsWith(l))).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"]]))),w=Math.max(...Object.values(b).map((e=>e.length)));function h(e){return e.padEnd(w)}const[E,k]=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]:g(t)})),{}),{...r,globals:e})}),{outputOptions:t=>({...t,globals:e})}]}(),q=function(){const e=process.cwd(),t=require(`${e}/package.json`),{dependencies:r={},peerDependencies:s={},optionalDependencies:n={}}=t;return Object.keys(r).concat(Object.keys(s)).concat(Object.keys(n)).map((e=>new RegExp(`^${e}(/.*)?$`))).concat([/^node:/])}(),N={},F=[c.default()],M=new n.MultiBar({clearOnComplete:!1,hideCursor:!0,format:"- {bar} | {type} | {entry} | {message}"},n.Presets.shades_classic),B=Object.values(b),I={};O.forEach((e=>{var t;I[e]=(t=e,B.reduce(((e,r)=>{const s=M.create(100,0);return s.update(0,{type:t,entry:h(r),message:"waiting"}),{...e,[r]:s}}),{}))}));const _=B.reduce(((e,t)=>({...e,[t]:!1})),{}),C=(e,t=!1,r)=>{const s=I[e];if(!s)throw new Error(`target ${e} found`);return function(e,t,r){return{name:"progress",resolveId(r,s){(e.includes(r)||void 0===s)&&t(r)},writeBundle(e,t){Object.entries(t).forEach((([e,t])=>{void 0!==t.name&&"isEntry"in t&&r(t.name,t.fileName)}))}}}(Object.values(b),(t=>{const n=r??t,i=s[n];i&&i.update(0,{type:e,entry:h(n),message:"processing"})}),((n,i)=>{const o=r??b[n],a=s[o];if(!a)return;({esm:/\.min\.js$/,umd:/\.min\.c?js$/,dts:/\.esm\.d\.ts$/})[e].test(i)?a.update(100,{type:e,entry:h(o),message:"finished"}):a.update(95,{type:e,entry:h(o),message:"processed"}),t&&(_[o]=!0,Object.values(_).every(Boolean)&&setTimeout((()=>M.stop()),200))}))},T={esm:e=>({...N,input:b,output:[...$({...f,format:"esm",entryFileNames:"[name].esm.js",preserveModules:!0})],plugins:[C("esm",e),F,E({external:q}),t&&y({patterns:[/\.s?css$/]}),d.default(),r]}),umd:e=>Object.entries(b).map((([r,n])=>{const i=v+("index"===r?"":r.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())));return{...N,input:n,output:u?[...$({...f,name:i,format:"cjs",entryFileNames:`${r}.cjs`})]:[...$({...f,name:i,format:"iife",entryFileNames:`${r}.iife.js`}),...$({...f,name:i,format:"umd",entryFileNames:`${r}.umd.js`})],plugins:[C("umd",e,n),F,k,t&&m.default({plugins:[p.default],minimize:!0,sourceMap:!0,extract:`${r}.css`}),d.default(),s],external:q}})),dts:r=>{return{...N,input:b,output:[{dir:"dist"},{dir:"dist",entryFileNames:({name:e})=>`${e.replace(/^src\//,"")}.esm.d.ts`,preserveModules:!0}],plugins:[C("dts",r),F,t&&y({patterns:[/\.s?css$/]}),i.dts({tsconfig:(s="tsconfig.dts.json",e.resolve(x,s))}),{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 '${a.name}'`))}},o],external:q};var s}};return O.flatMap((e=>{const t=T[e];if(void 0===t)throw new Error(`target ${e} is not supported`);const r=t(e===O[O.length-1]);return Array.isArray(r)?r:[r]}))};
|
2
2
|
//# sourceMappingURL=rollup.min.cjs.map
|
package/dist/rollup.min.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollup.min.cjs","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 // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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 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(/(\\.c?js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, 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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({\n tsconfig: resolveWorkspacePath('tsconfig.dts.json'),\n compilerOptions: { outDir: outdir }\n }),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\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 = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\n}\n"],"names":["globalResolver","external","startsWith","slice","replace","_","$1","toUpperCase","skip","options","name","load","id","patterns","some","pattern","includes","test","commonOutputOptions","exports","interop","sourcemap","withMinify","output","entryFileNames","plugins","terser","JIEK_SILENT","JIEK_TARGET","JIEK_ROOT","process","env","ACCEPTED_TARGETS","targets","split","filter","Boolean","t","workspaceRoot","getWorkspaceDir","styled","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","length","Error","jiek","noBrowser","outdir","outputOptions","dir","namePrefix","exportsEntries","Object","fromEntries","entries","key","value","map","maxLengthEntry","Math","max","values","v","paddingEntry","padEnd","globalsRegister","globalsOutput","globals","dependencies","Set","resolveId","dep","RegExp","add","reduce","acc","createGlobalsLinkage","cwd","require","peerDependencies","optionalDependencies","keys","concat","externalResolver","commonOptions","commonPlugins","json","multiBars","MultiBar","clearOnComplete","hideCursor","format","Presets","shades_classic","progressState","forEach","target","type","bar","create","update","message","resolved","watchingProgress","isLast","defaultEntry","group","onProcessing","onProcessed","source","importer","writeBundle","bundle","fileName","watchProgress","e","esm","umd","every","setTimeout","stop","optionsMap","input","preserveModules","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","compilerOptions","outDir","generateBundle","file","code","flatMap","optsGen","opts","Array","isArray"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rollup.min.cjs","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 // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\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 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(/(\\.c?js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from '@jiek/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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\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 jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n if (targets.length === 0)\n throw new Error('no target specified')\n\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\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 outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\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 const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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 ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', isLast, input),\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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts', isLast),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\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 = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\n}\n"],"names":["globalResolver","external","startsWith","slice","replace","_","$1","toUpperCase","skip","options","name","load","id","patterns","some","pattern","includes","test","commonOutputOptions","exports","interop","sourcemap","withMinify","output","entryFileNames","plugins","terser","JIEK_SILENT","JIEK_TARGET","JIEK_ROOT","process","env","ACCEPTED_TARGETS","targets","split","filter","Boolean","t","workspaceRoot","getWorkspaceDir","styled","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","length","Error","jiek","noBrowser","outdir","outputOptions","dir","namePrefix","exportsEntries","Object","fromEntries","entries","key","value","map","maxLengthEntry","Math","max","values","v","paddingEntry","padEnd","globalsRegister","globalsOutput","globals","dependencies","Set","resolveId","dep","RegExp","add","reduce","acc","createGlobalsLinkage","cwd","require","peerDependencies","optionalDependencies","keys","concat","externalResolver","commonOptions","commonPlugins","json","multiBars","MultiBar","clearOnComplete","hideCursor","format","Presets","shades_classic","progressState","forEach","target","type","bar","create","update","message","resolved","watchingProgress","isLast","defaultEntry","group","onProcessing","onProcessed","source","importer","writeBundle","bundle","fileName","watchProgress","e","esm","umd","every","setTimeout","stop","optionsMap","input","preserveModules","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","tsconfig","p","resolve","generateBundle","file","code","flatMap","optsGen","opts","Array","isArray"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "jiek",
|
3
|
-
"version": "0.4.
|
3
|
+
"version": "0.4.4",
|
4
4
|
"description": "YiJie's personal kits.",
|
5
5
|
"bin": {
|
6
6
|
"jiek": "bin/jiek.js",
|
@@ -46,7 +46,7 @@
|
|
46
46
|
"micromatch": "^4.0.5",
|
47
47
|
"rollup": "^4.1.5",
|
48
48
|
"rollup-plugin-copy": "^3.5.0",
|
49
|
-
"rollup-plugin-dts": "^6.1.
|
49
|
+
"@jiek/rollup-plugin-dts": "^6.1.1",
|
50
50
|
"rollup-plugin-esbuild": "^6.1.0",
|
51
51
|
"rollup-plugin-postcss": "^4.0.2",
|
52
52
|
"@jiek/pkger": "0.1.9",
|