@xylabs/ts-scripts-yarn3 3.0.0 → 3.0.2

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.
@@ -78,7 +78,16 @@ const getInputs = async (subDir) => {
78
78
  const getInputDirs = async () => {
79
79
  return [
80
80
  void 0,
81
- ...(await (0, import_promises.readdir)("src", { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => file.name)
81
+ ...(await (0, import_promises.readdir)("src", { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => {
82
+ const pathParts = file.path.split("/");
83
+ pathParts.shift();
84
+ if (pathParts.length) {
85
+ const root = pathParts.join("/");
86
+ return `${root}/${file.name}`;
87
+ } else {
88
+ return file.name;
89
+ }
90
+ })
82
91
  ];
83
92
  };
84
93
  const getDistTypeFiles = async () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { copyFile, readdir } from 'fs/promises'\nimport { rollup } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const input = await getInputs(subDir)\n if (input.length) {\n await (\n await rollup({\n input: input.map((file) => `./src/${file}`),\n logLevel: 'warn',\n perf: true,\n plugins: [\n commonjs(),\n externalDeps(),\n nodeExternals(),\n typescript({\n baseUrl: './src',\n declaration: !subDir,\n declarationMap: !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs'],\n outDir: subDir ? `dist/${subDir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n }),\n ],\n })\n ).write({\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n })\n }\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async () => {\n return [\n undefined,\n ...(await readdir('src', { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => file.name),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx) => {\n const inputDirs = await getInputDirs()\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n await Promise.all(\n inputDirs.map(async (inputDir) => {\n await rollItUp('esm', esmExt, inputDir)\n await rollItUp('cjs', cjsExt, inputDir)\n }),\n )\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return 0\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig())) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":"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","names":["commonjs","externalDeps","nodeExternals","typescript","chalk"]}
1
+ {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { copyFile, readdir } from 'fs/promises'\nimport { rollup } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const input = await getInputs(subDir)\n if (input.length) {\n await (\n await rollup({\n input: input.map((file) => `./src/${file}`),\n logLevel: 'warn',\n perf: true,\n plugins: [\n commonjs(),\n externalDeps(),\n nodeExternals(),\n typescript({\n baseUrl: './src',\n declaration: !subDir,\n declarationMap: !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs'],\n outDir: subDir ? `dist/${subDir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n }),\n ],\n })\n ).write({\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n })\n }\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async () => {\n return [\n undefined,\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path.split('/')\n pathParts.shift()\n if (pathParts.length) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx) => {\n const inputDirs = await getInputDirs()\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n await Promise.all(\n inputDirs.map(async (inputDir) => {\n await rollItUp('esm', esmExt, inputDir)\n await rollItUp('cjs', cjsExt, inputDir)\n }),\n )\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return 0\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig())) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAqB;AACrB,+BAAuB;AACvB,mBAAkB;AAClB,sBAAkC;AAClC,oBAAuB;AACvB,4DAAyB;AACzB,0CAA0B;AAE1B,+BAAiD;AACjD,qBAA+B;AAO/B,MAAM,WAAW,OAAO,QAAuB,KAAa,WAAoB;AAC9E,QAAM,QAAQ,MAAM,UAAU,MAAM;AACpC,MAAI,MAAM,QAAQ;AAChB,WACE,UAAM,sBAAO;AAAA,MACX,OAAO,MAAM,IAAI,CAAC,SAAS,SAAS,IAAI,EAAE;AAAA,MAC1C,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,YACP,uBAAAA,SAAS;AAAA,YACT,sDAAAC,SAAa;AAAA,YACb,oCAAAC,SAAc;AAAA,YACd,yBAAAC,SAAW;AAAA,UACT,SAAS;AAAA,UACT,aAAa,CAAC;AAAA,UACd,gBAAgB,CAAC;AAAA,UACjB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,SAAS,CAAC,eAAe,QAAQ,MAAM;AAAA,UACvC,QAAQ,SAAS,QAAQ,MAAM,KAAK;AAAA,UACpC,SAAS;AAAA,UACT,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF,CAAC,GACD,MAAM;AAAA,MACN,KAAK,SAAS,QAAQ,MAAM,KAAK;AAAA,MACjC,oBAAoB;AAAA,MACpB,gBAAgB,CAAC,cAAc,GAAG,UAAU,IAAI,IAAI,GAAG;AAAA,MACvD;AAAA,MACA,WAAW;AAAA,IACb,CAAC;AAAA,EACH;AACF;AAEA,MAAM,YAAY,OAAO,WAAoB;AAC3C,UAAQ,UAAM,yBAAQ,SAAS,OAAO,MAAM,KAAK,OAAO,EAAE,WAAW,MAAM,CAAC,GACzE,OAAO,CAAC,UAAU,KAAK,SAAS,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,CAAC,KAAK,SAAS,MAAM,KAAK,CAAC,KAAK,SAAS,SAAS,CAAC,EACvH,IAAI,CAAC,SAAU,SAAS,GAAG,MAAM,IAAI,IAAI,KAAK,IAAK;AACxD;AAEA,MAAM,eAAe,YAAY;AAC/B,SAAO;AAAA,IACL;AAAA,IACA,IAAI,UAAM,yBAAQ,OAAO,EAAE,WAAW,MAAM,eAAe,KAAK,CAAC,GAC9D,OAAO,CAAC,SAAS,KAAK,YAAY,CAAC,EACnC,IAAI,CAAC,SAAS;AACb,YAAM,YAAY,KAAK,KAAK,MAAM,GAAG;AACrC,gBAAU,MAAM;AAChB,UAAI,UAAU,QAAQ;AACpB,cAAM,OAAO,UAAU,KAAK,GAAG;AAC/B,eAAO,GAAG,IAAI,IAAI,KAAK,IAAI;AAAA,MAC7B,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACL;AACF;AAEA,MAAM,mBAAmB,YAAY;AACnC,UAAQ,UAAM,yBAAQ,QAAQ,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,QAAQ,IAAI,EAAE;AAC1H;AAEA,MAAM,sBAAsB,YAAY;AACtC,UAAQ,UAAM,yBAAQ,QAAQ,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,QAAQ,IAAI,EAAE;AAC9H;AAEA,MAAM,UAAU,OAAO,QAAuB;AAC5C,QAAM,YAAY,MAAM,aAAa;AAErC,QAAM,UAAU,IAAI,QAAQ;AAE5B,QAAM,SAAS,YAAY,WAAW,OAAO;AAC7C,QAAM,SAAS,YAAY,aAAa,OAAO;AAE/C,QAAM,QAAQ;AAAA,IACZ,UAAU,IAAI,OAAO,aAAa;AAChC,YAAM,SAAS,OAAO,QAAQ,QAAQ;AACtC,YAAM,SAAS,OAAO,QAAQ,QAAQ;AAAA,IACxC,CAAC;AAAA,EACH;AAGA,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,QAAM,QAAQ;AAAA,IACZ,cAAc,IAAI,OAAO,SAAS;AAChC,gBAAM,0BAAS,MAAM,KAAK,QAAQ,QAAQ,OAAO,CAAC;AAAA,IACpD,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmB,MAAM,oBAAoB;AACnD,QAAM,QAAQ;AAAA,IACZ,iBAAiB,IAAI,OAAO,SAAS;AACnC,gBAAM,0BAAS,MAAM,KAAK,QAAQ,YAAY,WAAW,CAAC;AAAA,IAC5D,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEO,MAAM,iBAAiB,OAAO,EAAE,UAAU,MAAM,QAAQ,IAA0B,EAAE,SAAS,MAAM,MAAM;AAC9G,QAAM,UAAU,QAAQ,IAAI;AAC5B,MAAI,SAAS;AACX,YAAQ,IAAI,aAAAC,QAAM,MAAM,aAAa,OAAO,QAAQ,CAAC;AAAA,EACvD;AACA,QAAM,SAAU,MAAM,QAAQ,UAAM,4CAAkB,CAAC,KAAM,UAAU,UAAM,+BAAe,IAAI;AAChG,MAAI,QAAQ;AACV,UAAM,QAAQ,MAAM,UAAU;AAC9B,YAAQ,IAAI,WAAW,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,EAAE;AACvD,YAAQ,MAAM,aAAAA,QAAM,IAAI,aAAa,OAAO,YAAY,MAAM,GAAG,CAAC;AAAA,EACpE,WAAW,SAAS;AAClB,YAAQ,IAAI,aAAAA,QAAM,MAAM,aAAa,OAAO,OAAO,CAAC;AAAA,EACtD;AACA,SAAO;AACT;","names":["commonjs","externalDeps","nodeExternals","typescript","chalk"]}
@@ -45,7 +45,16 @@ const getInputs = async (subDir) => {
45
45
  const getInputDirs = async () => {
46
46
  return [
47
47
  void 0,
48
- ...(await readdir("src", { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => file.name)
48
+ ...(await readdir("src", { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => {
49
+ const pathParts = file.path.split("/");
50
+ pathParts.shift();
51
+ if (pathParts.length) {
52
+ const root = pathParts.join("/");
53
+ return `${root}/${file.name}`;
54
+ } else {
55
+ return file.name;
56
+ }
57
+ })
49
58
  ];
50
59
  };
51
60
  const getDistTypeFiles = async () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { copyFile, readdir } from 'fs/promises'\nimport { rollup } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const input = await getInputs(subDir)\n if (input.length) {\n await (\n await rollup({\n input: input.map((file) => `./src/${file}`),\n logLevel: 'warn',\n perf: true,\n plugins: [\n commonjs(),\n externalDeps(),\n nodeExternals(),\n typescript({\n baseUrl: './src',\n declaration: !subDir,\n declarationMap: !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs'],\n outDir: subDir ? `dist/${subDir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n }),\n ],\n })\n ).write({\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n })\n }\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async () => {\n return [\n undefined,\n ...(await readdir('src', { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => file.name),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx) => {\n const inputDirs = await getInputDirs()\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n await Promise.all(\n inputDirs.map(async (inputDir) => {\n await rollItUp('esm', esmExt, inputDir)\n await rollItUp('cjs', cjsExt, inputDir)\n }),\n )\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return 0\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig())) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { copyFile, readdir } from 'fs/promises'\nimport { rollup } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const input = await getInputs(subDir)\n if (input.length) {\n await (\n await rollup({\n input: input.map((file) => `./src/${file}`),\n logLevel: 'warn',\n perf: true,\n plugins: [\n commonjs(),\n externalDeps(),\n nodeExternals(),\n typescript({\n baseUrl: './src',\n declaration: !subDir,\n declarationMap: !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs'],\n outDir: subDir ? `dist/${subDir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n }),\n ],\n })\n ).write({\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n })\n }\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async () => {\n return [\n undefined,\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path.split('/')\n pathParts.shift()\n if (pathParts.length) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx) => {\n const inputDirs = await getInputDirs()\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n await Promise.all(\n inputDirs.map(async (inputDir) => {\n await rollItUp('esm', esmExt, inputDir)\n await rollItUp('cjs', cjsExt, inputDir)\n }),\n )\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return 0\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig())) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -65,7 +65,7 @@
65
65
  "@types/yargs": "^17.0.24",
66
66
  "@typescript-eslint/eslint-plugin": "^6.7.0",
67
67
  "@typescript-eslint/parser": "^6.7.0",
68
- "@xylabs/tsconfig": "~3.0.0",
68
+ "@xylabs/tsconfig": "~3.0.2",
69
69
  "chalk": "^4.1.2",
70
70
  "cpy": "^8.1.2",
71
71
  "depcheck": "^1.4.6",
@@ -108,8 +108,8 @@
108
108
  "@types/license-checker": "^25.0.4",
109
109
  "@types/lodash": "^4.14.198",
110
110
  "@types/parse-git-config": "^3.0.1",
111
- "@xylabs/eslint-config": "^3.0.0",
112
- "@xylabs/tsconfig": "^3.0.0",
111
+ "@xylabs/eslint-config": "^3.0.2",
112
+ "@xylabs/tsconfig": "^3.0.2",
113
113
  "publint": "^0.2.2",
114
114
  "tsup": "^7.2.0",
115
115
  "typescript": "^5.2.2"
@@ -167,5 +167,5 @@
167
167
  "package-clean": "echo Not cleaning..."
168
168
  },
169
169
  "sideEffects": false,
170
- "version": "3.0.0"
170
+ "version": "3.0.2"
171
171
  }
@@ -58,7 +58,18 @@ const getInputs = async (subDir?: string) => {
58
58
  const getInputDirs = async () => {
59
59
  return [
60
60
  undefined,
61
- ...(await readdir('src', { recursive: true, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => file.name),
61
+ ...(await readdir('src', { recursive: true, withFileTypes: true }))
62
+ .filter((file) => file.isDirectory())
63
+ .map((file) => {
64
+ const pathParts = file.path.split('/')
65
+ pathParts.shift()
66
+ if (pathParts.length) {
67
+ const root = pathParts.join('/')
68
+ return `${root}/${file.name}`
69
+ } else {
70
+ return file.name
71
+ }
72
+ }),
62
73
  ]
63
74
  }
64
75