jiek 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/cli.cjs.js +668 -0
- package/dist/cli.cjs.js.map +1 -0
- package/dist/cli.cjs.min.js +2 -0
- package/dist/{cli.umd.min.js.map → cli.cjs.min.js.map} +1 -1
- package/dist/commands/publish.esm.js +1 -1
- package/dist/commands/publish.esm.js.map +1 -1
- package/dist/commands/publish.esm.min.js +1 -1
- package/dist/commands/publish.esm.min.js.map +1 -1
- package/dist/index.cjs.js +6 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.cjs.min.js +2 -0
- package/dist/index.cjs.min.js.map +1 -0
- package/dist/rollup/utils/externalResolver.esm.js +5 -3
- package/dist/rollup/utils/externalResolver.esm.js.map +1 -1
- package/dist/rollup/utils/externalResolver.esm.min.js +1 -1
- package/dist/rollup/utils/externalResolver.esm.min.js.map +1 -1
- package/dist/rollup/utils/globalResolver.esm.js +3 -20
- package/dist/rollup/utils/globalResolver.esm.js.map +1 -1
- package/dist/rollup/utils/globalResolver.esm.min.js +1 -1
- package/dist/rollup/utils/globalResolver.esm.min.js.map +1 -1
- package/dist/rollup.cjs.js +227 -0
- package/dist/rollup.cjs.js.map +1 -0
- package/dist/rollup.cjs.min.js +2 -0
- package/dist/rollup.cjs.min.js.map +1 -0
- package/dist/rollup.d.ts +3 -0
- package/dist/rollup.esm.d.ts +3 -0
- package/dist/rollup.esm.js +11 -1
- 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/package.json +6 -2
- package/dist/cli.iife.js +0 -658
- package/dist/cli.iife.js.map +0 -1
- package/dist/cli.iife.min.js +0 -2
- package/dist/cli.iife.min.js.map +0 -1
- package/dist/cli.umd.js +0 -661
- package/dist/cli.umd.js.map +0 -1
- package/dist/cli.umd.min.js +0 -2
- package/dist/index.iife.js +0 -11
- package/dist/index.iife.js.map +0 -1
- package/dist/index.iife.min.js +0 -2
- package/dist/index.iife.min.js.map +0 -1
- package/dist/index.umd.js +0 -12
- package/dist/index.umd.js.map +0 -1
- package/dist/index.umd.min.js +0 -2
- package/dist/index.umd.min.js.map +0 -1
- package/dist/rollup.iife.js +0 -228
- package/dist/rollup.iife.js.map +0 -1
- package/dist/rollup.iife.min.js +0 -2
- package/dist/rollup.iife.min.js.map +0 -1
- package/dist/rollup.umd.js +0 -229
- package/dist/rollup.umd.js.map +0 -1
- package/dist/rollup.umd.min.js +0 -2
- package/dist/rollup.umd.min.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"cli.cjs.js","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.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 : process.cwd()\n return root\n}\n","import { getWorkspaceDir } 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 try {\n wd = getWorkspaceDir(root, type)\n } catch (e) {\n // @ts-ignore\n if ('message' in e && e.message === 'workspace root not found') {\n wd = root\n notWorkspace = true\n } else {\n throw e\n }\n }\n 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","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) {\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\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 const 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 (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 .action(async () => {\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)\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} -c ${configFile}`, {\n cwd: dir, stdio: 'inherit'\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/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst pkg = require('../package.json')\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\nprogram.parse(process.argv)\n"],"names":["program","path","getWorkspaceDir","fs","load","filterPackagesFromDir","pkger","childProcess","inquirer","isMatch","name","detectIndent","applyEdits","modify","bumper","value","bump"],"mappings":"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"}
|
@@ -0,0 +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):process.cwd(),b}let S=!1;function $(){if(j)return{wd:j,notWorkspace:S};const e=v();try{j=a.getWorkspaceDir(e,q)}catch(t){if(!("message"in t)||"workspace root not found"!==t.message)throw t;j=e,S=!0}return{wd:j,notWorkspace:S}}let E,O,q="";try{require.resolve("@pnpm/filter-workspace-packages"),q="pnpm"}catch{}async function x(){let e=n.program.getOptionValue("filter");const t=v(),{wd:a,notWorkspace:i}=$();if(!i&&"pnpm"===q){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"))}}}function F(){E()}function _(){new Promise((e=>E=e))}function A(e,t){const{jiek:{cwd:r,...n}={}}=e;let{exports:o}=e,a=!1;"string"==typeof o&&(a=!0,o={".":o}),void 0===o&&(o={".":"./src/index.ts"}),"object"==typeof o&&(a=!!(Array.isArray(o)&&o.length>0)||!!o["."]);const i=Array.isArray(o)?o:Object.entries(o).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(0===i.length)throw new Error("No inputs found");const l=i.map((e=>y.default.isAbsolute(e)?e:y.default.resolve(t,e)));let c=y.default.dirname(l[0]);l.length>1&&(c=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}(l,t));const p=l.map((e=>y.default.relative(c,e)));return{...e,...s.pkger({cwd:t,noIndex:!a,source:y.default.relative(t,c),inputs:p,...n})}}function J(e){try{return require.resolve(e),!0}catch(e){return!1}}""!==q&&n.program.option("-f, --filter <filter>","filter packages");const N=[process.env.JIEK_TS_REGISTER,"esbuild-register","@swc-node/register","ts-node/register"].filter(Boolean);for(const e of N)if(J(e)){O=e;break}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();n.program.command("build").action((async()=>{_();const{wd:e,value:t={}}=await x()??{};if(0===Object.keys(t).length)throw new Error("no package found");const r=(...t)=>y.default.resolve(e,"node_modules/.jiek",...t);g.default.existsSync(r())||g.default.mkdirSync(r());const n=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let o=0;for(const[e,a]of Object.entries(t)){const t=A(a,e),i=a.name?.replace(/^@/g,"").replace(/\//g,"+"),s=r(`${i??"anonymous-"+o++}.rollup.config.js`);g.default.writeFileSync(s,P(t));let l="";O&&(l=`node -r ${O} `),w.execSync(`${l}${n} -c ${s}`,{cwd:e,stdio:"inherit"})}F()}));let D="jiek.config";function M(){const{wd:e,notWorkspace:t}=$();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=!!O;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(O){require(O),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 W='{\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(),I="# $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 R=new Map;function T(e,t){if(R.has(e))return R.get(e)[t];const r=y.default.resolve(e,"package.json"),n=JSON.parse(g.default.readFileSync(r,"utf-8"));return R.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={}}=M()??{},{wd:o}=$(),a=y.default.basename(o),{named:i,template:s,bug:l={},readme:c=I,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??W,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],T(o,e),{formattingOptions:j}));let[E,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(!E){const{name:t}=await h.default.prompt({type:"input",name:"name",message:"package name",default:e});E=t}S=p.applyEdits(S,p.modify(S,["name"],E,{formattingOptions:j}));let q=T(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 F=d.labels;"function"==typeof F&&(F=F({name:E,dir:O})),F.push(`scope:${E}`);const _=`${q?.url}/issues/new?template=${d.template}&labels=${F.join(",")}`;function A(e){if(!O)throw new Error("pkgDir is not defined");return y.default.resolve(O,e)}S=p.applyEdits(S,p.modify(S,["bugs"],_,{formattingOptions:j})),g.default.existsSync(O)||g.default.mkdirSync(O);const J=A("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 N=T(o,"license"),P=A("README.md");"function"==typeof m&&(m=m({dir:O,packageJson:JSON.parse(S)}));const D=m.replace(/\$name/g,E).replace(/\$license/g,N);g.default.writeFileSync(P,D)})),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})=>{_();const{value:n={}}=await x()??{},o=Object.entries(n);if(0===o.length)throw new Error("no packages selected");const a=o.map((([e,t])=>[e,A(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"))}}F()}));const z=require("../package.json");n.program.version(z.version).description(z.description).option("--root <root>","root path").option("-c, --config-path <configPath>","config path"),n.program.parse(process.argv);
|
2
|
+
//# sourceMappingURL=cli.cjs.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.umd.min.js","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/inner.ts","../src/utils/tsRegister.ts","../src/merge-package-json.ts","../src/utils/commondir.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 : process.cwd()\n return root\n}\n","import { getWorkspaceDir } 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 try {\n wd = getWorkspaceDir(root, type)\n } catch (e) {\n // @ts-ignore\n if ('message' in e && e.message === 'workspace root not found') {\n wd = root\n notWorkspace = true\n } else {\n throw e\n }\n }\n 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","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) {\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\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 const 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 (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 * 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 .action(async () => {\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)\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} -c ${configFile}`, {\n cwd: dir, stdio: 'inherit'\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 fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport * as childProcess from 'child_process'\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/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst pkg = require('../package.json')\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\nprogram.parse(process.argv)\n"],"names":["root","wd","getRoot","rootOption","program","getOptionValue","path","default","isAbsolute","resolve","process","cwd","notWorkspace","getWD","getWorkspaceDir","type","e","message","tsRegisterName","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","actionDone","actionRestore","Promise","r","mergePackageJson","jiek","_","exports","includeIndex","Array","isArray","length","inputs","concat","TypeError","absoluteInputs","map","input","cDir","dirname","files","resolvedFiles","file","first","parts","split","common","i","segment","every","startsWith","commondir","resolvedInputs","relative","pkger","noIndex","source","packageIsExist","option","registers","env","JIEK_TS_REGISTER","Boolean","register","FILE_TEMPLATE","stringify","trimStart","commander","command","action","keys","jiekTempDir","paths","mkdirSync","rollupBinaryPath","replace","dir","newManifest","escapeManifestName","configFile","writeFileSync","childProcess","execSync","stdio","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","options","selectedProjectsGraphEntries","mainfests","passArgs","oldJSONString","oldJSON","newVersion","bump","version","renameSync","warn","modifyVersionPackageJSON","unlinkSync","pkg","description","argv"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"cli.cjs.min.js","sources":["../src/utils/getRoot.ts","../src/utils/getWD.ts","../src/utils/filterSupport.ts","../src/inner.ts","../src/utils/tsRegister.ts","../src/merge-package-json.ts","../src/utils/commondir.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 : process.cwd()\n return root\n}\n","import { getWorkspaceDir } 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 try {\n wd = getWorkspaceDir(root, type)\n } catch (e) {\n // @ts-ignore\n if ('message' in e && e.message === 'workspace root not found') {\n wd = root\n notWorkspace = true\n } else {\n throw e\n }\n }\n 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","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) {\n const {\n jiek: { cwd: _, ...jiek } = {}\n } = manifest\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 const 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 (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 * 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 .action(async () => {\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)\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} -c ${configFile}`, {\n cwd: dir, stdio: 'inherit'\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/build'\nimport './commands/init'\nimport './commands/publish'\n\nimport { program } from 'commander'\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst pkg = require('../package.json')\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\nprogram.parse(process.argv)\n"],"names":["root","wd","getRoot","rootOption","program","getOptionValue","path","default","isAbsolute","resolve","process","cwd","notWorkspace","getWD","getWorkspaceDir","type","e","message","tsRegisterName","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","actionDone","actionRestore","Promise","r","mergePackageJson","jiek","_","exports","includeIndex","Array","isArray","length","inputs","concat","TypeError","absoluteInputs","map","input","cDir","dirname","files","resolvedFiles","file","first","parts","split","common","i","segment","every","startsWith","commondir","resolvedInputs","relative","pkger","noIndex","source","packageIsExist","option","registers","env","JIEK_TS_REGISTER","Boolean","register","FILE_TEMPLATE","stringify","trimStart","command","action","keys","jiekTempDir","paths","mkdirSync","rollupBinaryPath","replace","dir","newManifest","escapeManifestName","configFile","writeFileSync","childProcess","execSync","stdio","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","options","selectedProjectsGraphEntries","mainfests","passArgs","oldJSONString","oldJSON","newVersion","bump","version","renameSync","warn","modifyVersionPackageJSON","unlinkSync","pkg","description","argv"],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
+
import * as childProcess from 'node:child_process';
|
1
2
|
import fs from 'node:fs';
|
2
3
|
import path from 'node:path';
|
3
4
|
import { bump } from '@jiek/utils/bumper';
|
4
|
-
import * as childProcess from 'child_process';
|
5
5
|
import { program } from 'commander';
|
6
6
|
import detectIndent from 'detect-indent';
|
7
7
|
import { applyEdits, modify } from 'jsonc-parser';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"publish.esm.js","sources":["../../src/commands/publish.ts"],"sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport
|
1
|
+
{"version":3,"file":"publish.esm.js","sources":["../../src/commands/publish.ts"],"sourcesContent":["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"],"names":["value"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import e from"node:
|
1
|
+
import*as e from"node:child_process";import n from"node:fs";import o from"node:path";import{bump as i}from"@jiek/utils/bumper";import{program as r}from"commander";import s from"detect-indent";import{applyEdits as t,modify as p}from"jsonc-parser";import{actionRestore as a,actionDone as c}from"../inner.esm.min.js";import{mergePackageJson as m}from"../merge-package-json.esm.min.js";import{getSelectedProjectsGraph as j}from"../utils/filterSupport.esm.min.js";r.command("publish").aliases(["pub","p"]).option("-b, --bumper <bumper>","bump version","patch").option("-p, --preview","preview publish").action((async({preview:r,bumper:f,...l})=>{a();const{value:g={}}=await j()??{},u=Object.entries(g);if(0===u.length)throw new Error("no packages selected");const b=u.map((([e,n])=>[e,m(n,e)])),k=Object.entries(l).reduce(((e,[n,o])=>(o&&e.push(`--${n}`,o),e)),[]);for(const[a,c]of b){const m=n.readFileSync(o.join(a,"package.json"),"utf-8"),j=JSON.parse(m)??"0.0.0",l=i(j.version,f),{indent:g=" "}=s(m),u={tabSize:g.length,insertSpaces:!0};let b=m;b=t(b,p(b,["version"],l,{formattingOptions:u}));for(const[e,n]of Object.entries(c))JSON.stringify(n)!==JSON.stringify(j[e])&&(b=t(b,p(b,["publishConfig",e],n,{formattingOptions:u})));try{if(n.renameSync(o.join(a,"package.json"),o.join(a,"package.json.bak")),n.writeFileSync(o.join(a,"package.json"),b),console.log(b),r){console.warn("preview mode");continue}e.execSync(["pnpm","publish","--access","public","--no-git-checks",...k].join(" "),{cwd:a,stdio:"inherit"});const i=t(m,p(m,["version"],l,{}));n.writeFileSync(o.join(a,"package.json.bak"),i)}finally{n.unlinkSync(o.join(a,"package.json")),n.renameSync(o.join(a,"package.json.bak"),o.join(a,"package.json"))}}c()}));
|
2
2
|
//# sourceMappingURL=publish.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"publish.esm.min.js","sources":["../../src/commands/publish.ts"],"sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nimport { bump, type BumperType } from '@jiek/utils/bumper'\nimport
|
1
|
+
{"version":3,"file":"publish.esm.min.js","sources":["../../src/commands/publish.ts"],"sourcesContent":["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"],"names":["program","command","aliases","option","action","async","preview","bumper","options","actionRestore","value","getSelectedProjectsGraph","selectedProjectsGraphEntries","Object","entries","length","Error","mainfests","map","dir","manifest","mergePackageJson","passArgs","reduce","acc","key","push","oldJSONString","fs","readFileSync","path","join","oldJSON","JSON","parse","newVersion","bump","version","indent","detectIndent","formattingOptions","tabSize","insertSpaces","newJSONString","applyEdits","modify","stringify","renameSync","writeFileSync","console","log","warn","childProcess","execSync","cwd","stdio","modifyVersionPackageJSON","unlinkSync","actionDone"],"mappings":"2cAaAA,EACGC,QAAQ,WACRC,QAAQ,CAAC,MAAO,MAChBC,OAAO,wBAAyB,eAAgB,SAChDA,OAAO,gBAAiB,mBACxBC,QAAOC,OAASC,UAASC,YAAWC,MAIrBC,IAER,MAAAC,MAAEA,EAAQ,CAAC,SAAYC,KAA8B,CAAA,EACrDC,EAA+BC,OAAOC,QAAQJ,GAChD,GAAwC,IAAxCE,EAA6BG,OACzB,MAAA,IAAIC,MAAM,wBAElB,MAAMC,EAAYL,EACfM,KAAI,EAAEC,EAAKC,KAAc,CACxBD,EAAKE,EAAiBD,EAAUD,MAE9BG,EAAWT,OACdC,QAAQN,GACRe,QAAO,CAACC,GAAMC,EAAKf,MACdA,GACFc,EAAIE,KAAK,KAAKD,IAAOf,GAEhBc,IACN,IACL,IAAA,MAAYL,EAAKC,KAAaH,EAAW,CACjC,MAAAU,EAAgBC,EAAGC,aAAaC,EAAKC,KAAKZ,EAAK,gBAAiB,SAChEa,EAAUC,KAAKC,MAAMP,IAAkB,QACvCQ,EAAaC,EAAKJ,EAAQK,QAAS9B,IAEnC+B,OAAEA,EAAS,QAAWC,EAAaZ,GACnCa,EAAoB,CACxBC,QAASH,EAAOvB,OAChB2B,cAAc,GAEhB,IAAIC,EAAgBhB,EACpBgB,EAAgBC,EAAWD,EAAeE,EACxCF,EAAe,CAAC,WAAYR,EAAY,CAAEK,uBAE5C,IAAA,MAAYf,EAAKf,KAAUG,OAAOC,QAAQM,GACpCa,KAAKa,UAAUpC,KAAWuB,KAAKa,UAAUd,EAAQP,MAErDkB,EAAgBC,EAAWD,EAAeE,EACxCF,EAAe,CAAC,gBAAiBlB,GAAMf,EAAO,CAAE8B,wBAGhD,IAIF,GAHGZ,EAAAmB,WAAWjB,EAAKC,KAAKZ,EAAK,gBAAiBW,EAAKC,KAAKZ,EAAK,qBAC7DS,EAAGoB,cAAclB,EAAKC,KAAKZ,EAAK,gBAAiBwB,GACjDM,QAAQC,IAAIP,GACRrC,EAAS,CACX2C,QAAQE,KAAK,gBACb,QACF,CACAC,EAAaC,SAAS,CAAC,OAAQ,UAAW,WAAY,SAAU,qBAAsB/B,GAAUS,KAAK,KAAM,CACzGuB,IAAKnC,EACLoC,MAAO,YAEH,MAAAC,EAA2BZ,EAAWjB,EAAekB,EAAOlB,EAAe,CAAC,WAAYQ,EAAY,CAAE,IAC5GP,EAAGoB,cAAclB,EAAKC,KAAKZ,EAAK,oBAAqBqC,EAAwB,CAC7E,QACA5B,EAAG6B,WAAW3B,EAAKC,KAAKZ,EAAK,iBAC1BS,EAAAmB,WAAWjB,EAAKC,KAAKZ,EAAK,oBAAqBW,EAAKC,KAAKZ,EAAK,gBACnE,CACF,CACWuC,GAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import type { Config } from './base'\n\nexport const defineConfig = (config: Config) => config\n\nexport * from './base'\n"],"names":[],"mappings":";;AAEa,MAAA,YAAA,GAAe,CAAC,MAAmB,KAAA;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.cjs.min.js","sources":["../src/index.ts"],"sourcesContent":["import type { Config } from './base'\n\nexport const defineConfig = (config: Config) => config\n\nexport * from './base'\n"],"names":["config"],"mappings":"kCAE6BA,GAAmBA"}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
function externalResolver() {
|
2
2
|
const cwd = process.cwd();
|
3
3
|
const pkg = require(`${cwd}/package.json`);
|
4
|
-
const { dependencies = {}, peerDependencies = {} } = pkg;
|
5
|
-
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies));
|
6
|
-
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`))
|
4
|
+
const { dependencies = {}, peerDependencies = {}, optionalDependencies = {} } = pkg;
|
5
|
+
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies)).concat(Object.keys(optionalDependencies));
|
6
|
+
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`)).concat([
|
7
|
+
/^node:/
|
8
|
+
]);
|
7
9
|
}
|
8
10
|
|
9
11
|
export { externalResolver as default };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"externalResolver.esm.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":[],"mappings":"AAA2B,yBAAA,GAAA;AACzB,EAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,EAAA,CAAA;AAExB,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,CAAG,EAAA,GAAG,CAAe,aAAA,CAAA,CAAA,CAAA;AACzC,
|
1
|
+
{"version":3,"file":"externalResolver.esm.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {}, 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":[],"mappings":"AAA2B,yBAAA,GAAA;AACzB,EAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,EAAA,CAAA;AAExB,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,CAAG,EAAA,GAAG,CAAe,aAAA,CAAA,CAAA,CAAA;AACzC,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;;;;"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
function e(){const e=process.cwd(),c=require(`${e}/package.json`),{dependencies:n={},peerDependencies:
|
1
|
+
function e(){const e=process.cwd(),c=require(`${e}/package.json`),{dependencies:n={},peerDependencies:t={},optionalDependencies:o={}}=c;return Object.keys(n).concat(Object.keys(t)).concat(Object.keys(o)).map((e=>new RegExp(`^${e}(/.*)?$`))).concat([/^node:/])}export{e as default};
|
2
2
|
//# sourceMappingURL=externalResolver.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"externalResolver.esm.min.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n}\n"],"names":["externalResolver","cwd","process","pkg","require","dependencies","peerDependencies","Object","keys","concat","map","dep","RegExp"],"mappings":"AAA2B,SAAAA,IACnB,MAAAC,EAAMC,QAAQD,MAEdE,EAAMC,QAAQ,GAAGH,mBACjBI,aAAEA,EAAe,
|
1
|
+
{"version":3,"file":"externalResolver.esm.min.js","sources":["../../../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {}, 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":["externalResolver","cwd","process","pkg","require","dependencies","peerDependencies","optionalDependencies","Object","keys","concat","map","dep","RegExp"],"mappings":"AAA2B,SAAAA,IACnB,MAAAC,EAAMC,QAAQD,MAEdE,EAAMC,QAAQ,GAAGH,mBACjBI,aAAEA,EAAe,CAAA,EAAIC,iBAAAA,EAAmB,CAAI,EAAAC,qBAAAA,EAAuB,CAAA,GAAOJ,EAKzE,OAJ+BK,OACnCC,KAAKJ,GACLK,OAAOF,OAAOC,KAAKH,IACnBI,OAAOF,OAAOC,KAAKF,IAEnBI,KAAIC,GAAO,IAAIC,OAAO,IAAID,cAC1BF,OAAO,CACN,UAEN"}
|
@@ -1,25 +1,8 @@
|
|
1
1
|
function globalResolver(external) {
|
2
|
-
if (external.startsWith("
|
3
|
-
return external.
|
2
|
+
if (external.startsWith("node:")) {
|
3
|
+
return external.slice(5);
|
4
4
|
}
|
5
|
-
return
|
6
|
-
react: "React",
|
7
|
-
// TODO `react/jsx-runtime` is not supported `umd`
|
8
|
-
"react/jsx-runtime": "ReactJSXRuntime",
|
9
|
-
// https://cdn.jsdelivr.net/npm/react@18.2.0/umd/react.development.js
|
10
|
-
"react-dom": "ReactDOM",
|
11
|
-
// https://cdn.jsdelivr.net/npm/react-dom@18.2.0/umd/react-dom.development.js
|
12
|
-
// TODO make the library use the global variable `TDesignReact` replace `TDesign`
|
13
|
-
"tdesign-react/esm": "TDesign",
|
14
|
-
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.js
|
15
|
-
// https://cdn.jsdelivr.net/npm/tdesign-react@1.4.0/dist/tdesign.css
|
16
|
-
"tdesign-icons-react": "TDesignIconReact",
|
17
|
-
// https://cdn.jsdelivr.net/npm/tdesign-icons-react@1.4.0/dist/index.js
|
18
|
-
zod: "Zod",
|
19
|
-
"@zodui/core": "ZodUICore",
|
20
|
-
"@zodui/core/utils": "ZodUICoreUtils",
|
21
|
-
"@zodui/react": "ZodUIReact"
|
22
|
-
}[external];
|
5
|
+
return external.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
23
6
|
}
|
24
7
|
|
25
8
|
export { globalResolver as default };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"globalResolver.esm.js","sources":["../../../src/rollup/utils/globalResolver.ts"],"sourcesContent":["export default function (external: string) {\n
|
1
|
+
{"version":3,"file":"globalResolver.esm.js","sources":["../../../src/rollup/utils/globalResolver.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"],"names":[],"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;;;;"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
function e(e){return e.startsWith("
|
1
|
+
function e(e){return e.startsWith("node:")?e.slice(5):e.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase()))}export{e as default};
|
2
2
|
//# sourceMappingURL=globalResolver.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"globalResolver.esm.min.js","sources":["../../../src/rollup/utils/globalResolver.ts"],"sourcesContent":["export default function (external: string) {\n
|
1
|
+
{"version":3,"file":"globalResolver.esm.min.js","sources":["../../../src/rollup/utils/globalResolver.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"],"names":["globalResolver","external","startsWith","slice","replace","_","$1","toUpperCase"],"mappings":"AAAA,SAAAA,EAAyBC,GAOnB,OAAAA,EAASC,WAAW,SACfD,EAASE,MAAM,GAEjBF,EACJG,QAAQ,eAAe,CAACC,EAAGC,IAAOA,EAAGC,eAC1C"}
|