smartbundle 0.11.0-alpha.1 → 0.11.0-alpha.3

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.
Files changed (77) hide show
  1. package/__compiled__/cjs/src/buildVite.d.ts +1 -1
  2. package/__compiled__/cjs/src/buildVite.js.map +1 -1
  3. package/__compiled__/cjs/src/createViteConfig.d.ts +3 -1
  4. package/__compiled__/cjs/src/createViteConfig.js +10 -2
  5. package/__compiled__/cjs/src/createViteConfig.js.map +1 -1
  6. package/__compiled__/cjs/src/detectModules.d.ts +7 -0
  7. package/__compiled__/cjs/src/detectModules.js +102 -0
  8. package/__compiled__/cjs/src/detectModules.js.map +1 -0
  9. package/__compiled__/cjs/src/index.js +19 -4
  10. package/__compiled__/cjs/src/index.js.map +1 -1
  11. package/__compiled__/cjs/src/log.d.ts +6 -0
  12. package/__compiled__/cjs/src/log.js +32 -0
  13. package/__compiled__/cjs/src/log.js.map +1 -0
  14. package/__compiled__/cjs/src/plugins/babel/index.d.ts +4 -2
  15. package/__compiled__/cjs/src/plugins/babel/index.js +20 -36
  16. package/__compiled__/cjs/src/plugins/babel/index.js.map +1 -1
  17. package/__compiled__/cjs/src/plugins/react/index.d.ts +4 -4
  18. package/__compiled__/cjs/src/plugins/react/index.js +15 -10
  19. package/__compiled__/cjs/src/plugins/react/index.js.map +1 -1
  20. package/__compiled__/cjs/src/tasks/binsTask.d.ts +1 -1
  21. package/__compiled__/cjs/src/tasks/binsTask.js +4 -1
  22. package/__compiled__/cjs/src/tasks/binsTask.js.map +1 -1
  23. package/__compiled__/cjs/src/tasks/buildTypesTask/buildTypesTask.d.ts +3 -1
  24. package/__compiled__/cjs/src/tasks/buildTypesTask/buildTypesTask.js +11 -32
  25. package/__compiled__/cjs/src/tasks/buildTypesTask/buildTypesTask.js.map +1 -1
  26. package/__compiled__/cjs/src/tasks/buildTypesTask/callTypescript.js +14 -2
  27. package/__compiled__/cjs/src/tasks/buildTypesTask/callTypescript.js.map +1 -1
  28. package/__compiled__/cjs/src/tasks/buildTypesTask/inlineExtensions.d.ts +3 -2
  29. package/__compiled__/cjs/src/tasks/buildTypesTask/inlineExtensions.js +13 -8
  30. package/__compiled__/cjs/src/tasks/buildTypesTask/inlineExtensions.js.map +1 -1
  31. package/__compiled__/cjs/src/tasks/copyStaticFilesTask.d.ts +1 -1
  32. package/__compiled__/cjs/src/tasks/copyStaticFilesTask.js +7 -1
  33. package/__compiled__/cjs/src/tasks/copyStaticFilesTask.js.map +1 -1
  34. package/__compiled__/cjs/src/tasks/jsFilesTask.d.ts +1 -1
  35. package/__compiled__/cjs/src/tasks/jsFilesTask.js +2 -1
  36. package/__compiled__/cjs/src/tasks/jsFilesTask.js.map +1 -1
  37. package/__compiled__/cjs/src/writePackageJson.js +2 -0
  38. package/__compiled__/cjs/src/writePackageJson.js.map +1 -1
  39. package/__compiled__/esm/src/buildVite.d.mts +1 -1
  40. package/__compiled__/esm/src/buildVite.mjs.map +1 -1
  41. package/__compiled__/esm/src/createViteConfig.d.mts +3 -1
  42. package/__compiled__/esm/src/createViteConfig.mjs +10 -2
  43. package/__compiled__/esm/src/createViteConfig.mjs.map +1 -1
  44. package/__compiled__/esm/src/detectModules.d.mts +7 -0
  45. package/__compiled__/esm/src/detectModules.mjs +80 -0
  46. package/__compiled__/esm/src/detectModules.mjs.map +1 -0
  47. package/__compiled__/esm/src/index.mjs +19 -4
  48. package/__compiled__/esm/src/index.mjs.map +1 -1
  49. package/__compiled__/esm/src/log.d.mts +6 -0
  50. package/__compiled__/esm/src/log.mjs +32 -0
  51. package/__compiled__/esm/src/log.mjs.map +1 -0
  52. package/__compiled__/esm/src/plugins/babel/index.d.mts +4 -2
  53. package/__compiled__/esm/src/plugins/babel/index.mjs +20 -14
  54. package/__compiled__/esm/src/plugins/babel/index.mjs.map +1 -1
  55. package/__compiled__/esm/src/plugins/react/index.d.mts +4 -4
  56. package/__compiled__/esm/src/plugins/react/index.mjs +15 -10
  57. package/__compiled__/esm/src/plugins/react/index.mjs.map +1 -1
  58. package/__compiled__/esm/src/tasks/binsTask.d.mts +1 -1
  59. package/__compiled__/esm/src/tasks/binsTask.mjs +4 -1
  60. package/__compiled__/esm/src/tasks/binsTask.mjs.map +1 -1
  61. package/__compiled__/esm/src/tasks/buildTypesTask/buildTypesTask.d.mts +3 -1
  62. package/__compiled__/esm/src/tasks/buildTypesTask/buildTypesTask.mjs +11 -10
  63. package/__compiled__/esm/src/tasks/buildTypesTask/buildTypesTask.mjs.map +1 -1
  64. package/__compiled__/esm/src/tasks/buildTypesTask/callTypescript.mjs +14 -2
  65. package/__compiled__/esm/src/tasks/buildTypesTask/callTypescript.mjs.map +1 -1
  66. package/__compiled__/esm/src/tasks/buildTypesTask/inlineExtensions.d.mts +3 -2
  67. package/__compiled__/esm/src/tasks/buildTypesTask/inlineExtensions.mjs +13 -8
  68. package/__compiled__/esm/src/tasks/buildTypesTask/inlineExtensions.mjs.map +1 -1
  69. package/__compiled__/esm/src/tasks/copyStaticFilesTask.d.mts +1 -1
  70. package/__compiled__/esm/src/tasks/copyStaticFilesTask.mjs +7 -1
  71. package/__compiled__/esm/src/tasks/copyStaticFilesTask.mjs.map +1 -1
  72. package/__compiled__/esm/src/tasks/jsFilesTask.d.mts +1 -1
  73. package/__compiled__/esm/src/tasks/jsFilesTask.mjs +2 -1
  74. package/__compiled__/esm/src/tasks/jsFilesTask.mjs.map +1 -1
  75. package/__compiled__/esm/src/writePackageJson.mjs +2 -0
  76. package/__compiled__/esm/src/writePackageJson.mjs.map +1 -1
  77. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { type Rollup } from "vite";
