jiek 0.4.5 → 0.4.7-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +22 -1
- package/bin/jiek.js +2 -1
- package/dist/cli.d.mts +97 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.d.ts +96 -1
- package/dist/cli.d.ts.map +1 -0
- package/dist/{cli.cjs → cli.js} +361 -226
- package/dist/cli.js.map +1 -0
- package/dist/cli.min.js +1 -0
- package/dist/cli.min.js.map +1 -0
- package/dist/cli.min.mjs +1 -0
- package/dist/cli.min.mjs.map +1 -0
- package/dist/cli.mjs +803 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/index.d.mts +58 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +47 -46
- package/dist/index.d.ts.map +1 -0
- package/dist/{index.cjs → index.js} +0 -1
- package/dist/index.js.map +1 -0
- package/dist/{index.min.cjs → index.min.js} +0 -1
- package/dist/index.min.js.map +1 -0
- package/dist/index.min.mjs +1 -0
- package/dist/index.min.mjs.map +1 -0
- package/dist/{index.esm.js → index.mjs} +0 -1
- package/dist/index.mjs.map +1 -0
- package/dist/rollup/index.d.mts +53 -0
- package/dist/rollup/index.d.mts.map +1 -0
- package/dist/rollup/index.d.ts +53 -0
- package/dist/rollup/index.d.ts.map +1 -0
- package/dist/rollup/index.js +553 -0
- package/dist/rollup/index.js.map +1 -0
- package/dist/rollup/index.min.js +1 -0
- package/dist/rollup/index.min.js.map +1 -0
- package/dist/rollup/index.min.mjs +1 -0
- package/dist/rollup/index.min.mjs.map +1 -0
- package/dist/rollup/index.mjs +551 -0
- package/dist/rollup/index.mjs.map +1 -0
- package/package.json +52 -35
- package/src/cli.ts +9 -0
- package/src/commands/base.ts +9 -0
- package/src/commands/build.ts +156 -0
- package/src/commands/init.ts +373 -0
- package/src/commands/publish.ts +156 -0
- package/src/index.ts +8 -0
- package/src/inner.ts +11 -0
- package/src/merge-package-json.ts +75 -0
- package/src/pkg.ts +1 -0
- package/src/rollup/base.ts +72 -0
- package/src/rollup/index.ts +420 -0
- package/src/rollup/plugins/globals.ts +34 -0
- package/src/rollup/plugins/progress.ts +26 -0
- package/src/rollup/plugins/skip.ts +23 -0
- package/src/rollup/utils/commonOptions.ts +9 -0
- package/src/rollup/utils/externalResolver.ts +21 -0
- package/src/rollup/utils/globalResolver.ts +13 -0
- package/src/rollup/utils/withMinify.ts +18 -0
- package/src/utils/filterSupport.ts +82 -0
- package/src/utils/getExports.ts +100 -0
- package/src/utils/getRoot.ts +16 -0
- package/src/utils/getWD.ts +31 -0
- package/src/utils/loadConfig.ts +93 -0
- package/src/utils/tsRegister.ts +22 -0
- package/dist/base.esm.d.ts +0 -55
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.esm.d.ts +0 -2
- package/dist/cli.esm.js +0 -9
- package/dist/cli.esm.js.map +0 -1
- package/dist/cli.esm.min.js +0 -2
- package/dist/cli.esm.min.js.map +0 -1
- package/dist/cli.min.cjs +0 -2
- package/dist/cli.min.cjs.map +0 -1
- package/dist/commands/base.esm.js +0 -5
- package/dist/commands/base.esm.js.map +0 -1
- package/dist/commands/base.esm.min.js +0 -2
- package/dist/commands/base.esm.min.js.map +0 -1
- package/dist/commands/build.esm.js +0 -58
- package/dist/commands/build.esm.js.map +0 -1
- package/dist/commands/build.esm.min.js +0 -2
- package/dist/commands/build.esm.min.js.map +0 -1
- package/dist/commands/init.esm.js +0 -271
- package/dist/commands/init.esm.js.map +0 -1
- package/dist/commands/init.esm.min.js +0 -2
- package/dist/commands/init.esm.min.js.map +0 -1
- package/dist/commands/publish.esm.js +0 -76
- package/dist/commands/publish.esm.js.map +0 -1
- package/dist/commands/publish.esm.min.js +0 -2
- package/dist/commands/publish.esm.min.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.esm.d.ts +0 -6
- package/dist/index.esm.js.map +0 -1
- package/dist/index.esm.min.js +0 -2
- package/dist/index.esm.min.js.map +0 -1
- package/dist/index.min.cjs.map +0 -1
- package/dist/inner.esm.js +0 -10
- package/dist/inner.esm.js.map +0 -1
- package/dist/inner.esm.min.js +0 -2
- package/dist/inner.esm.min.js.map +0 -1
- package/dist/merge-package-json.esm.js +0 -64
- package/dist/merge-package-json.esm.js.map +0 -1
- package/dist/merge-package-json.esm.min.js +0 -2
- package/dist/merge-package-json.esm.min.js.map +0 -1
- package/dist/pkg.esm.js +0 -4
- package/dist/pkg.esm.js.map +0 -1
- package/dist/pkg.esm.min.js +0 -2
- package/dist/pkg.esm.min.js.map +0 -1
- package/dist/rollup/plugins/globals.esm.js +0 -31
- package/dist/rollup/plugins/globals.esm.js.map +0 -1
- package/dist/rollup/plugins/globals.esm.min.js +0 -2
- package/dist/rollup/plugins/globals.esm.min.js.map +0 -1
- package/dist/rollup/plugins/skip.esm.js +0 -16
- package/dist/rollup/plugins/skip.esm.js.map +0 -1
- package/dist/rollup/plugins/skip.esm.min.js +0 -2
- package/dist/rollup/plugins/skip.esm.min.js.map +0 -1
- package/dist/rollup/utils/commonOptions.esm.js +0 -9
- package/dist/rollup/utils/commonOptions.esm.js.map +0 -1
- package/dist/rollup/utils/commonOptions.esm.min.js +0 -2
- package/dist/rollup/utils/commonOptions.esm.min.js.map +0 -1
- package/dist/rollup/utils/externalResolver.esm.js +0 -12
- package/dist/rollup/utils/externalResolver.esm.js.map +0 -1
- package/dist/rollup/utils/externalResolver.esm.min.js +0 -2
- package/dist/rollup/utils/externalResolver.esm.min.js.map +0 -1
- package/dist/rollup/utils/globalResolver.esm.js +0 -9
- package/dist/rollup/utils/globalResolver.esm.js.map +0 -1
- package/dist/rollup/utils/globalResolver.esm.min.js +0 -2
- package/dist/rollup/utils/globalResolver.esm.min.js.map +0 -1
- package/dist/rollup/utils/withMinify.esm.js +0 -15
- package/dist/rollup/utils/withMinify.esm.js.map +0 -1
- package/dist/rollup/utils/withMinify.esm.min.js +0 -2
- package/dist/rollup/utils/withMinify.esm.min.js.map +0 -1
- package/dist/rollup.cjs +0 -330
- package/dist/rollup.cjs.map +0 -1
- package/dist/rollup.d.ts +0 -23
- package/dist/rollup.esm.d.ts +0 -23
- package/dist/rollup.esm.js +0 -248
- package/dist/rollup.esm.js.map +0 -1
- package/dist/rollup.esm.min.js +0 -2
- package/dist/rollup.esm.min.js.map +0 -1
- package/dist/rollup.min.cjs +0 -2
- package/dist/rollup.min.cjs.map +0 -1
- package/dist/utils/commondir.esm.js +0 -25
- package/dist/utils/commondir.esm.js.map +0 -1
- package/dist/utils/commondir.esm.min.js +0 -2
- package/dist/utils/commondir.esm.min.js.map +0 -1
- package/dist/utils/filterSupport.esm.js +0 -67
- package/dist/utils/filterSupport.esm.js.map +0 -1
- package/dist/utils/filterSupport.esm.min.js +0 -2
- package/dist/utils/filterSupport.esm.min.js.map +0 -1
- package/dist/utils/getRoot.esm.js +0 -14
- package/dist/utils/getRoot.esm.js.map +0 -1
- package/dist/utils/getRoot.esm.min.js +0 -2
- package/dist/utils/getRoot.esm.min.js.map +0 -1
- package/dist/utils/getWD.esm.js +0 -31
- package/dist/utils/getWD.esm.js.map +0 -1
- package/dist/utils/getWD.esm.min.js +0 -2
- package/dist/utils/getWD.esm.min.js.map +0 -1
- package/dist/utils/loadConfig.esm.js +0 -75
- package/dist/utils/loadConfig.esm.js.map +0 -1
- package/dist/utils/loadConfig.esm.min.js +0 -2
- package/dist/utils/loadConfig.esm.min.js.map +0 -1
- package/dist/utils/tsRegister.esm.js +0 -24
- package/dist/utils/tsRegister.esm.js.map +0 -1
- package/dist/utils/tsRegister.esm.min.js +0 -2
- package/dist/utils/tsRegister.esm.min.js.map +0 -1
package/dist/cli.mjs.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"cli.mjs","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/tsRegister.ts","../src/utils/loadConfig.ts","../src/commands/build.ts","../src/commands/init.ts","../src/merge-package-json.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 { 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,\n 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,\n 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","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 fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\nimport type { Config } from 'jiek'\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(process.cwd(), `${configName}.${ext}`),\n path.resolve(process.cwd(), `.${configName}.${ext}`),\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(): Config {\n const { wd: root, notWorkspace } = getWD()\n if (notWorkspace) {\n throw new Error('not in workspace')\n }\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 }\n if (!path.isAbsolute(configPath)) {\n configPath = path.resolve(root, configPath)\n }\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')) as Config\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 '../rollup/base'\n\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { MultiBar, Presets } from 'cli-progress'\nimport { program } from 'commander'\nimport { execaCommand } from 'execa'\n\nimport { actionDone, actionRestore } from '../inner'\nimport type { RollupProgressEvent } from '../rollup/base'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { loadConfig } from '../utils/loadConfig'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => (`\nconst manifest = ${JSON.stringify(manifest, null, 2)}\nmodule.exports = require('jiek/rollup').template(manifest)\n`.trimStart())\n\nprogram\n .command('build')\n .option('-s, --silent', \"Don't display logs.\")\n .option('-e, --entries <ENTRIES>', \"Specify the entries of the package.json's 'exports' field.(support glob)\")\n .action(async ({\n silent,\n entries\n }: {\n silent: boolean\n entries: string\n }) => {\n actionRestore()\n const { build } = loadConfig()\n silent = silent ?? build?.silent ?? false\n const {\n wd,\n value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const wdNodeModules = path.resolve(wd, 'node_modules')\n if (!fs.existsSync(wdNodeModules)) {\n fs.mkdirSync(wdNodeModules)\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wdNodeModules, '.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) {\n fs.mkdirSync(jiekTempDir())\n }\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {status} | {input} | {message}'\n }, Presets.shades_classic)\n let i = 0\n await Promise.all(\n Object.entries(value).map(async ([dir, manifest]) => {\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(manifest))\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 const child = execaCommand(command, {\n ipc: true,\n cwd: dir,\n env: {\n ...process.env,\n JIEK_ROOT: wd,\n JIEK_ENTRIES: entries\n }\n })\n const bars: Record<string, ReturnType<typeof multiBars.create>> = {}\n let inputMaxLen = 10\n child.on('message', (e: RollupProgressEvent) => {\n if (e.type === 'debug') console.log(...(Array.isArray(e.data) ? e.data : [e.data]))\n })\n !silent && child.on('message', (e: RollupProgressEvent) => {\n if (e.type === 'init') {\n const { leafMap, targetsLength } = e.data\n const leafs = Array\n .from(leafMap.entries())\n .flatMap(([input, pathAndCondiions]) =>\n pathAndCondiions.map(([path, ...conditions]) => ({\n input,\n path,\n conditions\n }))\n )\n console.log(`Package '${manifest.name}' has ${targetsLength} targets to build`)\n leafs.forEach(({ input }) => {\n inputMaxLen = Math.max(inputMaxLen, input.length)\n })\n leafs.forEach(({ input, path }) => {\n const key = `${input}:${path}`\n if (bars[key]) return\n bars[key] = multiBars.create(50, 0, {\n input: input.padEnd(inputMaxLen),\n status: 'waiting'.padEnd(10)\n }, {\n barsize: 20,\n linewrap: true\n })\n })\n }\n if (e.type === 'progress') {\n const {\n path,\n tags,\n input,\n event,\n message\n } = e.data\n const bar = bars[`${input}:${path}`]\n if (!bar) return\n bar.update(\n {\n start: 0,\n resolve: 20,\n end: 50\n }[event ?? 'start'] ?? 0,\n {\n input: input.padEnd(inputMaxLen),\n status: event?.padEnd(10),\n message: `${tags?.join(', ')}: ${message}`\n }\n )\n }\n })\n await new Promise<void>((resolve, reject) => {\n let errorStr = ''\n child.stderr?.on('data', (data) => {\n errorStr += data\n })\n child.once('exit', (code) =>\n code === 0\n ? resolve()\n : reject(new Error(`rollup build failed:\\n${errorStr}`)))\n })\n })\n ).finally(() => {\n multiBars.stop()\n })\n\n actionDone()\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 type { Config, InitNamed } from 'jiek'\nimport { applyEdits, modify } from 'jsonc-parser'\nimport { isMatch } from 'micromatch'\n\nimport { getWD } from '../utils/getWD'\nimport { loadConfig } from '../utils/loadConfig'\n\ndeclare module 'jiek' {\n export type InitNamedFunction = (\n argument: string,\n paths: {\n full: string\n relative: string\n basename?: string\n }\n ) => [name?: string, path?: string]\n export type InitNamed =\n | InitNamedFunction\n | {\n [key: string]: string | InitNamedFunction\n }\n export interface Config {\n init?: {\n /**\n * the package.json template file path or file content\n *\n * if it can be parsed as json, it will be parsed\n * if it is a relative file path, it will be resolved to an absolute path based on the current working directory\n * if it is an absolute file path, it will be used directly\n * @default '.jiek.template.package.json'\n */\n template?: string\n /**\n * the readme content\n *\n * $name will be replaced with the package name\n * $license will be replaced with the license\n */\n readme?:\n | string\n | ((ctx: {\n dir: string\n packageJson: Record<string, any>\n }) => string)\n /**\n * the readme template file path\n * @default '.jiek.template.readme.md'\n */\n readmeTemplate?: string\n bug?: {\n /**\n * @default 'bug_report.yml'\n */\n template?: string\n /**\n * @default ['bug']\n */\n labels?:\n | string[]\n | ((ctx: {\n name: string\n dir: string\n }) => string[])\n }\n named?: InitNamed\n }\n }\n}\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,\n 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 {\n 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 }\n if (!matchedRule) {\n matchedKey = 'packages/*'\n matchedRule = `@${workspaceName}/$basename`\n }\n if (!matchedRule) {\n throw new Error('no matched rule')\n }\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',\n 'author'\n ]\n let newJSONString = templateString\n for (const field of passFields) {\n newJSONString = applyEdits(\n newJSONString,\n modify(\n newJSONString,\n [field],\n getWDPackageJSONFiled(wd, field),\n { formattingOptions }\n )\n )\n }\n let [pkgName, pkgDir] = await getName(named, name, {\n wd,\n 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(\n newJSONString,\n modify(\n newJSONString,\n ['repository'],\n pkgRepo,\n { formattingOptions }\n )\n )\n const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`\n newJSONString = applyEdits(\n newJSONString,\n modify(\n newJSONString,\n ['homepage'],\n homepage,\n { formattingOptions }\n )\n )\n let labels = resolvedBug.labels\n if (typeof labels === 'function') {\n labels = labels({\n name: pkgName,\n dir: pkgDir\n })\n }\n labels.push(`scope:${pkgName}`)\n const bugs = `${pkgRepo?.url}/issues/new?template=${resolvedBug.template}&labels=${labels.join(',')}`\n newJSONString = applyEdits(\n newJSONString,\n modify(\n newJSONString,\n ['bugs'],\n bugs,\n { formattingOptions }\n )\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 path from 'node:path'\n\nimport { type Options, pkger } from '@jiek/pkger'\nimport { commondir } from '@jiek/utils/commondir'\nimport type { Manifest } from '@pnpm/workspace.pkgs-graph'\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 * 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 if (key !== 'exports') {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', key], value, { formattingOptions }\n ))\n } else {\n for (const [k, v] of Object.entries(value)) {\n newJSONString = applyEdits(newJSONString, modify(\n newJSONString, ['publishConfig', 'exports', k], v, { formattingOptions }\n ))\n }\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":["path","name","value"],"mappings":"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"}
|
package/dist/index.d.mts
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
declare module 'jiek' {
|
2
|
+
type InitNamedFunction = (argument: string, paths: {
|
3
|
+
full: string;
|
4
|
+
relative: string;
|
5
|
+
basename?: string;
|
6
|
+
}) => [name?: string, path?: string];
|
7
|
+
type InitNamed = InitNamedFunction | {
|
8
|
+
[key: string]: string | InitNamedFunction;
|
9
|
+
};
|
10
|
+
interface Config {
|
11
|
+
init?: {
|
12
|
+
/**
|
13
|
+
* the package.json template file path or file content
|
14
|
+
*
|
15
|
+
* if it can be parsed as json, it will be parsed
|
16
|
+
* if it is a relative file path, it will be resolved to an absolute path based on the current working directory
|
17
|
+
* if it is an absolute file path, it will be used directly
|
18
|
+
* @default '.jiek.template.package.json'
|
19
|
+
*/
|
20
|
+
template?: string;
|
21
|
+
/**
|
22
|
+
* the readme content
|
23
|
+
*
|
24
|
+
* $name will be replaced with the package name
|
25
|
+
* $license will be replaced with the license
|
26
|
+
*/
|
27
|
+
readme?: string | ((ctx: {
|
28
|
+
dir: string;
|
29
|
+
packageJson: Record<string, any>;
|
30
|
+
}) => string);
|
31
|
+
/**
|
32
|
+
* the readme template file path
|
33
|
+
* @default '.jiek.template.readme.md'
|
34
|
+
*/
|
35
|
+
readmeTemplate?: string;
|
36
|
+
bug?: {
|
37
|
+
/**
|
38
|
+
* @default 'bug_report.yml'
|
39
|
+
*/
|
40
|
+
template?: string;
|
41
|
+
/**
|
42
|
+
* @default ['bug']
|
43
|
+
*/
|
44
|
+
labels?: string[] | ((ctx: {
|
45
|
+
name: string;
|
46
|
+
dir: string;
|
47
|
+
}) => string[]);
|
48
|
+
};
|
49
|
+
named?: InitNamed;
|
50
|
+
};
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
interface Config {
|
55
|
+
}
|
56
|
+
declare const defineConfig: (config: Config) => Config;
|
57
|
+
|
58
|
+
export { type Config, defineConfig };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.mts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
@@ -1,57 +1,58 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
interface Config {
|
13
|
-
init?: {
|
14
|
-
/**
|
15
|
-
* the package.json template file path or file content
|
16
|
-
*
|
17
|
-
* if it can be parsed as json, it will be parsed
|
18
|
-
* if it is a relative file path, it will be resolved to an absolute path based on the current working directory
|
19
|
-
* if it is an absolute file path, it will be used directly
|
20
|
-
* @default '.jiek.template.package.json'
|
21
|
-
*/
|
22
|
-
template?: string;
|
23
|
-
/**
|
24
|
-
* the readme content
|
25
|
-
*
|
26
|
-
* $name will be replaced with the package name
|
27
|
-
* $license will be replaced with the license
|
28
|
-
*/
|
29
|
-
readme?: string | ((ctx: {
|
30
|
-
dir: string;
|
31
|
-
packageJson: Record<string, any>;
|
32
|
-
}) => string);
|
33
|
-
/**
|
34
|
-
* the readme template file path
|
35
|
-
* @default '.jiek.template.readme.md'
|
36
|
-
*/
|
37
|
-
readmeTemplate?: string;
|
38
|
-
bug?: {
|
1
|
+
declare module 'jiek' {
|
2
|
+
type InitNamedFunction = (argument: string, paths: {
|
3
|
+
full: string;
|
4
|
+
relative: string;
|
5
|
+
basename?: string;
|
6
|
+
}) => [name?: string, path?: string];
|
7
|
+
type InitNamed = InitNamedFunction | {
|
8
|
+
[key: string]: string | InitNamedFunction;
|
9
|
+
};
|
10
|
+
interface Config {
|
11
|
+
init?: {
|
39
12
|
/**
|
40
|
-
*
|
13
|
+
* the package.json template file path or file content
|
14
|
+
*
|
15
|
+
* if it can be parsed as json, it will be parsed
|
16
|
+
* if it is a relative file path, it will be resolved to an absolute path based on the current working directory
|
17
|
+
* if it is an absolute file path, it will be used directly
|
18
|
+
* @default '.jiek.template.package.json'
|
41
19
|
*/
|
42
20
|
template?: string;
|
43
21
|
/**
|
44
|
-
*
|
22
|
+
* the readme content
|
23
|
+
*
|
24
|
+
* $name will be replaced with the package name
|
25
|
+
* $license will be replaced with the license
|
45
26
|
*/
|
46
|
-
|
47
|
-
name: string;
|
27
|
+
readme?: string | ((ctx: {
|
48
28
|
dir: string;
|
49
|
-
|
29
|
+
packageJson: Record<string, any>;
|
30
|
+
}) => string);
|
31
|
+
/**
|
32
|
+
* the readme template file path
|
33
|
+
* @default '.jiek.template.readme.md'
|
34
|
+
*/
|
35
|
+
readmeTemplate?: string;
|
36
|
+
bug?: {
|
37
|
+
/**
|
38
|
+
* @default 'bug_report.yml'
|
39
|
+
*/
|
40
|
+
template?: string;
|
41
|
+
/**
|
42
|
+
* @default ['bug']
|
43
|
+
*/
|
44
|
+
labels?: string[] | ((ctx: {
|
45
|
+
name: string;
|
46
|
+
dir: string;
|
47
|
+
}) => string[]);
|
48
|
+
};
|
49
|
+
named?: InitNamed;
|
50
50
|
};
|
51
|
-
|
52
|
-
};
|
51
|
+
}
|
53
52
|
}
|
54
53
|
|
54
|
+
interface Config {
|
55
|
+
}
|
55
56
|
declare const defineConfig: (config: Config) => Config;
|
56
57
|
|
57
|
-
export { type Config,
|
58
|
+
export { type Config, defineConfig };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type {} from './commands/base'\nimport type {} from './commands/build'\nimport type {} from './commands/init'\nimport type {} from './commands/publish'\n\nexport interface Config {}\n\nexport const defineConfig = (config: Config) => config\n"],"names":[],"mappings":";;AAOa,MAAA,YAAA,GAAe,CAAC,MAAmB,KAAA;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":["../src/index.ts"],"sourcesContent":["import type {} from './commands/base'\nimport type {} from './commands/build'\nimport type {} from './commands/init'\nimport type {} from './commands/publish'\n\nexport interface Config {}\n\nexport const defineConfig = (config: Config) => config\n"],"names":["config"],"mappings":"kCAO6BA,GAAmBA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
const o=o=>o;export{o as defineConfig};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.min.mjs","sources":["../src/index.ts"],"sourcesContent":["import type {} from './commands/base'\nimport type {} from './commands/build'\nimport type {} from './commands/init'\nimport type {} from './commands/publish'\n\nexport interface Config {}\n\nexport const defineConfig = (config: Config) => config\n"],"names":["defineConfig","config"],"mappings":"AAOa,MAAAA,EAAgBC,GAAmBA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import type {} from './commands/base'\nimport type {} from './commands/build'\nimport type {} from './commands/init'\nimport type {} from './commands/publish'\n\nexport interface Config {}\n\nexport const defineConfig = (config: Config) => config\n"],"names":[],"mappings":"AAOa,MAAA,YAAA,GAAe,CAAC,MAAmB,KAAA;;;;"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { OutputOptions, RollupOptions } from 'rollup';
|
2
|
+
|
3
|
+
type Mapping2ROO<K extends keyof OutputOptions> = OutputOptions[K] | {
|
4
|
+
js?: OutputOptions[K];
|
5
|
+
dts?: OutputOptions[K];
|
6
|
+
};
|
7
|
+
interface TemplateOptions {
|
8
|
+
/**
|
9
|
+
* When the user configures type: module, the generated output from entry points that don't
|
10
|
+
* have cts as a suffix will automatically include the CJS version.
|
11
|
+
* if it is not configured, and the generated output from entry points that do not have mts
|
12
|
+
* as a suffix will automatically include the ESM version.
|
13
|
+
*
|
14
|
+
* @default true
|
15
|
+
*/
|
16
|
+
crossModuleConvertor?: boolean;
|
17
|
+
output?: {
|
18
|
+
/**
|
19
|
+
* @default true
|
20
|
+
*
|
21
|
+
* When minify is set to true, the output will with minified files.
|
22
|
+
* When minify is set to 'only-minify', the output will direct output minified files.
|
23
|
+
*/
|
24
|
+
minify?: boolean | 'only-minify';
|
25
|
+
/**
|
26
|
+
* @default 'dist'
|
27
|
+
*/
|
28
|
+
dir?: Mapping2ROO<'dir'>;
|
29
|
+
sourcemap?: Mapping2ROO<'sourcemap'>;
|
30
|
+
strict?: Mapping2ROO<'strict'>;
|
31
|
+
};
|
32
|
+
}
|
33
|
+
declare module 'jiek' {
|
34
|
+
interface Config {
|
35
|
+
build?: TemplateOptions & {
|
36
|
+
/**
|
37
|
+
* Whether to run in silent mode, only active when configured in the workspace root or cwd.
|
38
|
+
*
|
39
|
+
* @default false
|
40
|
+
*/
|
41
|
+
silent?: boolean;
|
42
|
+
};
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
interface PackageJSON {
|
47
|
+
name?: string;
|
48
|
+
type?: string;
|
49
|
+
exports?: Record<string, unknown> | string | string[];
|
50
|
+
}
|
51
|
+
declare function template(packageJSON: PackageJSON): RollupOptions[];
|
52
|
+
|
53
|
+
export { template };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.mts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { OutputOptions, RollupOptions } from 'rollup';
|
2
|
+
|
3
|
+
type Mapping2ROO<K extends keyof OutputOptions> = OutputOptions[K] | {
|
4
|
+
js?: OutputOptions[K];
|
5
|
+
dts?: OutputOptions[K];
|
6
|
+
};
|
7
|
+
interface TemplateOptions {
|
8
|
+
/**
|
9
|
+
* When the user configures type: module, the generated output from entry points that don't
|
10
|
+
* have cts as a suffix will automatically include the CJS version.
|
11
|
+
* if it is not configured, and the generated output from entry points that do not have mts
|
12
|
+
* as a suffix will automatically include the ESM version.
|
13
|
+
*
|
14
|
+
* @default true
|
15
|
+
*/
|
16
|
+
crossModuleConvertor?: boolean;
|
17
|
+
output?: {
|
18
|
+
/**
|
19
|
+
* @default true
|
20
|
+
*
|
21
|
+
* When minify is set to true, the output will with minified files.
|
22
|
+
* When minify is set to 'only-minify', the output will direct output minified files.
|
23
|
+
*/
|
24
|
+
minify?: boolean | 'only-minify';
|
25
|
+
/**
|
26
|
+
* @default 'dist'
|
27
|
+
*/
|
28
|
+
dir?: Mapping2ROO<'dir'>;
|
29
|
+
sourcemap?: Mapping2ROO<'sourcemap'>;
|
30
|
+
strict?: Mapping2ROO<'strict'>;
|
31
|
+
};
|
32
|
+
}
|
33
|
+
declare module 'jiek' {
|
34
|
+
interface Config {
|
35
|
+
build?: TemplateOptions & {
|
36
|
+
/**
|
37
|
+
* Whether to run in silent mode, only active when configured in the workspace root or cwd.
|
38
|
+
*
|
39
|
+
* @default false
|
40
|
+
*/
|
41
|
+
silent?: boolean;
|
42
|
+
};
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
interface PackageJSON {
|
47
|
+
name?: string;
|
48
|
+
type?: string;
|
49
|
+
exports?: Record<string, unknown> | string | string[];
|
50
|
+
}
|
51
|
+
declare function template(packageJSON: PackageJSON): RollupOptions[];
|
52
|
+
|
53
|
+
export { template };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|