1
+ import type { Rollup } from "vite";
2
2
  type JsFilesTaskOption = {
3
3
  buildOutput: Rollup.OutputChunk[];
4
4
  entrypoints: Map<string, string>;
@@ -1,6 +1,6 @@
1
- import "vite";
2
1
  import { join, relative, dirname } from "node:path";
3
2
  import { mkdir, writeFile } from "node:fs/promises";
3
+ import { okLog } from "../log.mjs";
4
4
  function findCompiledPath(buildOutput, originalFile, type) {
5
5
  for (const el of buildOutput) {
6
6
  if (el.facadeModuleId === originalFile) {
@@ -53,6 +53,7 @@ export default Default;
53
53
  await writeFile(cdtsPath, `export * from "./${cjsPath}";
54
54
  `);
55
55
  }
56
+ okLog("no-exports compat layer");
56
57
  return res;
57
58
  }
58
59
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"jsFilesTask.mjs","sources":["../../../../../src/tasks/jsFilesTask.ts"],"sourcesContent":["import { type Rollup } from \"vite\";\nimport { dirname, join, relative } from \"node:path\";\nimport { mkdir, writeFile } from \"node:fs/promises\";\n\ntype JsFilesTaskOption = {\n buildOutput: Rollup.OutputChunk[];\n entrypoints: Map<string, string>;\n outDir: string;\n};\n\nfunction findCompiledPath(\n buildOutput: Rollup.OutputChunk[],\n originalFile: string,\n type: \"js\" | \"mjs\",\n) {\n for (const el of buildOutput) {\n if (el.facadeModuleId === originalFile) {\n if (type === \"js\" && el.fileName.endsWith(\".js\")) {\n return {\n path: el.fileName,\n hasDefault: el.exports.includes(\"default\"),\n };\n }\n if (type === \"mjs\" && el.fileName.endsWith(\".mjs\")) {\n return {\n path: el.fileName,\n hasDefault: el.exports.includes(\"default\"),\n };\n }\n }\n }\n return { path: \"\", hasDefault: false };\n}\n\nexport async function jsFilesTask({\n buildOutput,\n entrypoints,\n outDir,\n}: JsFilesTaskOption) {\n const res = new Map<string, string>();\n for (const [name, filePath] of entrypoints) {\n const totalName = join(outDir, name);\n\n const esmName = join(totalName, \"index.mjs\");\n const esmCompiled = findCompiledPath(buildOutput, filePath, \"mjs\");\n const esmPath = relative(totalName, join(outDir, esmCompiled.path));\n await mkdir(dirname(esmName), { recursive: true });\n let esmContent = `export * from \"./${esmPath}\";\\n`;\n if (esmCompiled.hasDefault) {\n esmContent += `import Default from \"./${esmPath}\";\\nexport default Default;\\n`;\n }\n await writeFile(esmName, esmContent);\n res.set(relative(outDir, join(dirname(esmName), esmPath)), name);\n const cjsName = join(totalName, \"index.js\");\n const cjsCompiled = findCompiledPath(buildOutput, filePath, \"js\");\n const cjsPath = relative(totalName, join(outDir, cjsCompiled.path));\n await mkdir(dirname(esmName), { recursive: true });\n const cjsContent = `module.exports = require(\"./${cjsPath}\");\\n`;\n await writeFile(cjsName, cjsContent);\n res.set(relative(outDir, join(dirname(cjsName), cjsPath)), name);\n\n // moduleResolution: \"node10\" in tsconfig.json\n const cdtsPath = cjsName.replace(/\\.js$/, \".d.ts\");\n await writeFile(cdtsPath, `export * from \"./${cjsPath}\";\\n`);\n }\n\n return res;\n}\n"],"names":[],"mappings":";;;AAUA,SAAS,iBACP,aACA,cACA,MACA;AACA,aAAW,MAAM,aAAa;AACxB,QAAA,GAAG,mBAAmB,cAAc;AACtC,UAAI,SAAS,QAAQ,GAAG,SAAS,SAAS,KAAK,GAAG;AACzC,eAAA;AAAA,UACL,MAAM,GAAG;AAAA,UACT,YAAY,GAAG,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,MAE7C;AACA,UAAI,SAAS,SAAS,GAAG,SAAS,SAAS,MAAM,GAAG;AAC3C,eAAA;AAAA,UACL,MAAM,GAAG;AAAA,UACT,YAAY,GAAG,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,MAE7C;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,MAAM,IAAI,YAAY,MAAM;AACvC;AAEA,eAAsB,YAAY;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACd,QAAA,0BAAU;AAChB,aAAW,CAAC,MAAM,QAAQ,KAAK,aAAa;AACpC,UAAA,YAAY,KAAK,QAAQ,IAAI;AAE7B,UAAA,UAAU,KAAK,WAAW,WAAW;AAC3C,UAAM,cAAc,iBAAiB,aAAa,UAAU,KAAK;AACjE,UAAM,UAAU,SAAS,WAAW,KAAK,QAAQ,YAAY,IAAI,CAAC;AAClE,UAAM,MAAM,QAAQ,OAAO,GAAG,EAAE,WAAW,MAAM;AAC7C,QAAA,aAAa,oBAAoB,OAAO;AAAA;AAC5C,QAAI,YAAY,YAAY;AAC1B,oBAAc,0BAA0B,OAAO;AAAA;AAAA;AAAA,IACjD;AACM,UAAA,UAAU,SAAS,UAAU;AAC/B,QAAA,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;AACzD,UAAA,UAAU,KAAK,WAAW,UAAU;AAC1C,UAAM,cAAc,iBAAiB,aAAa,UAAU,IAAI;AAChE,UAAM,UAAU,SAAS,WAAW,KAAK,QAAQ,YAAY,IAAI,CAAC;AAClE,UAAM,MAAM,QAAQ,OAAO,GAAG,EAAE,WAAW,MAAM;AAC3C,UAAA,aAAa,+BAA+B,OAAO;AAAA;AACnD,UAAA,UAAU,SAAS,UAAU;AAC/B,QAAA,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;AAG/D,UAAM,WAAW,QAAQ,QAAQ,SAAS,OAAO;AAC3C,UAAA,UAAU,UAAU,oBAAoB,OAAO;AAAA,CAAM;AAAA,EAC7D;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"jsFilesTask.mjs","sources":["../../../../../src/tasks/jsFilesTask.ts"],"sourcesContent":["import type { Rollup } from \"vite\";\nimport { dirname, join, relative } from \"node:path\";\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { okLog } from \"../log.js\";\n\ntype JsFilesTaskOption = {\n buildOutput: Rollup.OutputChunk[];\n entrypoints: Map<string, string>;\n outDir: string;\n};\n\nfunction findCompiledPath(\n buildOutput: Rollup.OutputChunk[],\n originalFile: string,\n type: \"js\" | \"mjs\",\n) {\n for (const el of buildOutput) {\n if (el.facadeModuleId === originalFile) {\n if (type === \"js\" && el.fileName.endsWith(\".js\")) {\n return {\n path: el.fileName,\n hasDefault: el.exports.includes(\"default\"),\n };\n }\n if (type === \"mjs\" && el.fileName.endsWith(\".mjs\")) {\n return {\n path: el.fileName,\n hasDefault: el.exports.includes(\"default\"),\n };\n }\n }\n }\n return { path: \"\", hasDefault: false };\n}\n\nexport async function jsFilesTask({\n buildOutput,\n entrypoints,\n outDir,\n}: JsFilesTaskOption) {\n const res = new Map<string, string>();\n for (const [name, filePath] of entrypoints) {\n const totalName = join(outDir, name);\n\n const esmName = join(totalName, \"index.mjs\");\n const esmCompiled = findCompiledPath(buildOutput, filePath, \"mjs\");\n const esmPath = relative(totalName, join(outDir, esmCompiled.path));\n await mkdir(dirname(esmName), { recursive: true });\n let esmContent = `export * from \"./${esmPath}\";\\n`;\n if (esmCompiled.hasDefault) {\n esmContent += `import Default from \"./${esmPath}\";\\nexport default Default;\\n`;\n }\n await writeFile(esmName, esmContent);\n res.set(relative(outDir, join(dirname(esmName), esmPath)), name);\n const cjsName = join(totalName, \"index.js\");\n const cjsCompiled = findCompiledPath(buildOutput, filePath, \"js\");\n const cjsPath = relative(totalName, join(outDir, cjsCompiled.path));\n await mkdir(dirname(esmName), { recursive: true });\n const cjsContent = `module.exports = require(\"./${cjsPath}\");\\n`;\n await writeFile(cjsName, cjsContent);\n res.set(relative(outDir, join(dirname(cjsName), cjsPath)), name);\n\n // moduleResolution: \"node10\" in tsconfig.json\n const cdtsPath = cjsName.replace(/\\.js$/, \".d.ts\");\n await writeFile(cdtsPath, `export * from \"./${cjsPath}\";\\n`);\n }\n\n okLog(\"no-exports compat layer\");\n return res;\n}\n"],"names":[],"mappings":";;;AAWA,SAAS,iBACP,aACA,cACA,MACA;AACA,aAAW,MAAM,aAAa;AACxB,QAAA,GAAG,mBAAmB,cAAc;AACtC,UAAI,SAAS,QAAQ,GAAG,SAAS,SAAS,KAAK,GAAG;AACzC,eAAA;AAAA,UACL,MAAM,GAAG;AAAA,UACT,YAAY,GAAG,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,MAE7C;AACA,UAAI,SAAS,SAAS,GAAG,SAAS,SAAS,MAAM,GAAG;AAC3C,eAAA;AAAA,UACL,MAAM,GAAG;AAAA,UACT,YAAY,GAAG,QAAQ,SAAS,SAAS;AAAA,QAAA;AAAA,MAE7C;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,MAAM,IAAI,YAAY,MAAM;AACvC;AAEA,eAAsB,YAAY;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAAsB;AACd,QAAA,0BAAU;AAChB,aAAW,CAAC,MAAM,QAAQ,KAAK,aAAa;AACpC,UAAA,YAAY,KAAK,QAAQ,IAAI;AAE7B,UAAA,UAAU,KAAK,WAAW,WAAW;AAC3C,UAAM,cAAc,iBAAiB,aAAa,UAAU,KAAK;AACjE,UAAM,UAAU,SAAS,WAAW,KAAK,QAAQ,YAAY,IAAI,CAAC;AAClE,UAAM,MAAM,QAAQ,OAAO,GAAG,EAAE,WAAW,MAAM;AAC7C,QAAA,aAAa,oBAAoB,OAAO;AAAA;AAC5C,QAAI,YAAY,YAAY;AAC1B,oBAAc,0BAA0B,OAAO;AAAA;AAAA;AAAA,IACjD;AACM,UAAA,UAAU,SAAS,UAAU;AAC/B,QAAA,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;AACzD,UAAA,UAAU,KAAK,WAAW,UAAU;AAC1C,UAAM,cAAc,iBAAiB,aAAa,UAAU,IAAI;AAChE,UAAM,UAAU,SAAS,WAAW,KAAK,QAAQ,YAAY,IAAI,CAAC;AAClE,UAAM,MAAM,QAAQ,OAAO,GAAG,EAAE,WAAW,MAAM;AAC3C,UAAA,aAAa,+BAA+B,OAAO;AAAA;AACnD,UAAA,UAAU,SAAS,UAAU;AAC/B,QAAA,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;AAG/D,UAAM,WAAW,QAAQ,QAAQ,SAAS,OAAO;AAC3C,UAAA,UAAU,UAAU,oBAAoB,OAAO;AAAA,CAAM;AAAA,EAC7D;AAEA,QAAM,yBAAyB;AACxB,SAAA;AACT;"}
@@ -1,6 +1,7 @@
1
1
  import { writeFile } from "node:fs/promises";
2
2
  import "zod";
3
3
  import "node:path";
4
+ import { okLog } from "./log.mjs";
4
5
  function extractValue(value) {
5
6
  if (!value) {
6
7
  return void 0;
@@ -66,6 +67,7 @@ async function writePackageJson(outDir, parsed, { exportsMap, binsMap }) {
66
67
  devDependencies: parsed.devDependencies
67
68
  };
68
69
  await writeFile(`${outDir}/package.json`, JSON.stringify(res, null, 2));
70
+ okLog("package.json");
69
71
  }
70
72
  export {
71
73
  writePackageJson
@@ -1 +1 @@
1
- {"version":3,"file":"writePackageJson.mjs","sources":["../../../../src/writePackageJson.ts"],"sourcesContent":["import { writeFile } from \"node:fs/promises\";\nimport { type PackageJson } from \"./packageJson.js\";\n\nexport type ExportsObject = {\n mjs?: string;\n dmts?: string;\n dcts?: string;\n cjs?: string;\n raw?: string;\n};\n\ntype BuildResult = {\n exportsMap: Map<string, ExportsObject>;\n binsMap: Map<string, string>;\n};\n\ntype ExportsPackageJsonObj =\n | {\n import?: ExportsPackageJsonObj;\n require?: ExportsPackageJsonObj;\n types?: string;\n default?: string;\n }\n | string;\n\nfunction extractValue(value?: ExportsPackageJsonObj) {\n if (!value) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n return value.default;\n}\n\nexport async function writePackageJson(\n outDir: string,\n parsed: PackageJson,\n { exportsMap, binsMap }: BuildResult,\n) {\n // we always want to have `exports` property in the target package.json\n // If you want to export something, please, specify them\n const allExports: Record<string, ExportsPackageJsonObj> = {};\n for (const [key, value] of exportsMap) {\n const anExport: ExportsPackageJsonObj = {};\n\n if (value.mjs) {\n anExport.import = {};\n if (value.dmts) {\n anExport.import.types = value.dmts;\n }\n anExport.import.default = value.mjs;\n }\n if (value.cjs) {\n anExport.require = {};\n if (value.dcts) {\n anExport.require.types = value.dcts;\n }\n anExport.require.default = value.cjs;\n }\n\n // should be first for correct resolving\n anExport.types = value.dcts ?? value.dmts;\n // because we need to have default and types key on the end\n // JSON.stringify will put it on the end if we put value at the last step\n anExport.default = value.cjs;\n\n allExports[key] = anExport;\n }\n allExports[\"./package.json\"] = \"./package.json\";\n\n const bin = binsMap.size > 0 ? Object.fromEntries(binsMap) : undefined;\n\n const rootExport =\n typeof allExports[\".\"] === \"object\" ? allExports[\".\"] : undefined;\n const res = {\n name: parsed.name,\n type: \"commonjs\",\n version: parsed.version,\n bin,\n types: rootExport?.types,\n module: extractValue(rootExport?.import),\n main: extractValue(rootExport?.require),\n description: parsed.description ?? \"\",\n exports: allExports,\n dependencies: parsed.dependencies ?? undefined,\n optionalDependencies: parsed.optionalDependencies ?? undefined,\n repository: parsed.repository,\n keywords: parsed.keywords,\n author: parsed.author,\n contributors: parsed.contributors,\n license: parsed.license,\n peerDependencies: parsed.peerDependencies,\n engines: parsed.engines,\n browser: parsed.browser,\n funding: parsed.funding,\n os: parsed.os,\n cpu: parsed.cpu,\n maintainers: parsed.maintainers,\n bugs: parsed.bugs,\n sideEffects: parsed.sideEffects,\n unpkg: parsed.unpkg,\n homepage: parsed.homepage,\n devDependencies: parsed.devDependencies,\n };\n\n await writeFile(`${outDir}/package.json`, JSON.stringify(res, null, 2));\n}\n"],"names":[],"mappings":";;;AAyBA,SAAS,aAAa,OAA+B;AACnD,MAAI,CAAC,OAAO;AACH,WAAA;AAAA,EACT;AACI,MAAA,OAAO,UAAU,UAAU;AACtB,WAAA;AAAA,EACT;AACA,SAAO,MAAM;AACf;AAEA,eAAsB,iBACpB,QACA,QACA,EAAE,YAAY,WACd;AAGA,QAAM,aAAoD,CAAA;AAC1D,aAAW,CAAC,KAAK,KAAK,KAAK,YAAY;AACrC,UAAM,WAAkC,CAAA;AAExC,QAAI,MAAM,KAAK;AACb,eAAS,SAAS;AAClB,UAAI,MAAM,MAAM;AACL,iBAAA,OAAO,QAAQ,MAAM;AAAA,MAChC;AACS,eAAA,OAAO,UAAU,MAAM;AAAA,IAClC;AACA,QAAI,MAAM,KAAK;AACb,eAAS,UAAU;AACnB,UAAI,MAAM,MAAM;AACL,iBAAA,QAAQ,QAAQ,MAAM;AAAA,MACjC;AACS,eAAA,QAAQ,UAAU,MAAM;AAAA,IACnC;AAGS,aAAA,QAAQ,MAAM,QAAQ,MAAM;AAGrC,aAAS,UAAU,MAAM;AAEzB,eAAW,GAAG,IAAI;AAAA,EACpB;AACA,aAAW,gBAAgB,IAAI;AAE/B,QAAM,MAAM,QAAQ,OAAO,IAAI,OAAO,YAAY,OAAO,IAAI;AAEvD,QAAA,aACJ,OAAO,WAAW,GAAG,MAAM,WAAW,WAAW,GAAG,IAAI;AAC1D,QAAM,MAAM;AAAA,IACV,MAAM,OAAO;AAAA,IACb,MAAM;AAAA,IACN,SAAS,OAAO;AAAA,IAChB;AAAA,IACA,OAAO,yCAAY;AAAA,IACnB,QAAQ,aAAa,yCAAY,MAAM;AAAA,IACvC,MAAM,aAAa,yCAAY,OAAO;AAAA,IACtC,aAAa,OAAO,eAAe;AAAA,IACnC,SAAS;AAAA,IACT,cAAc,OAAO,gBAAgB;AAAA,IACrC,sBAAsB,OAAO,wBAAwB;AAAA,IACrD,YAAY,OAAO;AAAA,IACnB,UAAU,OAAO;AAAA,IACjB,QAAQ,OAAO;AAAA,IACf,cAAc,OAAO;AAAA,IACrB,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,SAAS,OAAO;AAAA,IAChB,SAAS,OAAO;AAAA,IAChB,SAAS,OAAO;AAAA,IAChB,IAAI,OAAO;AAAA,IACX,KAAK,OAAO;AAAA,IACZ,aAAa,OAAO;AAAA,IACpB,MAAM,OAAO;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,OAAO,OAAO;AAAA,IACd,UAAU,OAAO;AAAA,IACjB,iBAAiB,OAAO;AAAA,EAAA;AAGpB,QAAA,UAAU,GAAG,MAAM,iBAAiB,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC;AACxE;"}
1
+ {"version":3,"file":"writePackageJson.mjs","sources":["../../../../src/writePackageJson.ts"],"sourcesContent":["import { writeFile } from \"node:fs/promises\";\nimport { type PackageJson } from \"./packageJson.js\";\nimport { okLog } from \"./log.js\";\n\nexport type ExportsObject = {\n mjs?: string;\n dmts?: string;\n dcts?: string;\n cjs?: string;\n raw?: string;\n};\n\ntype BuildResult = {\n exportsMap: Map<string, ExportsObject>;\n binsMap: Map<string, string>;\n};\n\ntype ExportsPackageJsonObj =\n | {\n import?: ExportsPackageJsonObj;\n require?: ExportsPackageJsonObj;\n types?: string;\n default?: string;\n }\n | string;\n\nfunction extractValue(value?: ExportsPackageJsonObj) {\n if (!value) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n return value.default;\n}\n\nexport async function writePackageJson(\n outDir: string,\n parsed: PackageJson,\n { exportsMap, binsMap }: BuildResult,\n) {\n // we always want to have `exports` property in the target package.json\n // If you want to export something, please, specify them\n const allExports: Record<string, ExportsPackageJsonObj> = {};\n for (const [key, value] of exportsMap) {\n const anExport: ExportsPackageJsonObj = {};\n\n if (value.mjs) {\n anExport.import = {};\n if (value.dmts) {\n anExport.import.types = value.dmts;\n }\n anExport.import.default = value.mjs;\n }\n if (value.cjs) {\n anExport.require = {};\n if (value.dcts) {\n anExport.require.types = value.dcts;\n }\n anExport.require.default = value.cjs;\n }\n\n // should be first for correct resolving\n anExport.types = value.dcts ?? value.dmts;\n // because we need to have default and types key on the end\n // JSON.stringify will put it on the end if we put value at the last step\n anExport.default = value.cjs;\n\n allExports[key] = anExport;\n }\n allExports[\"./package.json\"] = \"./package.json\";\n\n const bin = binsMap.size > 0 ? Object.fromEntries(binsMap) : undefined;\n\n const rootExport =\n typeof allExports[\".\"] === \"object\" ? allExports[\".\"] : undefined;\n const res = {\n name: parsed.name,\n type: \"commonjs\",\n version: parsed.version,\n bin,\n types: rootExport?.types,\n module: extractValue(rootExport?.import),\n main: extractValue(rootExport?.require),\n description: parsed.description ?? \"\",\n exports: allExports,\n dependencies: parsed.dependencies ?? undefined,\n optionalDependencies: parsed.optionalDependencies ?? undefined,\n repository: parsed.repository,\n keywords: parsed.keywords,\n author: parsed.author,\n contributors: parsed.contributors,\n license: parsed.license,\n peerDependencies: parsed.peerDependencies,\n engines: parsed.engines,\n browser: parsed.browser,\n funding: parsed.funding,\n os: parsed.os,\n cpu: parsed.cpu,\n maintainers: parsed.maintainers,\n bugs: parsed.bugs,\n sideEffects: parsed.sideEffects,\n unpkg: parsed.unpkg,\n homepage: parsed.homepage,\n devDependencies: parsed.devDependencies,\n };\n\n await writeFile(`${outDir}/package.json`, JSON.stringify(res, null, 2));\n\n okLog(\"package.json\");\n}\n"],"names":[],"mappings":";;;;AA0BA,SAAS,aAAa,OAA+B;AACnD,MAAI,CAAC,OAAO;AACH,WAAA;AAAA,EACT;AACI,MAAA,OAAO,UAAU,UAAU;AACtB,WAAA;AAAA,EACT;AACA,SAAO,MAAM;AACf;AAEA,eAAsB,iBACpB,QACA,QACA,EAAE,YAAY,WACd;AAGA,QAAM,aAAoD,CAAA;AAC1D,aAAW,CAAC,KAAK,KAAK,KAAK,YAAY;AACrC,UAAM,WAAkC,CAAA;AAExC,QAAI,MAAM,KAAK;AACb,eAAS,SAAS;AAClB,UAAI,MAAM,MAAM;AACL,iBAAA,OAAO,QAAQ,MAAM;AAAA,MAChC;AACS,eAAA,OAAO,UAAU,MAAM;AAAA,IAClC;AACA,QAAI,MAAM,KAAK;AACb,eAAS,UAAU;AACnB,UAAI,MAAM,MAAM;AACL,iBAAA,QAAQ,QAAQ,MAAM;AAAA,MACjC;AACS,eAAA,QAAQ,UAAU,MAAM;AAAA,IACnC;AAGS,aAAA,QAAQ,MAAM,QAAQ,MAAM;AAGrC,aAAS,UAAU,MAAM;AAEzB,eAAW,GAAG,IAAI;AAAA,EACpB;AACA,aAAW,gBAAgB,IAAI;AAE/B,QAAM,MAAM,QAAQ,OAAO,IAAI,OAAO,YAAY,OAAO,IAAI;AAEvD,QAAA,aACJ,OAAO,WAAW,GAAG,MAAM,WAAW,WAAW,GAAG,IAAI;AAC1D,QAAM,MAAM;AAAA,IACV,MAAM,OAAO;AAAA,IACb,MAAM;AAAA,IACN,SAAS,OAAO;AAAA,IAChB;AAAA,IACA,OAAO,yCAAY;AAAA,IACnB,QAAQ,aAAa,yCAAY,MAAM;AAAA,IACvC,MAAM,aAAa,yCAAY,OAAO;AAAA,IACtC,aAAa,OAAO,eAAe;AAAA,IACnC,SAAS;AAAA,IACT,cAAc,OAAO,gBAAgB;AAAA,IACrC,sBAAsB,OAAO,wBAAwB;AAAA,IACrD,YAAY,OAAO;AAAA,IACnB,UAAU,OAAO;AAAA,IACjB,QAAQ,OAAO;AAAA,IACf,cAAc,OAAO;AAAA,IACrB,SAAS,OAAO;AAAA,IAChB,kBAAkB,OAAO;AAAA,IACzB,SAAS,OAAO;AAAA,IAChB,SAAS,OAAO;AAAA,IAChB,SAAS,OAAO;AAAA,IAChB,IAAI,OAAO;AAAA,IACX,KAAK,OAAO;AAAA,IACZ,aAAa,OAAO;AAAA,IACpB,MAAM,OAAO;AAAA,IACb,aAAa,OAAO;AAAA,IACpB,OAAO,OAAO;AAAA,IACd,UAAU,OAAO;AAAA,IACjB,iBAAiB,OAAO;AAAA,EAAA;AAGpB,QAAA,UAAU,GAAG,MAAM,iBAAiB,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC;AAEtE,QAAM,cAAc;AACtB;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "smartbundle",
3
3
  "type": "commonjs",
4
- "version": "0.11.0-alpha.1",
4
+ "version": "0.11.0-alpha.3",
5
5
  "bin": {
6
6
  "smartbundle": "__bin__/smartbundle.js"
7
7
  },