@deltabox/toolchain 2.4.0 → 2.6.0

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 (104) hide show
  1. package/CHANGELOG.md +106 -4
  2. package/dist/biome.d.ts +2 -2
  3. package/dist/biome.js +1 -1
  4. package/dist/cli/commands/sync.js +1 -1
  5. package/dist/cli/commands/watch.js +1 -1
  6. package/dist/cli/index.js +1 -1
  7. package/dist/cli/register.js +1 -1
  8. package/dist/cli/tooling-commands.js +1 -0
  9. package/dist/config.d.ts +2 -1
  10. package/dist/config.js +1 -1
  11. package/dist/core.d.ts +3 -3
  12. package/dist/core.js +1 -1
  13. package/dist/index.d.ts +10 -7
  14. package/dist/index.js +1 -1
  15. package/dist/package.js +1 -1
  16. package/dist/packages/biome/src/index.d.ts +142 -7
  17. package/dist/packages/biome/src/index.js +1 -1
  18. package/dist/packages/changelog/src/workflows.d.ts +19 -5
  19. package/dist/packages/changelog/src/workflows.js +5 -4
  20. package/dist/packages/config/src/generators/commands.d.ts +22 -0
  21. package/dist/packages/config/src/generators/commands.js +2 -0
  22. package/dist/packages/config/src/generators/index.d.ts +2 -1
  23. package/dist/packages/config/src/generators/index.js +1 -1
  24. package/dist/packages/config/src/generators/types.js +1 -1
  25. package/dist/packages/config/src/index.d.ts +3 -2
  26. package/dist/packages/config/src/index.js +1 -1
  27. package/dist/packages/config/src/schema.js +1 -1
  28. package/dist/packages/core/src/editor-config.js +1 -1
  29. package/dist/packages/core/src/index.d.ts +4 -4
  30. package/dist/packages/core/src/index.js +1 -1
  31. package/dist/packages/core/src/loader.js +1 -1
  32. package/dist/packages/core/src/sync.d.ts +6 -0
  33. package/dist/packages/core/src/sync.js +1 -1
  34. package/dist/packages/core/src/watch.d.ts +41 -0
  35. package/dist/packages/core/src/watch.js +1 -1
  36. package/dist/packages/migrate/src/oxlint-map.d.ts +34 -1
  37. package/dist/packages/migrate/src/oxlint-map.js +1 -1
  38. package/dist/packages/project/src/cli/index.js +1 -1
  39. package/dist/packages/project/src/index.d.ts +3 -3
  40. package/dist/packages/project/src/index.js +1 -1
  41. package/dist/packages/project/src/sync.js +1 -1
  42. package/dist/packages/project/src/typescript.d.ts +12 -4
  43. package/dist/packages/project/src/typescript.js +12 -11
  44. package/dist/packages/shared/src/config-schema/alias-rewrite.d.ts +32 -0
  45. package/dist/packages/shared/src/config-schema/biome.js +1 -1
  46. package/dist/packages/shared/src/config-schema/changelog.d.ts +293 -288
  47. package/dist/packages/shared/src/config-schema/ci.d.ts +888 -864
  48. package/dist/packages/shared/src/config-schema/format.d.ts +4 -6
  49. package/dist/packages/shared/src/config-schema/format.js +1 -1
  50. package/dist/packages/shared/src/config-schema/generated/gitlab-ci.d.ts +1 -1
  51. package/dist/packages/shared/src/config-schema/generated/oxfmt-config.d.ts +1 -1
  52. package/dist/packages/shared/src/config-schema/index.d.ts +2739 -2602
  53. package/dist/packages/shared/src/config-schema/json.d.ts +1 -1
  54. package/dist/packages/shared/src/config-schema/tsconfig.d.ts +21 -0
  55. package/dist/packages/shared/src/config-schema/tsconfig.js +1 -1
  56. package/dist/packages/shared/src/config-schema/vendor-types.d.ts +156 -0
  57. package/dist/packages/shared/src/config-schema/workflow.d.ts +1741 -1704
  58. package/dist/packages/shared/src/config-schema/workflow.js +1 -1
  59. package/dist/packages/shared/src/config-types.d.ts +102 -28
  60. package/dist/packages/shared/src/ignore.d.ts +5 -5
  61. package/dist/packages/shared/src/ignore.js +1 -1
  62. package/dist/packages/shared/src/index.d.ts +8 -5
  63. package/dist/packages/shared/src/index.js +1 -1
  64. package/dist/packages/shared/src/template.d.ts +1 -1
  65. package/dist/packages/shared/src/toolchain.d.ts +12 -3
  66. package/dist/packages/shared/src/toolchain.js +1 -1
  67. package/dist/packages/shared/src/tsconfig-files.d.ts +14 -0
  68. package/dist/packages/shared/src/tsconfig-files.js +1 -0
  69. package/dist/packages/shared/src/types.d.ts +4 -2
  70. package/dist/packages/shared/src/vite-defaults.d.ts +71 -4
  71. package/dist/packages/shared/src/vite-defaults.js +1 -1
  72. package/dist/packages/shared/src/yaml.d.ts +1 -1
  73. package/dist/packages/tsconfig/src/auto.d.ts +11 -0
  74. package/dist/packages/tsconfig/src/auto.js +1 -0
  75. package/dist/packages/tsconfig/src/cli/generate/index.d.ts +58 -0
  76. package/dist/packages/tsconfig/src/cli/generate/index.js +1 -1
  77. package/dist/packages/tsconfig/src/cli/generate/utils.d.ts +12 -0
  78. package/dist/packages/tsconfig/src/cli/generate/utils.js +1 -1
  79. package/dist/packages/tsconfig/src/cli/index.js +1 -1
  80. package/dist/packages/tsconfig/src/files.d.ts +5 -0
  81. package/dist/packages/tsconfig/src/files.js +1 -0
  82. package/dist/packages/tsconfig/src/index.d.ts +6 -5
  83. package/dist/packages/tsconfig/src/index.js +1 -1
  84. package/dist/packages/tsconfig/src/overrides.d.ts +3 -3
  85. package/dist/packages/tsconfig/src/resolve.d.ts +15 -3
  86. package/dist/packages/tsconfig/src/resolve.js +1 -1
  87. package/dist/packages/tsconfig/src/sync.d.ts +5 -11
  88. package/dist/packages/tsconfig/src/sync.js +1 -1
  89. package/dist/packages/tsconfig/src/templates.d.ts +38 -4
  90. package/dist/packages/tsconfig/src/workspaces.d.ts +36 -0
  91. package/dist/packages/tsconfig/src/workspaces.js +1 -0
  92. package/dist/packages/tsdown/src/config/node.js +1 -1
  93. package/dist/packages/vite/src/commands.js +1 -1
  94. package/dist/project.d.ts +2 -2
  95. package/dist/project.js +1 -1
  96. package/dist/shared.d.ts +7 -4
  97. package/dist/shared.js +1 -1
  98. package/dist/sync.d.ts +2 -0
  99. package/dist/sync.js +1 -1
  100. package/dist/tooling.d.ts +18 -1
  101. package/dist/tooling.js +1 -1
  102. package/dist/tsconfig.d.ts +5 -4
  103. package/dist/tsconfig.js +1 -1
  104. package/package.json +15 -14
@@ -1,3 +1,3 @@
1
1
  import{default as e}from"node:path";import"node:url";import.meta.url;import{mergeOverride as t}from"./overrides.js";import{createRequire as n}from"node:module";import r from"node:fs";function i(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=e[i+1];if(n)t+=a,r?r=!1:a===`\\`?r=!0:a===`"`&&(n=!1);else if(a===`"`)n=!0,t+=a;else if(a===`/`&&o===`/`){for(;i<e.length&&e[i]!==`
2
2
  `;)i++;t+=`
3
- `}else if(a===`/`&&o===`*`){for(i+=2;i<e.length&&(e[i]!==`*`||e[i+1]!==`/`);)i++;i++}else t+=a}return t}function a(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n)t+=a,r?r=!1:a===`\\`?r=!0:a===`"`&&(n=!1);else if(a===`"`)n=!0,t+=a;else{if(a===`,`){let t=i+1;for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]===`}`||e[t]===`]`)continue}t+=a}}return t}function o(e){return s(r.readFileSync(e,`utf-8`))}function s(e){return JSON.parse(a(i(e.replace(/^\uFEFF/,``))))}function c(e){try{return r.statSync(e).isFile()}catch{return!1}}function l(t,r){let i=n(e.join(r,`__dbx_tsconfig__.js`)),a=[];if(t.startsWith(`.`)||e.isAbsolute(t)){let n=e.resolve(r,t);a.push(n,`${n}.json`,e.join(n,`tsconfig.json`))}else{try{let e=i.resolve(t);e.endsWith(`.json`)&&a.push(e)}catch{}for(let e of[`tsconfig.json`,`tsconfig.base.json`])try{a.push(i.resolve(`${t}/${e}`))}catch{}if(!t.endsWith(`.json`))try{a.push(i.resolve(`${t}.json`))}catch{}}return a.find(c)}function u(e){return Array.isArray(e.extends)?e.extends:e.extends?[e.extends]:[]}function d(t,n){let r=e.resolve(t);if(n.has(r))return[];n.add(r);let i=o(r),a=e.dirname(r),s=[{file:r,dir:a,config:i}];for(let e of[...u(i)].reverse()){let t=l(e,a);if(!t)throw Error(`Cannot resolve tsconfig "extends": "${e}" from ${r}`);s.push(...d(t,n))}return s}function f(t,n){let r=e.join(n,`tsconfig.json`);if(c(r))return r;let i=e.resolve(t);for(;;){let t=e.join(i,`tsconfig.json`);if(c(t))return t;let n=e.dirname(i);if(n===i)break;i=n}throw Error(`No tsconfig.json found from ${t} (root: ${n})`)}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function m(e,t){let n=e.indexOf(`*`);if(n===-1)return{find:e,replacement:t,score:1/0};let r=e.slice(0,n),i=e.slice(n+1),a=`^${p(r)}(.*)${p(i)}$`;return{find:new RegExp(a),replacement:t.replace(/\*/g,`$1`),score:r.length+1}}function h(n={}){let r=e.resolve(n.cwd??process.cwd()),i=e.resolve(n.root??r),a=n.tsconfig?e.resolve(i,n.tsconfig):f(r,i),s=n.extends===!1?[{file:a,dir:e.dirname(a),config:o(a)}]:d(a,/* @__PURE__ */ new Set);n.overrides&&s[0]&&(s[0]={...s[0],config:t(s[0].config,n.overrides)});let c=s.find(e=>e.config.compilerOptions?.paths!==void 0),l=s.find(e=>e.config.references!==void 0),u=s.find(e=>e.config.compilerOptions?.baseUrl!==void 0),p=u?e.resolve(u.dir,u.config.compilerOptions?.baseUrl??`.`):c?.dir??e.dirname(a),h={};for(let[t,n]of Object.entries(c?.config.compilerOptions?.paths??{}))h[t]=(Array.isArray(n)?n:[n]).map(t=>e.resolve(p,t));let g=(l?.config.references??[]).map(t=>({...t,path:e.resolve(l?.dir??e.dirname(a),t.path)}));return{alias:Object.entries(h).filter(([,e])=>e.length>0).map(([e,t])=>m(e,t[0])).sort((e,t)=>t.score-e.score).map(({find:e,replacement:t})=>({find:e,replacement:t})),paths:h,references:g}}export{s as parseTsconfig,o as readTsconfig,h as resolveTsconfig};
3
+ `}else if(a===`/`&&o===`*`){for(i+=2;i<e.length&&(e[i]!==`*`||e[i+1]!==`/`);)i++;i++}else t+=a}return t}function a(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(n)t+=a,r?r=!1:a===`\\`?r=!0:a===`"`&&(n=!1);else if(a===`"`)n=!0,t+=a;else{if(a===`,`){let t=i+1;for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]===`}`||e[t]===`]`)continue}t+=a}}return t}function o(e){return s(r.readFileSync(e,`utf-8`))}function s(e){return JSON.parse(a(i(e.replace(/^\uFEFF/,``))))}function c(e){try{return r.statSync(e).isFile()}catch{return!1}}function l(t,r){let i=n(e.join(r,`__dbx_tsconfig__.js`)),a=[];if(t.startsWith(`.`)||e.isAbsolute(t)){let n=e.resolve(r,t);a.push(n,`${n}.json`,e.join(n,`tsconfig.json`))}else{try{let e=i.resolve(t);e.endsWith(`.json`)&&a.push(e)}catch{}for(let e of[`tsconfig.json`,`tsconfig.base.json`])try{a.push(i.resolve(`${t}/${e}`))}catch{}if(!t.endsWith(`.json`))try{a.push(i.resolve(`${t}.json`))}catch{}}return a.find(c)}function u(e){return Array.isArray(e.extends)?e.extends:e.extends?[e.extends]:[]}function d(t,n){let r=e.resolve(t);if(n.has(r))return[];n.add(r);let i=o(r),a=e.dirname(r),s=[{file:r,dir:a,config:i}];for(let e of[...u(i)].reverse()){let t=l(e,a);if(!t)throw Error(`Cannot resolve tsconfig "extends": "${e}" from ${r}`);s.push(...d(t,n))}return s}function f(t,n){let r=e.join(n,`tsconfig.json`);if(c(r))return r;let i=e.resolve(t);for(;;){let t=e.join(i,`tsconfig.json`);if(c(t))return t;let n=e.dirname(i);if(n===i)break;i=n}throw Error(`No tsconfig.json found from ${t} (root: ${n})`)}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function m(e,t){let n=e.indexOf(`*`);if(n===-1)return{find:e,replacement:t,score:1/0};let r=e.slice(0,n),i=e.slice(n+1),a=`^${p(r)}(.*)${p(i)}$`;return{find:new RegExp(a),replacement:t.replace(/\*/g,`$1`),score:r.length+1}}function h(t,n,r,i){let a=e.resolve(n),o=e.dirname(a),s=[{file:a,dir:o,config:t}];if(!r)return s;i.add(a);for(let e of[...u(t)].reverse()){let t=l(e,o);if(!t)throw Error(`Cannot resolve tsconfig "extends": "${e}" from ${a}`);s.push(...d(t,i))}return s}function g(t,n){let r=t.find(e=>e.config.compilerOptions?.paths!==void 0),i=t.find(e=>e.config.references!==void 0),a=t.find(e=>e.config.compilerOptions?.baseUrl!==void 0),o=a?e.resolve(a.dir,a.config.compilerOptions?.baseUrl??`.`):r?.dir??e.dirname(n),s={};for(let[t,n]of Object.entries(r?.config.compilerOptions?.paths??{}))s[t]=(Array.isArray(n)?n:[n]).map(t=>e.resolve(o,t));let c=(i?.config.references??[]).map(t=>({...t,path:e.resolve(i?.dir??e.dirname(n),t.path)}));return{alias:Object.entries(s).filter(([,e])=>e.length>0).map(([e,t])=>m(e,t[0])).sort((e,t)=>t.score-e.score).map(({find:e,replacement:t})=>({find:e,replacement:t})),paths:s,references:c}}function _(n,r,i={}){let a=e.join(e.resolve(r),`tsconfig.json`),o=h(n,a,i.extends!==!1,/* @__PURE__ */ new Set);return i.overrides&&o[0]&&(o[0]={...o[0],config:t(o[0].config,i.overrides)}),g(o,a)}function v(t,n){if(!c(t))return;let r=d(e.resolve(t),/* @__PURE__ */ new Set).find(e=>{let t=e.config.compilerOptions?.[n];return typeof t==`string`&&t.length>0});if(r)return e.resolve(r.dir,r.config.compilerOptions?.[n])}function y(n={}){let r=e.resolve(n.cwd??process.cwd()),i=e.resolve(n.root??r),a=n.tsconfig?e.resolve(i,n.tsconfig):f(r,i),s=n.extends===!1?[{file:a,dir:e.dirname(a),config:o(a)}]:d(a,/* @__PURE__ */ new Set);return n.overrides&&s[0]&&(s[0]={...s[0],config:t(s[0].config,n.overrides)}),g(s,a)}export{s as parseTsconfig,o as readTsconfig,y as resolveTsconfig,v as resolveTsconfigCompilerOption,_ as resolveTsconfigConfig};
@@ -1,17 +1,10 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
- import { SyncTask, ToolchainConfig } from "../../shared/src/toolchain.js";
3
+ import "./files.js";
4
+ import { SyncTask } from "../../shared/src/toolchain.js";
5
+ import { TsconfigFileNameSet, tsconfigFileNames } from "../../shared/src/tsconfig-files.js";
4
6
  import "../../shared/src/index.js";
5
7
  //#region packages/tsconfig/src/sync.d.ts
6
- /** The tsconfig file names the task reads and patches (custom names honoured). */
7
- export interface TsconfigFileNames {
8
- baseFile: string;
9
- rootFile: string;
10
- defaultFile: string;
11
- buildFile: string;
12
- }
13
- /** Resolve the configured tsconfig file names (defaults for the unset ones). */
14
- export declare function tsconfigFileNames(config: ToolchainConfig): TsconfigFileNames;
15
8
  /**
16
9
  * The tsconfig sync task: regenerates every workspace `tsconfig.json` from the
17
10
  * workspace default tsconfig files, applying the monorepo aliases + references,
@@ -20,4 +13,5 @@ export declare function tsconfigFileNames(config: ToolchainConfig): TsconfigFile
20
13
  * are honoured everywhere, including the watched inputs.
21
14
  */
22
15
  export declare function tsconfigSyncTask(): SyncTask;
23
- //#endregion
16
+ //#endregion
17
+ export { type TsconfigFileNameSet as TsconfigFileNames, tsconfigFileNames };
@@ -1 +1 @@
1
- import{default as e}from"node:path";import"node:url";import.meta.url;import{warningMessage as t}from"../../shared/src/messages.js";import{sectionConfig as n,sectionEnabled as r}from"../../shared/src/toolchain.js";import"../../shared/src/index.js";import{addedOverrideLeaves as i,applyOverride as a,hasOverrideKeys as o,isAppliedOverride as s,mergeOverride as c,recordOverrideSnapshot as l,removedOverrideLeaves as u,revertOverride as d}from"./overrides.js";import{parseTsconfig as f}from"./resolve.js";import{generateTsconfigs as p}from"./cli/generate/index.js";import{deleteSnapshot as m,detectIndent as h,getSnapshot as g,setSnapshot as _,stringifyTsconfig as v,toRepoRelative as y}from"./snapshots.js";import b from"node:fs";import{isDeepStrictEqual as x}from"node:util";function S(e){let t=n(e.tsconfig)??{};return{baseFile:t.baseFile??`tsconfig.base.json`,rootFile:t.rootFile??`tsconfig.workspaces.json`,defaultFile:t.defaultFile??`tsconfig.default.json`,buildFile:t.buildFile??`tsconfig.build.json`}}function C(t,n){return e.relative(t,n).replace(/\\/g,`/`)}function w(n,r,p){let S=n.manifest?.tsconfigOverrides??{},C=structuredClone(n.manifest?.snapshots??{}),w={},T=[],E=/* @__PURE__ */ new Map;for(let e of r){let r=y(n.cwd,e.file);if(!r){o(e.override)&&n.warn(t(`tsconfig.outside-root`,{file:e.file}),`tsconfig.outside-root`);continue}let i=E.get(r);E.set(r,i?{...i,override:c(i.override??{},e.override)}:e)}let D=/* @__PURE__ */ new Set;for(let[t,r]of Object.entries(S))!E.has(t)&&s(r)&&y(n.cwd,t)&&(D.add(t),E.set(t,{file:e.resolve(n.cwd,t),kind:r.kind,override:void 0}));for(let[e,r]of E){let c=s(S[e])?S[e]:void 0,y=o(r.override)?r.override:void 0;if(!c&&!y)continue;if(!b.existsSync(r.file)){n.warn(t(`tsconfig.missing-file`,{file:e,kind:r.kind}),`tsconfig.missing-file`),c&&!D.has(e)&&(w[e]=c),D.has(e)&&m(C,e);continue}let E=b.readFileSync(r.file,`utf-8`),O=f(E),k=structuredClone(O),A=g(C,e),j=A===void 0?structuredClone(O):A,{kept:M}=d(k,u(c?.override,y),j);for(let r of M)n.warn(t(`tsconfig.override-edited`,{file:e,key:r}),`tsconfig.override-edited`);y?(l(j,k,i(c?.override,y)),_(C,e,j),w[e]={kind:r.kind,override:structuredClone(y)},a(k,y)):m(C,e),x(O,k)||T.push({path:e,content:v(k,h(E,p)),track:!1})}return n.manifest&&(Object.keys(w).length>0?n.manifest.tsconfigOverrides=w:delete n.manifest.tsconfigOverrides,Object.keys(C).length>0?n.manifest.snapshots=C:delete n.manifest.snapshots),T}function T(){return{name:`tsconfig`,projectTypes:[`monorepo-root`],enabled:e=>r(e.tsconfig),watch:e=>{let t=S(e);return[t.rootFile,`**/${t.defaultFile}`]},keep:e=>[.../* @__PURE__ */ new Set([S(e).buildFile,`tsconfig.build.json`])],run:t=>{let r=n(t.config.tsconfig)??{},{baseFile:i,rootFile:a,defaultFile:o,buildFile:s}=S(t.config),c=e.resolve(t.cwd,a),l=b.existsSync(c),u=r.indent??4,d=r.glob??`**/${o}`,f=r.overrides??{},m=p({cwd:t.cwd,aliases:r.aliases??!0,composite:r.composite??!1,refs:r.refs??!1,indent:u,glob:d,...r.exclude===void 0?{}:{exclude:r.exclude},...r.gitignore===void 0?{}:{gitignore:r.gitignore},defaultFile:o,buildFile:s,monorepoTsconfigFilename:a,log:!1,write:!1,overrides:f});if(m.length===0){if(r.refs||r.composite||l){let e=Array.isArray(d)?d.join(`, `):d,n=[r.refs?`project references`:``,r.composite?`composite`:``,l?`${a}`:``].filter(Boolean);t.warn(`no workspace tsconfig files found (looked for ${e}), but ${n.join(` + `)} have nothing to wire.`)}else t.log(`tsconfig: no workspace tsconfig files found; skipping.`)}let h=m.map(e=>({path:C(t.cwd,e.targetTsconfigPath),content:`${JSON.stringify(e.newTsconfig,null,u)}\n`})),g=[{file:e.resolve(t.cwd,i),kind:`base`,override:f.base},{file:c,kind:`root`,override:f.root}];for(let e of m)g.push({file:e.tsconfigPath,kind:`default`,override:f.default}),g.push({file:e.targetTsconfigBuildPath,kind:`build`,override:f.build});return h.push(...w(t,g,u)),m.length>0&&t.log(`tsconfig: regenerated ${m.length} workspace tsconfig(s).`),h}}}export{S as tsconfigFileNames,T as tsconfigSyncTask};
1
+ import{default as e}from"node:path";import"node:url";import.meta.url;import{warningMessage as t}from"../../shared/src/messages.js";import{sectionConfig as n,sectionEnabled as r}from"../../shared/src/toolchain.js";import{tsconfigFileNames as i}from"../../shared/src/tsconfig-files.js";import"../../shared/src/index.js";import{addedOverrideLeaves as a,applyOverride as o,hasOverrideKeys as s,isAppliedOverride as c,mergeOverride as l,recordOverrideSnapshot as u,removedOverrideLeaves as d,revertOverride as f}from"./overrides.js";import{parseTsconfig as p}from"./resolve.js";import"./files.js";import{generateWorkspaceTsconfigs as m}from"./cli/generate/index.js";import{deleteSnapshot as h,detectIndent as g,getSnapshot as _,setSnapshot as v,stringifyTsconfig as y,toRepoRelative as b}from"./snapshots.js";import x from"node:fs";import{isDeepStrictEqual as S}from"node:util";function C(t,n){return e.relative(t,n).replace(/\\/g,`/`)}function w(n,r,i){let m=n.manifest?.tsconfigOverrides??{},C=structuredClone(n.manifest?.snapshots??{}),w={},T=[],E=/* @__PURE__ */ new Map;for(let e of r){let r=b(n.cwd,e.file);if(!r){s(e.override)&&n.warn(t(`tsconfig.outside-root`,{file:e.file}),`tsconfig.outside-root`);continue}let i=E.get(r);E.set(r,i?{...i,override:l(i.override??{},e.override)}:e)}let D=/* @__PURE__ */ new Set;for(let[t,r]of Object.entries(m))!E.has(t)&&c(r)&&b(n.cwd,t)&&(D.add(t),E.set(t,{file:e.resolve(n.cwd,t),kind:r.kind,override:void 0}));for(let[e,r]of E){let l=c(m[e])?m[e]:void 0,b=s(r.override)?r.override:void 0;if(!l&&!b)continue;if(!x.existsSync(r.file)&&r.content===void 0){n.warn(t(`tsconfig.missing-file`,{file:e,kind:r.kind}),`tsconfig.missing-file`),l&&!D.has(e)&&(w[e]=l),D.has(e)&&h(C,e);continue}let E=r.content??x.readFileSync(r.file,`utf-8`),O=p(E),k=structuredClone(O),A=_(C,e),j=A===void 0?structuredClone(O):A,{kept:M}=f(k,d(l?.override,b),j);for(let r of M)n.warn(t(`tsconfig.override-edited`,{file:e,key:r}),`tsconfig.override-edited`);b?(u(j,k,a(l?.override,b)),v(C,e,j),w[e]={kind:r.kind,override:structuredClone(b)},o(k,b)):h(C,e),S(O,k)||T.push({path:e,content:y(k,g(E,i)),track:!1})}return n.manifest&&(Object.keys(w).length>0?n.manifest.tsconfigOverrides=w:delete n.manifest.tsconfigOverrides,Object.keys(C).length>0?n.manifest.snapshots=C:delete n.manifest.snapshots),T}function T(){return{name:`tsconfig`,projectTypes:[`monorepo-root`,`monorepo-workspace`],enabled:e=>r(e.tsconfig),watch:e=>{let t=i(e);return[t.rootFile,`**/${t.defaultFile}`]},keep:e=>[.../* @__PURE__ */ new Set([i(e).buildFile,`tsconfig.build.json`])],run:async t=>{let r=n(t.config.tsconfig)??{},{baseFile:a,rootFile:o,defaultFile:c}=i(t.config),l=e.resolve(t.cwd,o),u=x.existsSync(l),d=r.indent??4,f=r.glob??`**/${c}`,p=r.overrides??{},h=await m({cwd:t.cwd,config:t.config,write:!1,writeSidecar:!1,previousAuto:t.manifest?.tsconfigAuto}),g=h.results;if(g.length===0){if(r.refs||r.composite||u){let e=Array.isArray(f)?f.join(`, `):f,n=[r.refs?`project references`:``,r.composite?`composite`:``,u?`${o}`:``].filter(Boolean);t.warn(`no workspace tsconfig files found (looked for ${e}), but ${n.join(` + `)} have nothing to wire.`)}else t.log(`tsconfig: no workspace tsconfig files found; skipping.`)}let _=g.map(e=>({path:C(t.cwd,e.targetTsconfigPath),content:`${JSON.stringify(e.newTsconfig,null,d)}\n`}));for(let e of h.workspaces)!e.isRoot&&e.ownTsconfig&&e.enabled&&x.existsSync(e.targetTsconfigPath)&&_.push({path:C(t.cwd,e.targetTsconfigPath),content:x.readFileSync(e.targetTsconfigPath,`utf-8`),track:!1});let v=p.root;h.writeRoot&&!s(v)&&_.push({path:C(t.cwd,h.rootTsconfigPath),content:h.rootContent,track:!1}),t.manifest&&(h.autoState.paths.length>0||h.autoState.references.length>0?t.manifest.tsconfigAuto=h.autoState:delete t.manifest.tsconfigAuto);let y=[{file:e.resolve(t.cwd,a),kind:`base`,override:p.base},{file:l,kind:`root`,override:p.root,content:h.baseRootContent}];for(let e of g)y.push({file:e.tsconfigPath,kind:`default`,override:p.default}),y.push({file:e.targetTsconfigBuildPath,kind:`build`,override:p.build});return _.push(...w(t,y,d)),g.length>0&&t.log(`tsconfig: regenerated ${g.length} workspace tsconfig(s).`),_}}}export{i as tsconfigFileNames,T as tsconfigSyncTask};
@@ -4,11 +4,45 @@ import { Replacements } from "../../shared/src/template.js";
4
4
  import "../../shared/src/index.js";
5
5
  //#region packages/tsconfig/src/templates.d.ts
6
6
  /** The static tsconfig templates (with `{{envTypesFile}}` tokens). */
7
- export declare const tsconfigBaseTemplate: Record<string, unknown>;
8
- export declare const tsconfigDefaultTemplate: Record<string, unknown>;
9
- export declare const tsconfigBuildTemplate: Record<string, unknown>;
7
+ export declare const tsconfigBaseTemplate: {
8
+ compilerOptions: {
9
+ target: string;
10
+ module: string;
11
+ moduleResolution: string;
12
+ lib: string[];
13
+ strict: boolean;
14
+ skipLibCheck: boolean;
15
+ noEmit: boolean;
16
+ allowJs: boolean;
17
+ esModuleInterop: boolean;
18
+ forceConsistentCasingInFileNames: boolean;
19
+ resolveJsonModule: boolean;
20
+ isolatedModules: boolean;
21
+ noUncheckedIndexedAccess: boolean;
22
+ noFallthroughCasesInSwitch: boolean;
23
+ };
24
+ };
25
+ export declare const tsconfigDefaultTemplate: {
26
+ extends: string;
27
+ compilerOptions: {
28
+ module: string;
29
+ moduleResolution: string;
30
+ jsx: string;
31
+ lib: string[];
32
+ types: string[];
33
+ };
34
+ exclude: string[];
35
+ include: string[];
36
+ };
37
+ export declare const tsconfigBuildTemplate: {
38
+ extends: string;
39
+ include: string[];
40
+ exclude: string[];
41
+ };
10
42
  /** The default replacement values for the tsconfig templates. */
11
- export declare const DEFAULT_TSCONFIG_REPLACEMENTS: Replacements;
43
+ export declare const DEFAULT_TSCONFIG_REPLACEMENTS: {
44
+ readonly envTypesFile: 'src/env.d.ts';
45
+ };
12
46
  /** The `extends` value to write into one generated template. */
13
47
  export type TsconfigExtends = string | string[] | false;
14
48
  /** Per-template `extends` overrides for {@link renderTsconfigTemplates}. */
@@ -0,0 +1,36 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ import { ToolchainTsconfigConfig } from "../../shared/src/config-types.js";
4
+ import "./files.js";
5
+ import { PackageJson } from "../../shared/src/types.js";
6
+ import { TsconfigFileNameSet } from "../../shared/src/tsconfig-files.js";
7
+ import "../../shared/src/index.js";
8
+ //#region packages/tsconfig/src/workspaces.d.ts
9
+ /** A workspace (or the root) with its effective tsconfig settings. */
10
+ export interface TsconfigWorkspace {
11
+ /** Absolute workspace directory. */
12
+ dir: string;
13
+ /** Repo-relative posix path (`.` for the root). */
14
+ relativeDir: string;
15
+ /** `package.json` name, when present. */
16
+ packageName?: string;
17
+ /** `package.json`, when present (used to resolve entry points). */
18
+ packageJson?: PackageJson;
19
+ /** Whether this workspace's effective `tsconfig` section is enabled. */
20
+ enabled: boolean;
21
+ /** Whether this workspace's own config defines a `tsconfig` section. */
22
+ ownTsconfig: boolean;
23
+ /** Whether this is the repository root. */
24
+ isRoot: boolean;
25
+ /** Effective file names (custom `defaultFile`/`buildFile` included). */
26
+ names: TsconfigFileNameSet;
27
+ /** Absolute source default tsconfig path. */
28
+ defaultTsconfigPath: string;
29
+ /** Absolute generated tsconfig path. */
30
+ targetTsconfigPath: string;
31
+ /** Absolute build tsconfig path. */
32
+ buildTsconfigPath: string;
33
+ /** Effective merged `tsconfig` options (root defaults + nested overrides). */
34
+ options: ToolchainTsconfigConfig;
35
+ }
36
+ //#endregion
@@ -0,0 +1 @@
1
+ import{default as e}from"node:path";import"node:url";import.meta.url;import{deepMerge as t}from"../../shared/src/object-utils.js";import{readJsonAt as n}from"../../shared/src/fs-utils.js";import{isIgnoredPath as r,resolveIgnorePatterns as i}from"../../shared/src/ignore.js";import{splitPackageName as a}from"../../shared/src/project.js";import{sectionConfig as o,sectionEnabled as s}from"../../shared/src/toolchain.js";import{tsconfigFileNames as c}from"../../shared/src/tsconfig-files.js";import"../../shared/src/index.js";import{findConfigFile as l,loadToolchainConfig as u}from"../../core/src/loader.js";import{buildProjectGraph as d}from"../../core/src/graph.js";import"../../core/src/index.js";import"./files.js";import f from"node:fs";import{globSync as p}from"glob";function m(e){return e.replace(/\\/g,`/`)}function h(t,n){return m(e.relative(t,n))||`.`}async function g(a){let u=e.resolve(a.cwd),g=d(u),y=a.rootConfig.tsconfig,b=s(y),x=o(y)??{},S=[...g.projects];S.some(e=>e.dir===`.`)||S.unshift({dir:`.`,hasConfig:!!a.rootConfig,dependencies:[]});let C=x.defaultFile??`tsconfig.default.json`,w=a.glob??`**/${C}`,T=i(u,{...a.exclude===void 0?{}:{exclude:a.exclude},...a.gitignore===void 0?{}:{gitignore:a.gitignore}});for(let t of p(w,{cwd:u,nodir:!0,ignore:T})){let n=e.dirname(e.resolve(u,t)),r=h(u,n);S.some(e=>e.dir===r)||S.push({dir:r,hasConfig:!!l(n),dependencies:[]})}let E=i(u,{...a.exclude===void 0?{}:{exclude:a.exclude},...a.gitignore===void 0?{}:{gitignore:a.gitignore}}),D=a.glob?new Set(p(a.glob,{cwd:u,nodir:!0,ignore:E}).map(e=>m(e))):void 0,O=[];for(let i of S){let l=e.resolve(u,i.dir),d=i.dir===`.`,p=h(u,l),g=n(l,`package.json`),y=await _(l,d,i.hasConfig),S=d?a.rootConfig.project:y?.project,C=v(g?.name,S),w=y?.tsconfig,T=w===void 0||s(w),k=b&&T,A=w!==void 0&&typeof w==`object`?o(w)??{}:{},j=t(x,A),M=c({...a.rootConfig,tsconfig:j}),N=e.resolve(l,M.defaultFile),P=f.existsSync(N),F=m(e.relative(u,N));r(F,E)||(!D||D.has(F))&&(!a.requireDefaultFile||P)&&O.push({dir:l,relativeDir:p,...C?{packageName:C}:{},...g?{packageJson:g}:{},enabled:k,ownTsconfig:w!==void 0,isRoot:d,names:M,defaultTsconfigPath:N,targetTsconfigPath:e.resolve(l,`tsconfig.json`),buildTsconfigPath:e.resolve(l,M.buildFile),options:j})}return O}async function _(e,t,n){if(!t&&n)try{return(await u(e,{tolerant:!0,skipHooks:!0})).ownConfig}catch{return}}function v(e,t){if(!t?.name)return e;if(t.name.startsWith(`@`))return t.name;let n=a(e),r=t.scope??n.scope;return r?`${r}/${t.name}`:t.name}function y(e,t){if(e===void 0)return{enabled:t,include:[],exclude:[]};if(typeof e==`boolean`)return{enabled:e,include:[],exclude:[]};if(e&&typeof e==`object`){let t=e;return{enabled:!0,include:Array.isArray(t.include)?t.include.filter(e=>typeof e==`string`):[],exclude:Array.isArray(t.exclude)?t.exclude.filter(e=>typeof e==`string`):[],...t.rewriteAlias===void 0?{}:{rewriteAlias:t.rewriteAlias}}}return{enabled:t,include:[],exclude:[]}}function b(e){let t=y(e.auto,!1);return{auto:t,aliasAuto:y(e.aliasAuto,t.enabled),refsAuto:y(e.refsAuto,t.enabled)}}function x(e,t){let n=e===`.`?``:e;return t.include.length>0&&!t.include.some(e=>S(e,n))?!1:!t.exclude.some(e=>S(e,n))}function S(e,t){let n=e.replace(/\\/g,`/`).replace(/^\.\//,``),r=t.replace(/\\/g,`/`).replace(/^\.\//,``),i=n.split(``).map(e=>e===`*`?`.*`:e===`?`?`.`:e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)).join(``).replace(/\.\*\.\*\//g,`(?:.*/)?`).replace(/\\\*\\\*/g,`.*`);try{return RegExp(`^${i}$`).test(r)}catch{return n===r}}export{S as matchGlob,x as matchesAutoFilter,b as resolveAutoSwitches,g as resolveTsconfigWorkspaces};
@@ -1,3 +1,3 @@
1
- import"node:path";import"node:url";import.meta.url;import{sort as e}from"../../../shared/src/object-utils.js";import"../../../shared/src/index.js";import t from"node:fs";import{globalLogger as n}from"tsdown";function r(n){let r=JSON.parse(t.readFileSync(n,`utf-8`));if(!r.exports||typeof r.exports!=`object`)return!1;let{".":i,"./":a=i,"./types":o,"./package.json":s,...c}=e(r.exports);return r.exports={...a?{".":a}:{},...o?{"./types":o}:{},...c,...s?{"./package.json":s}:{}},t.writeFileSync(n,`${JSON.stringify(r,null,4)}\n`,`utf-8`),!0}const i={format:[`esm`],platform:`node`,fixedExtension:!1,deps:{neverBundle:[/(^node:)|\/tests\/|node_modules/]},dts:{generator:`tsgo`},minify:!0,tsconfig:`tsconfig.build.json`,publint:!0,sourcemap:!1,clean:!0,shims:!0,exports:!0,outputOptions:{assetFileNames:`_assets/[name][extname]`,chunkFileNames:`_chunks/[name]-[hash].js`},hooks:{"build:done":e=>{try{if(process.env.NODE_ENV===`development`)return;let t=e.options.pkg?.packageJsonPath;if(!t)return;r(t)&&n.success(`package.json exports keys sorted!`)}catch(e){n.error(`Failed to sort package.json exports keys:`,e)}}}};function a(e={}){let{name:t,version:n,license:r,homepage:i,banner:a,copyright:o}=e;return e=>{let s=[];return a&&s.push(...a.split(`
1
+ import"node:path";import"node:url";import.meta.url;import e from"node:fs";import{globalLogger as t}from"tsdown";function n(e){return Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)))}function r(t){let r=JSON.parse(e.readFileSync(t,`utf-8`));if(!r.exports||typeof r.exports!=`object`)return!1;let{".":i,"./":a=i,"./types":o,"./package.json":s,...c}=n(r.exports);return r.exports={...a?{".":a}:{},...o?{"./types":o}:{},...c,...s?{"./package.json":s}:{}},e.writeFileSync(t,`${JSON.stringify(r,null,4)}\n`,`utf-8`),!0}const i={format:[`esm`],platform:`node`,fixedExtension:!1,deps:{neverBundle:[/(^node:)|\/tests\/|node_modules/]},dts:{generator:`tsgo`},minify:!0,tsconfig:`tsconfig.build.json`,publint:!0,sourcemap:!1,clean:!0,shims:!0,exports:!0,outputOptions:{assetFileNames:`_assets/[name][extname]`,chunkFileNames:`_chunks/[name]-[hash].js`},hooks:{"build:done":e=>{try{if(process.env.NODE_ENV===`development`)return;let n=e.options.pkg?.packageJsonPath;if(!n)return;r(n)&&t.success(`package.json exports keys sorted!`)}catch(e){t.error(`Failed to sort package.json exports keys:`,e)}}}};function a(e={}){let{name:t,version:n,license:r,homepage:i,banner:a,copyright:o}=e;return e=>{let s=[];return a&&s.push(...a.split(`
2
2
  `)),s.push(e.fileName),t&&s.push(`Source code for ${t}${n?` v${n}`:``}.`),r&&s.push(`Released under the ${r} License.`),i&&s.push(i),s.push(``,`© ${o??`deltabox`}. All rights reserved.`,``),`/*\n${s.map(e=>` * ${e}`).join(`
3
3
  `)} */\n`}}function o(e={},t){let n={...i,...e};return t&&(n.outputOptions={...i.outputOptions,...e.outputOptions,postBanner:a(t)}),n}export{i as baseTsdownConfig,a as createPostBanner,o as createTsdownConfig,r as sortPackageExports};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;const e=[{name:`create`,group:`start`,description:`Create a new project from a template.`},{name:`migrate`,group:`start`,description:`Migrate an existing project to Vite+.`},{name:`config`,group:`start`,description:`Configure hooks and agent integration.`},{name:`hooks`,group:`start`,description:`Manage the Git hook dispatcher.`},{name:`staged`,group:`start`,description:`Run linters on staged files.`},{name:`install`,group:`start`,aliases:[`i`],description:`Install dependencies with the detected package manager.`},{name:`env`,group:`start`,description:`Manage Node.js and package managers.`},{name:`dev`,group:`develop`,description:`Run the Vite development server.`},{name:`check`,group:`develop`,description:`Run format, lint and type checks.`},{name:`lint`,group:`develop`,description:`Lint code with Oxlint.`},{name:`fmt`,group:`develop`,description:`Format code with Oxfmt.`},{name:`test`,group:`develop`,description:`Run tests through bundled Vitest.`},{name:`run`,group:`execute`,description:`Run package scripts and monorepo tasks.`},{name:`exec`,group:`execute`,description:`Execute a binary from local node_modules.`},{name:`node`,group:`execute`,description:`Run a Node.js script in the Vite+ env.`},{name:`dlx`,group:`execute`,description:`Run a package binary without installing it.`},{name:`cache`,group:`execute`,description:`Manage the task cache.`},{name:`build`,group:`build`,description:`Build for production.`},{name:`pack`,group:`build`,description:`Build libraries for npm or standalone binaries.`},{name:`preview`,group:`build`,description:`Preview the production build.`},{name:`add`,group:`deps`,description:`Add packages to dependencies.`},{name:`remove`,group:`deps`,aliases:[`rm`,`un`,`uninstall`],description:`Remove packages from dependencies.`},{name:`update`,group:`deps`,aliases:[`up`],description:`Update packages.`},{name:`dedupe`,group:`deps`,description:`Deduplicate dependencies.`},{name:`outdated`,group:`deps`,description:`Check for outdated packages.`},{name:`list`,group:`deps`,aliases:[`ls`],description:`List installed packages.`},{name:`why`,group:`deps`,aliases:[`explain`],description:`Explain why a package is installed.`},{name:`info`,group:`deps`,aliases:[`view`,`show`],description:`View package metadata.`},{name:`link`,group:`deps`,aliases:[`ln`],description:`Link local packages.`},{name:`unlink`,group:`deps`,description:`Unlink local packages.`},{name:`rebuild`,group:`deps`,description:`Rebuild native modules.`},{name:`pm`,group:`deps`,description:`Forward a command to the package manager.`},{name:`toolchain`,group:`maintain`,description:`Show Vite+ tool versions.`},{name:`upgrade`,group:`maintain`,description:"Update `vp` itself."},{name:`implode`,group:`maintain`,description:"Remove `vp` and all related data."}];function t(e){return`vite:${e}`}function n(t){return e.find(e=>e.name===t||e.aliases?.includes(t)===!0)?.name}export{e as VP_COMMANDS,n as resolveVpCommand,t as viteCommandName};
1
+ import"node:path";import"node:url";import.meta.url;const e=[{name:`create`,group:`start`,description:`Create a new project from a template.`},{name:`migrate`,group:`start`,description:`Migrate an existing project to Vite+.`},{name:`config`,group:`start`,description:`Configure hooks and agent integration.`},{name:`hooks`,group:`start`,description:`Manage the Git hook dispatcher.`},{name:`staged`,group:`start`,description:`Run linters on staged files.`},{name:`install`,group:`start`,aliases:[`i`],description:`Install dependencies with the detected package manager.`},{name:`env`,group:`start`,description:`Manage Node.js and package managers.`},{name:`dev`,group:`develop`,description:`Run the Vite development server.`},{name:`check`,group:`develop`,description:`Run format, lint and type checks.`},{name:`lint`,group:`develop`,description:`Lint code with the active linter (Oxlint via Vite+).`},{name:`fmt`,group:`develop`,description:`Format code with the active formatter (Oxfmt via Vite+).`},{name:`test`,group:`develop`,description:`Run tests through bundled Vitest.`},{name:`run`,group:`execute`,description:`Run package scripts and monorepo tasks.`},{name:`exec`,group:`execute`,description:`Execute a binary from local node_modules.`},{name:`node`,group:`execute`,description:`Run a Node.js script in the Vite+ env.`},{name:`dlx`,group:`execute`,description:`Run a package binary without installing it.`},{name:`cache`,group:`execute`,description:`Manage the task cache.`},{name:`build`,group:`build`,description:`Build for production.`},{name:`pack`,group:`build`,description:`Build libraries for npm or standalone binaries.`},{name:`preview`,group:`build`,description:`Preview the production build.`},{name:`add`,group:`deps`,description:`Add packages to dependencies.`},{name:`remove`,group:`deps`,aliases:[`rm`,`un`,`uninstall`],description:`Remove packages from dependencies.`},{name:`update`,group:`deps`,aliases:[`up`],description:`Update packages.`},{name:`dedupe`,group:`deps`,description:`Deduplicate dependencies.`},{name:`outdated`,group:`deps`,description:`Check for outdated packages.`},{name:`list`,group:`deps`,aliases:[`ls`],description:`List installed packages.`},{name:`why`,group:`deps`,aliases:[`explain`],description:`Explain why a package is installed.`},{name:`info`,group:`deps`,aliases:[`view`,`show`],description:`View package metadata.`},{name:`link`,group:`deps`,aliases:[`ln`],description:`Link local packages.`},{name:`unlink`,group:`deps`,description:`Unlink local packages.`},{name:`rebuild`,group:`deps`,description:`Rebuild native modules.`},{name:`pm`,group:`deps`,description:`Forward a command to the package manager.`},{name:`toolchain`,group:`maintain`,description:`Show Vite+ tool versions.`},{name:`upgrade`,group:`maintain`,description:"Update `vp` itself."},{name:`implode`,group:`maintain`,description:"Remove `vp` and all related data."}];function t(e){return`vite:${e}`}function n(t){return e.find(e=>e.name===t||e.aliases?.includes(t)===!0)?.name}export{e as VP_COMMANDS,n as resolveVpCommand,t as viteCommandName};
package/dist/project.d.ts CHANGED
@@ -2,9 +2,9 @@ import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { CATALOG_MARKER, CATALOG_PACKAGE_MANAGERS, Catalog, catalogFileFor, catalogsSyncTask, hasCatalog, renderPnpmWorkspace, renderYarnrc, supportsCatalogs } from "./packages/project/src/catalogs.js";
4
4
  import { projectCommands } from "./packages/project/src/cli/index.js";
5
- import { CONFIG_EXTENSIONS, ConfigExtension, ConfigLanguage, DEFAULT_CONFIG_EXTENSION, MonorepoRootContext, ProjectContext, RootOxcFiles, SCAFFOLD_CATALOG, WorkspaceContext, WriteGeneratedFilesOptions, configFileName, configLanguage, configUsesEsm, createMonorepoRootFiles, createRootProjectFiles, createWorkspaceFiles, findRootOxcFiles, isConfigExtension, renderApplicationEntry, renderApplicationHtml, renderGitignore, renderSourceEntry, renderSourceTest, renderToolchainConfig, renderWorkspaceTsconfig, resolveConfigExtension, upsertWorkspaceTsconfig, workspaceDirForTsconfig, writeGeneratedFiles } from "./packages/project/src/typescript.js";
5
+ import { CONFIG_EXTENSIONS, ConfigExtension, ConfigLanguage, DEFAULT_CONFIG_EXTENSION, MonorepoRootContext, ProjectContext, RootOxcFiles, SCAFFOLD_CATALOG, WorkspaceContext, WriteGeneratedFilesOptions, configFileName, configLanguage, configUsesEsm, createMonorepoRootFiles, createRootProjectFiles, createWorkspaceFiles, findRootOxcFiles, isConfigExtension, renderApplicationEntry, renderApplicationHtml, renderGitignore, renderSourceEntry, renderSourceTest, renderToolchainConfig, renderWorkspaceTsconfig, resolveConfigExtension, scaffoldCatalog, upsertWorkspaceTsconfig, workspaceDirForTsconfig, writeGeneratedFiles } from "./packages/project/src/typescript.js";
6
6
  import { GENERATED_CONFIG_FILENAME, GenerateProjectConfigsOptions, GenerateProjectConfigsResult, GeneratedProjectConfig, generateProjectConfigs } from "./packages/project/src/config.js";
7
7
  import { projectSyncTask } from "./packages/project/src/sync.js";
8
8
  import "./packages/project/src/index.js";
9
9
  import { DEFAULT_PACKAGE_MANAGER_VERSIONS } from "./packages/shared/src/toolchain.js";
10
- export { CATALOG_MARKER, CATALOG_PACKAGE_MANAGERS, CONFIG_EXTENSIONS, Catalog, ConfigExtension, ConfigLanguage, DEFAULT_CONFIG_EXTENSION, DEFAULT_PACKAGE_MANAGER_VERSIONS, GENERATED_CONFIG_FILENAME, GenerateProjectConfigsOptions, GenerateProjectConfigsResult, GeneratedProjectConfig, MonorepoRootContext, ProjectContext, RootOxcFiles, SCAFFOLD_CATALOG, WorkspaceContext, WriteGeneratedFilesOptions, catalogFileFor, catalogsSyncTask, configFileName, configLanguage, configUsesEsm, createMonorepoRootFiles, createRootProjectFiles, createWorkspaceFiles, findRootOxcFiles, generateProjectConfigs, hasCatalog, isConfigExtension, projectCommands, projectSyncTask, renderApplicationEntry, renderApplicationHtml, renderGitignore, renderPnpmWorkspace, renderSourceEntry, renderSourceTest, renderToolchainConfig, renderWorkspaceTsconfig, renderYarnrc, resolveConfigExtension, supportsCatalogs, upsertWorkspaceTsconfig, workspaceDirForTsconfig, writeGeneratedFiles };
10
+ export { CATALOG_MARKER, CATALOG_PACKAGE_MANAGERS, CONFIG_EXTENSIONS, Catalog, ConfigExtension, ConfigLanguage, DEFAULT_CONFIG_EXTENSION, DEFAULT_PACKAGE_MANAGER_VERSIONS, GENERATED_CONFIG_FILENAME, GenerateProjectConfigsOptions, GenerateProjectConfigsResult, GeneratedProjectConfig, MonorepoRootContext, ProjectContext, RootOxcFiles, SCAFFOLD_CATALOG, WorkspaceContext, WriteGeneratedFilesOptions, catalogFileFor, catalogsSyncTask, configFileName, configLanguage, configUsesEsm, createMonorepoRootFiles, createRootProjectFiles, createWorkspaceFiles, findRootOxcFiles, generateProjectConfigs, hasCatalog, isConfigExtension, projectCommands, projectSyncTask, renderApplicationEntry, renderApplicationHtml, renderGitignore, renderPnpmWorkspace, renderSourceEntry, renderSourceTest, renderToolchainConfig, renderWorkspaceTsconfig, renderYarnrc, resolveConfigExtension, scaffoldCatalog, supportsCatalogs, upsertWorkspaceTsconfig, workspaceDirForTsconfig, writeGeneratedFiles };
package/dist/project.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{DEFAULT_PACKAGE_MANAGER_VERSIONS as e}from"./packages/shared/src/toolchain.js";import{CATALOG_MARKER as t,CATALOG_PACKAGE_MANAGERS as n,catalogFileFor as r,catalogsSyncTask as i,hasCatalog as a,renderPnpmWorkspace as o,renderYarnrc as s,supportsCatalogs as c}from"./packages/project/src/catalogs.js";import{CONFIG_EXTENSIONS as l,DEFAULT_CONFIG_EXTENSION as u,SCAFFOLD_CATALOG as d,configFileName as f,configLanguage as p,configUsesEsm as m,createMonorepoRootFiles as h,createRootProjectFiles as g,createWorkspaceFiles as _,findRootOxcFiles as v,isConfigExtension as y,renderApplicationEntry as b,renderApplicationHtml as x,renderGitignore as S,renderSourceEntry as C,renderSourceTest as w,renderToolchainConfig as T,renderWorkspaceTsconfig as E,resolveConfigExtension as D,upsertWorkspaceTsconfig as O,workspaceDirForTsconfig as k,writeGeneratedFiles as A}from"./packages/project/src/typescript.js";import{GENERATED_CONFIG_FILENAME as j,generateProjectConfigs as M}from"./packages/project/src/config.js";import{projectCommands as N}from"./packages/project/src/cli/index.js";import{projectSyncTask as P}from"./packages/project/src/sync.js";import"./packages/project/src/index.js";export{t as CATALOG_MARKER,n as CATALOG_PACKAGE_MANAGERS,l as CONFIG_EXTENSIONS,u as DEFAULT_CONFIG_EXTENSION,e as DEFAULT_PACKAGE_MANAGER_VERSIONS,j as GENERATED_CONFIG_FILENAME,d as SCAFFOLD_CATALOG,r as catalogFileFor,i as catalogsSyncTask,f as configFileName,p as configLanguage,m as configUsesEsm,h as createMonorepoRootFiles,g as createRootProjectFiles,_ as createWorkspaceFiles,v as findRootOxcFiles,M as generateProjectConfigs,a as hasCatalog,y as isConfigExtension,N as projectCommands,P as projectSyncTask,b as renderApplicationEntry,x as renderApplicationHtml,S as renderGitignore,o as renderPnpmWorkspace,C as renderSourceEntry,w as renderSourceTest,T as renderToolchainConfig,E as renderWorkspaceTsconfig,s as renderYarnrc,D as resolveConfigExtension,c as supportsCatalogs,O as upsertWorkspaceTsconfig,k as workspaceDirForTsconfig,A as writeGeneratedFiles};
1
+ import"node:path";import"node:url";import.meta.url;import{DEFAULT_PACKAGE_MANAGER_VERSIONS as e}from"./packages/shared/src/toolchain.js";import{CATALOG_MARKER as t,CATALOG_PACKAGE_MANAGERS as n,catalogFileFor as r,catalogsSyncTask as i,hasCatalog as a,renderPnpmWorkspace as o,renderYarnrc as s,supportsCatalogs as c}from"./packages/project/src/catalogs.js";import{CONFIG_EXTENSIONS as l,DEFAULT_CONFIG_EXTENSION as u,SCAFFOLD_CATALOG as d,configFileName as f,configLanguage as p,configUsesEsm as m,createMonorepoRootFiles as h,createRootProjectFiles as g,createWorkspaceFiles as _,findRootOxcFiles as v,isConfigExtension as y,renderApplicationEntry as b,renderApplicationHtml as x,renderGitignore as S,renderSourceEntry as C,renderSourceTest as w,renderToolchainConfig as T,renderWorkspaceTsconfig as E,resolveConfigExtension as D,scaffoldCatalog as O,upsertWorkspaceTsconfig as k,workspaceDirForTsconfig as A,writeGeneratedFiles as j}from"./packages/project/src/typescript.js";import{GENERATED_CONFIG_FILENAME as M,generateProjectConfigs as N}from"./packages/project/src/config.js";import{projectCommands as P}from"./packages/project/src/cli/index.js";import{projectSyncTask as F}from"./packages/project/src/sync.js";import"./packages/project/src/index.js";export{t as CATALOG_MARKER,n as CATALOG_PACKAGE_MANAGERS,l as CONFIG_EXTENSIONS,u as DEFAULT_CONFIG_EXTENSION,e as DEFAULT_PACKAGE_MANAGER_VERSIONS,M as GENERATED_CONFIG_FILENAME,d as SCAFFOLD_CATALOG,r as catalogFileFor,i as catalogsSyncTask,f as configFileName,p as configLanguage,m as configUsesEsm,h as createMonorepoRootFiles,g as createRootProjectFiles,_ as createWorkspaceFiles,v as findRootOxcFiles,N as generateProjectConfigs,a as hasCatalog,y as isConfigExtension,P as projectCommands,F as projectSyncTask,b as renderApplicationEntry,x as renderApplicationHtml,S as renderGitignore,o as renderPnpmWorkspace,C as renderSourceEntry,w as renderSourceTest,T as renderToolchainConfig,E as renderWorkspaceTsconfig,s as renderYarnrc,D as resolveConfigExtension,O as scaffoldCatalog,c as supportsCatalogs,k as upsertWorkspaceTsconfig,A as workspaceDirForTsconfig,j as writeGeneratedFiles};
package/dist/shared.d.ts CHANGED
@@ -9,13 +9,15 @@ import { insertMissingJsonc, mergeJsonAt, readJsonAt, readJsonFile, readJsoncAt,
9
9
  import { DEFAULT_FMT_IGNORE_PATTERNS, DEFAULT_IGNORE_PATTERNS, DEFAULT_LINT_IGNORE_PATTERNS, IgnoreOptions, collectGitignorePatterns, isIgnoredPath, resolveIgnorePatterns } from "./packages/shared/src/ignore.js";
10
10
  import { ERROR_MAP, ErrorId, MessageId, WARNING_MAP, WarningId, errorMessage, formatMessage, formatMessageId, warningMessage } from "./packages/shared/src/messages.js";
11
11
  import { Sortable, applyOverrides, deepMerge, isPlainObject, isUnsafeKey, mapValues, resolveSort, sort } from "./packages/shared/src/object-utils.js";
12
+ import { ToolchainTsconfigAliasRewrite, ToolchainTsconfigAliasRewriteKey, ToolchainTsconfigAliasRewriteRule } from "./packages/shared/src/config-schema/alias-rewrite.js";
12
13
  import { AzurePipelines } from "./packages/shared/src/config-schema/generated/azure-pipelines.js";
13
14
  import { BiomeConfig } from "./packages/shared/src/config-schema/generated/biome-config.js";
14
15
  import { GitHubWorkflow } from "./packages/shared/src/config-schema/generated/github-workflow.js";
15
16
  import { GitLabCi } from "./packages/shared/src/config-schema/generated/gitlab-ci.js";
16
17
  import { OxfmtConfig } from "./packages/shared/src/config-schema/generated/oxfmt-config.js";
17
18
  import { OxlintConfig } from "./packages/shared/src/config-schema/generated/oxlint-config.js";
18
- import { AzureWorkflowSetting, ChangelogBranchesConfig, ChangelogBumpRule, ChangelogBumpRuleMatch, ChangelogCommitFormatConfig, ChangelogCommitlintConfig, ChangelogConfig, ChangelogProviderConfig, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowSetting, CiChangelogConfig, ConfigJsonValue, CustomWorkflowSettings, DbxConfigSections, GitHubWorkflowSetting, GitLabWorkflowSetting, ProjectType, ToolchainBiomeConfig, ToolchainCatalogsConfig, ToolchainCiConfig, ToolchainConfigSections, ToolchainFmtConfig, ToolchainLintConfig, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainRegistryConfig, ToolchainRegistryPolicy, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainTsconfigOverrides, ToolchainViteConfig, ToolchainVscodeSettings, ToolchainWatchConfig, WorkflowExtra, WorkflowJob, WorkflowOptions, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, WorkflowTokens, WorkflowTriggers } from "./packages/shared/src/config-types.js";
19
+ import { DprintConfig, EslintConfig, EslintLanguageOptions, EslintLinterOptions, PrettierConfig } from "./packages/shared/src/config-schema/vendor-types.js";
20
+ import { AzureWorkflowSetting, ChangelogBranchesConfig, ChangelogBumpRule, ChangelogBumpRuleMatch, ChangelogCommitFormatConfig, ChangelogCommitlintConfig, ChangelogConfig, ChangelogProviderConfig, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowSetting, CiChangelogConfig, ConfigJsonValue, CustomWorkflowSettings, DbxConfigSections, GitHubWorkflowSetting, GitLabWorkflowSetting, ProjectType, ToolchainBiomeConfig, ToolchainCatalogsConfig, ToolchainCiConfig, ToolchainConfigSections, ToolchainFmtConfig, ToolchainLintConfig, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainRegistryConfig, ToolchainRegistryPolicy, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigAliasAutoSetting, ToolchainTsconfigAutoSetting, ToolchainTsconfigConfig, ToolchainTsconfigOverrides, ToolchainViteConfig, ToolchainVscodeSettings, ToolchainWatchConfig, WorkflowExtra, WorkflowJob, WorkflowOptions, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, WorkflowTokens, WorkflowTriggers } from "./packages/shared/src/config-types.js";
19
21
  import { ReplacementOptions, ReplacementValue, Replacements, Replacer, applyReplacements, applyReplacementsDeep, createReplacer, defineReplacements, extractTokens, hasUnresolvedTokens, tokenPattern } from "./packages/shared/src/template.js";
20
22
  import { biomeConfigOptionsSchema, biomeConfigSchema } from "./packages/shared/src/config-schema/biome.js";
21
23
  import { catalogsConfigSchema } from "./packages/shared/src/config-schema/catalogs.js";
@@ -34,14 +36,15 @@ import { viteConfigSchema } from "./packages/shared/src/config-schema/vite.js";
34
36
  import { watchConfigSchema } from "./packages/shared/src/config-schema/watch.js";
35
37
  import { VendorWorkflowConfig, azureWorkflowSettingSchema, customWorkflowSettingsSchema, githubWorkflowSettingSchema, gitlabWorkflowSettingSchema, isVendorWorkflowConfig, workflowConfigSchema, workflowExtraSchema, workflowJobSchema, workflowOptionsSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, workflowTokensSchema, workflowTriggersSchema } from "./packages/shared/src/config-schema/workflow.js";
36
38
  import { configSchema, dbxConfigSchema, toolchainConfigSchema } from "./packages/shared/src/config-schema/index.js";
37
- import { CONFIG_FILE_NAMES, DEFAULT_PACKAGE_MANAGER_VERSIONS, DbxConfig, DbxConfigFunction, DbxConfigInput, FORMATTER_PRECEDENCE, FormatterTool, LINTER_PRECEDENCE, LinterTool, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolchainConfig, ToolchainHooks, ToolchainSection, changelogSectionEnabled, defineConfig, repoSlugFromUrl, resolveChangelogBranches, resolveChangelogConfig, resolveCiConfig, resolveCommitlintEnabled, resolveFmtTool, resolveFmtTools, resolveLintTool, resolveLintTools, resolveOxcFmtConfig, resolveOxcLintConfig, resolveTokens, sectionConfig, sectionEnabled } from "./packages/shared/src/toolchain.js";
39
+ import { CONFIG_FILE_NAMES, DEFAULT_PACKAGE_MANAGER_VERSIONS, DbxConfig, DbxConfigFunction, DbxConfigInput, FORMATTER_PRECEDENCE, FormatterTool, LINTER_PRECEDENCE, LinterTool, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolchainConfig, ToolchainHooks, ToolchainSection, changelogSectionEnabled, defaultPackageManagerVersion, defineConfig, repoSlugFromUrl, resolveChangelogBranches, resolveChangelogConfig, resolveCiConfig, resolveCommitlintEnabled, resolveFmtTool, resolveFmtTools, resolveLintTool, resolveLintTools, resolveOxcFmtConfig, resolveOxcLintConfig, resolveTokens, sectionConfig, sectionEnabled } from "./packages/shared/src/toolchain.js";
38
40
  import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolchainArgument, ToolchainCommand, ToolchainCommandContext, ToolchainOption } from "./packages/shared/src/types.js";
39
41
  import { projectFromPackageJson, projectToPackageJson, splitPackageName } from "./packages/shared/src/project.js";
40
42
  import { ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, providerActions } from "./packages/shared/src/provider.js";
41
43
  import { RegistryPolicy, registrySourceAllowed } from "./packages/shared/src/registry-policy.js";
42
44
  import { RunOptions, SpawnCrossOptions, isCmdShim, killProcessTree, run, spawnCross } from "./packages/shared/src/run.js";
43
45
  import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasEscapeArtifacts, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repairBacktickArtifacts, sanitizeSlashes, sanitizeText, snakeCase, str, stripControlChars, stripEscapeArtifacts, titleCase } from "./packages/shared/src/string-utils.js";
44
- import { DEFAULT_FMT_RULES, DEFAULT_FMT_SORT_GROUP, DEFAULT_FMT_SORT_GROUPS, DEFAULT_FMT_SORT_IMPORTS, DEFAULT_LINT_RULES, FmtCustomGroup, FmtProjectIdentity, FmtSortGroup, FmtSortImports, ToolchainOxfmtConfig, ToolchainOxlintConfig, applyFmtCustomGroups, fmtCustomGroupsForProjects } from "./packages/shared/src/vite-defaults.js";
46
+ import { TsconfigFileNameSet, tsconfigFileNames } from "./packages/shared/src/tsconfig-files.js";
47
+ import { DEFAULT_FMT_RULES, DEFAULT_FMT_SORT_GROUP, DEFAULT_FMT_SORT_GROUPS, DEFAULT_FMT_SORT_IMPORTS, DEFAULT_LINT_RULES, DeepReadonly, FmtCustomGroup, FmtProjectIdentity, FmtSortGroup, FmtSortImports, ToolchainOxfmtConfig, ToolchainOxlintConfig, applyFmtCustomGroups, fmtCustomGroupsForProjects } from "./packages/shared/src/vite-defaults.js";
45
48
  import { YamlValue, toYaml } from "./packages/shared/src/yaml.js";
46
49
  import "./packages/shared/src/index.js";
47
- export { Awaitable, type AzurePipelines, AzureWorkflowSetting, type BiomeConfig, CONFIG_FILE_NAMES, ChangelogAuthorInfo, ChangelogBranchesConfig, ChangelogBreakingCommit, ChangelogBreakingSetting, ChangelogBumpRule, ChangelogBumpRuleCallbackContext, ChangelogBumpRuleContext, ChangelogBumpRuleMatch, ChangelogCommitFormatConfig, ChangelogCommitFormatContext, ChangelogCommitFormatOptions, ChangelogCommitRecord, ChangelogCommitlintConfig, ChangelogConfig, ChangelogGroupConfig, ChangelogGroupContext, ChangelogGroupEntry, ChangelogGroupHidden, ChangelogGroupItem, ChangelogGroupOrder, ChangelogGroupTitle, ChangelogGroupsContext, ChangelogGroupsSetting, ChangelogIssueInfo, ChangelogProvider, ChangelogProviderConfig, ChangelogProviderContext, ChangelogProviderSetting, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowSetting, CiChangelogConfig, Colors, ConfigJsonValue, CustomWorkflowSettings, DEFAULT_FMT_IGNORE_PATTERNS, DEFAULT_FMT_RULES, DEFAULT_FMT_SORT_GROUP, DEFAULT_FMT_SORT_GROUPS, DEFAULT_FMT_SORT_IMPORTS, DEFAULT_IGNORE_PATTERNS, DEFAULT_LINT_IGNORE_PATTERNS, DEFAULT_LINT_RULES, DEFAULT_PACKAGE_MANAGER_VERSIONS, DbxConfig, DbxConfigFunction, DbxConfigInput, DbxConfigSections, ENABLED_DESCRIPTION, ERROR_MAP, ErrorId, FORMATTER_PRECEDENCE, FmtCustomGroup, FmtProjectIdentity, FmtSortGroup, FmtSortImports, FormatterTool, GeneratedFile, type GitHubWorkflow, GitHubWorkflowSetting, type GitLabCi, GitLabWorkflowSetting, IgnoreOptions, JsonValue, LINTER_PRECEDENCE, LOG_LEVELS, LinterTool, LogChannel, LogLevel, LogSuppression, Logger, LoggerConfig, LoggerOptions, ManagedFile, MessageId, type OxfmtConfig, type OxlintConfig, PackageJson, ProjectType, RegistryPolicy, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainCatalogsConfig, ToolchainCiConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainFmtConfig, ToolchainHooks, ToolchainLintConfig, ToolchainLogger, ToolchainLoggerConfig, ToolchainOption, ToolchainOxfmtConfig, ToolchainOxlintConfig, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainRegistryConfig, ToolchainRegistryPolicy, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainTsconfigOverrides, ToolchainViteConfig, ToolchainVscodeSettings, ToolchainWatchConfig, VendorWorkflowConfig, WARNING_MAP, WarningId, WorkflowExtra, WorkflowJob, WorkflowOptions, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, WorkflowTokens, WorkflowTriggers, type YamlValue, applyFmtCustomGroups, applyOverrides, applyReplacements, applyReplacementsDeep, asString, azureWorkflowSettingSchema, biomeConfigOptionsSchema, biomeConfigSchema, camelCase, camelCaseId, capitalize, catalogsConfigSchema, changelogBranchesConfigSchema, changelogBreakingCallbackSchema, changelogBreakingSettingSchema, changelogBumpRuleMatchSchema, changelogBumpRuleSchema, changelogCommitFormatConfigSchema, changelogCommitlintConfigSchema, changelogConfigSchema, changelogGroupConfigSchema, changelogGroupsSettingSchema, changelogProviderConfigSchema, changelogProviderSettingSchema, changelogSectionEnabled, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowSettingSchema, ciChangelogConfigSchema, ciConfigSchema, collectGitignorePatterns, configJsonValueSchema, configSchema, configureLogger, constantCase, createLogger, createReplacer, customWorkflowSettingsSchema, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, errorMessage, extractTokens, findOwnCliEntry, fmtConfigSchema, fmtCustomGroupsForProjects, formatCliFlag, formatMessage, formatMessageId, getLogOverrides, getLogger, githubWorkflowSettingSchema, gitlabWorkflowSettingSchema, hasEscapeArtifacts, hasText, hasUnresolvedTokens, indent, insertMissingJsonc, isCmdShim, isIgnoredPath, isLocalhost, isLogLevel, isPlainObject, isUnsafeKey, isVendorWorkflowConfig, kebabCase, killProcessTree, lintConfigSchema, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectFromPackageJson, projectToPackageJson, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, readJsoncAt, readJsoncFile, registryConfigSchema, registryPolicySchema, registrySourceAllowed, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repairBacktickArtifacts, repoSlugFromUrl, resolveChangelogBranches, resolveChangelogConfig, resolveCiConfig, resolveCommitlintEnabled, resolveFmtTool, resolveFmtTools, resolveIgnorePatterns, resolveLintTool, resolveLintTools, resolveOxcFmtConfig, resolveOxcLintConfig, resolveSort, resolveTokens, run, sanitizeSlashes, sanitizeText, section, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, splitPackageName, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, vscodeSettingsSchema, warningMessage, watchConfigSchema, withEnabled, workflowConfigSchema, workflowExtraSchema, workflowJobSchema, workflowOptionsSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, workflowTokensSchema, workflowTriggersSchema, writeJsonFile };
50
+ export { Awaitable, type AzurePipelines, AzureWorkflowSetting, type BiomeConfig, CONFIG_FILE_NAMES, ChangelogAuthorInfo, ChangelogBranchesConfig, ChangelogBreakingCommit, ChangelogBreakingSetting, ChangelogBumpRule, ChangelogBumpRuleCallbackContext, ChangelogBumpRuleContext, ChangelogBumpRuleMatch, ChangelogCommitFormatConfig, ChangelogCommitFormatContext, ChangelogCommitFormatOptions, ChangelogCommitRecord, ChangelogCommitlintConfig, ChangelogConfig, ChangelogGroupConfig, ChangelogGroupContext, ChangelogGroupEntry, ChangelogGroupHidden, ChangelogGroupItem, ChangelogGroupOrder, ChangelogGroupTitle, ChangelogGroupsContext, ChangelogGroupsSetting, ChangelogIssueInfo, ChangelogProvider, ChangelogProviderConfig, ChangelogProviderContext, ChangelogProviderSetting, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowSetting, CiChangelogConfig, Colors, ConfigJsonValue, CustomWorkflowSettings, DEFAULT_FMT_IGNORE_PATTERNS, DEFAULT_FMT_RULES, DEFAULT_FMT_SORT_GROUP, DEFAULT_FMT_SORT_GROUPS, DEFAULT_FMT_SORT_IMPORTS, DEFAULT_IGNORE_PATTERNS, DEFAULT_LINT_IGNORE_PATTERNS, DEFAULT_LINT_RULES, DEFAULT_PACKAGE_MANAGER_VERSIONS, DbxConfig, DbxConfigFunction, DbxConfigInput, DbxConfigSections, DeepReadonly, DprintConfig, ENABLED_DESCRIPTION, ERROR_MAP, ErrorId, EslintConfig, EslintLanguageOptions, EslintLinterOptions, FORMATTER_PRECEDENCE, FmtCustomGroup, FmtProjectIdentity, FmtSortGroup, FmtSortImports, FormatterTool, GeneratedFile, type GitHubWorkflow, GitHubWorkflowSetting, type GitLabCi, GitLabWorkflowSetting, IgnoreOptions, JsonValue, LINTER_PRECEDENCE, LOG_LEVELS, LinterTool, LogChannel, LogLevel, LogSuppression, Logger, LoggerConfig, LoggerOptions, ManagedFile, MessageId, type OxfmtConfig, type OxlintConfig, PackageJson, PrettierConfig, ProjectType, RegistryPolicy, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainCatalogsConfig, ToolchainCiConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainFmtConfig, ToolchainHooks, ToolchainLintConfig, ToolchainLogger, ToolchainLoggerConfig, ToolchainOption, ToolchainOxfmtConfig, ToolchainOxlintConfig, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainRegistryConfig, ToolchainRegistryPolicy, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigAliasAutoSetting, ToolchainTsconfigAliasRewrite, ToolchainTsconfigAliasRewriteKey, ToolchainTsconfigAliasRewriteRule, ToolchainTsconfigAutoSetting, ToolchainTsconfigConfig, ToolchainTsconfigOverrides, ToolchainViteConfig, ToolchainVscodeSettings, ToolchainWatchConfig, TsconfigFileNameSet, VendorWorkflowConfig, WARNING_MAP, WarningId, WorkflowExtra, WorkflowJob, WorkflowOptions, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, WorkflowTokens, WorkflowTriggers, type YamlValue, applyFmtCustomGroups, applyOverrides, applyReplacements, applyReplacementsDeep, asString, azureWorkflowSettingSchema, biomeConfigOptionsSchema, biomeConfigSchema, camelCase, camelCaseId, capitalize, catalogsConfigSchema, changelogBranchesConfigSchema, changelogBreakingCallbackSchema, changelogBreakingSettingSchema, changelogBumpRuleMatchSchema, changelogBumpRuleSchema, changelogCommitFormatConfigSchema, changelogCommitlintConfigSchema, changelogConfigSchema, changelogGroupConfigSchema, changelogGroupsSettingSchema, changelogProviderConfigSchema, changelogProviderSettingSchema, changelogSectionEnabled, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowSettingSchema, ciChangelogConfigSchema, ciConfigSchema, collectGitignorePatterns, configJsonValueSchema, configSchema, configureLogger, constantCase, createLogger, createReplacer, customWorkflowSettingsSchema, dbxConfigSchema, deepMerge, defaultPackageManagerVersion, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, errorMessage, extractTokens, findOwnCliEntry, fmtConfigSchema, fmtCustomGroupsForProjects, formatCliFlag, formatMessage, formatMessageId, getLogOverrides, getLogger, githubWorkflowSettingSchema, gitlabWorkflowSettingSchema, hasEscapeArtifacts, hasText, hasUnresolvedTokens, indent, insertMissingJsonc, isCmdShim, isIgnoredPath, isLocalhost, isLogLevel, isPlainObject, isUnsafeKey, isVendorWorkflowConfig, kebabCase, killProcessTree, lintConfigSchema, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectFromPackageJson, projectToPackageJson, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, readJsoncAt, readJsoncFile, registryConfigSchema, registryPolicySchema, registrySourceAllowed, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repairBacktickArtifacts, repoSlugFromUrl, resolveChangelogBranches, resolveChangelogConfig, resolveCiConfig, resolveCommitlintEnabled, resolveFmtTool, resolveFmtTools, resolveIgnorePatterns, resolveLintTool, resolveLintTools, resolveOxcFmtConfig, resolveOxcLintConfig, resolveSort, resolveTokens, run, sanitizeSlashes, sanitizeText, section, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, splitPackageName, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, tsconfigFileNames, viteConfigSchema, vscodeSettingsSchema, warningMessage, watchConfigSchema, withEnabled, workflowConfigSchema, workflowExtraSchema, workflowJobSchema, workflowOptionsSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, workflowTokensSchema, workflowTriggersSchema, writeJsonFile };
package/dist/shared.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{applyOverrides as r,deepMerge as i,isPlainObject as a,isUnsafeKey as o,mapValues as s,resolveSort as c,sort as l}from"./packages/shared/src/object-utils.js";import{insertMissingJsonc as u,mergeJsonAt as d,readJsonAt as f,readJsonFile as p,readJsoncAt as m,readJsoncFile as h,toJson as g,writeJsonFile as _}from"./packages/shared/src/fs-utils.js";import{DEFAULT_FMT_IGNORE_PATTERNS as v,DEFAULT_IGNORE_PATTERNS as y,DEFAULT_LINT_IGNORE_PATTERNS as b,collectGitignorePatterns as x,isIgnoredPath as S,resolveIgnorePatterns as C}from"./packages/shared/src/ignore.js";import{ERROR_MAP as w,WARNING_MAP as T,errorMessage as E,formatMessage as D,formatMessageId as O,warningMessage as k}from"./packages/shared/src/messages.js";import{LOG_LEVELS as A,configureLogger as j,createLogger as M,getLogOverrides as N,getLogger as P,isLogLevel as F,logger as I,normalizeLogLevel as L,setLogConfig as R,setLogOverrides as z,stripAnsi as B}from"./packages/shared/src/logger.js";import{projectFromPackageJson as V,projectToPackageJson as H,splitPackageName as U}from"./packages/shared/src/project.js";import{providerActions as W}from"./packages/shared/src/provider.js";import{registrySourceAllowed as G}from"./packages/shared/src/registry-policy.js";import{isCmdShim as K,killProcessTree as q,run as J,spawnCross as Y}from"./packages/shared/src/run.js";import{asString as X,camelCase as Z,camelCaseId as Q,capitalize as $,constantCase as ee,ensureLeadingSlash as te,ensureSlashes as ne,ensureTrailingSlash as re,formatCliFlag as ie,hasEscapeArtifacts as ae,hasText as oe,indent as se,isLocalhost as ce,kebabCase as le,pascalCase as ue,removeDoubleSlashes as de,removeLeadingSlash as fe,removeTrailingSlash as pe,repairBacktickArtifacts as me,sanitizeSlashes as he,sanitizeText as ge,snakeCase as _e,str as ve,stripControlChars as ye,stripEscapeArtifacts as be,titleCase as xe}from"./packages/shared/src/string-utils.js";import{applyReplacements as Se,applyReplacementsDeep as Ce,createReplacer as we,defineReplacements as Te,extractTokens as Ee,hasUnresolvedTokens as De,tokenPattern as Oe}from"./packages/shared/src/template.js";import{configJsonValueSchema as ke}from"./packages/shared/src/config-schema/json.js";import{ENABLED_DESCRIPTION as Ae,section as je,withEnabled as Me}from"./packages/shared/src/config-schema/meta.js";import{azureWorkflowSettingSchema as Ne,customWorkflowSettingsSchema as Pe,githubWorkflowSettingSchema as Fe,gitlabWorkflowSettingSchema as Ie,isVendorWorkflowConfig as Le,workflowConfigSchema as Re,workflowExtraSchema as ze,workflowJobSchema as Be,workflowOptionsSchema as Ve,workflowSettingSchema as He,workflowStepSchema as Ue,workflowStepsConfigSchema as We,workflowTokensSchema as Ge,workflowTriggersSchema as Ke}from"./packages/shared/src/config-schema/workflow.js";import{biomeConfigOptionsSchema as qe,biomeConfigSchema as Je}from"./packages/shared/src/config-schema/biome.js";import{catalogsConfigSchema as Ye}from"./packages/shared/src/config-schema/catalogs.js";import{changelogBranchesConfigSchema as Xe,changelogBreakingCallbackSchema as Ze,changelogBreakingSettingSchema as Qe,changelogBumpRuleMatchSchema as $e,changelogBumpRuleSchema as et,changelogCommitFormatConfigSchema as tt,changelogCommitlintConfigSchema as nt,changelogConfigSchema as rt,changelogGroupConfigSchema as it,changelogGroupsSettingSchema as at,changelogProviderConfigSchema as ot,changelogProviderSettingSchema as st,changelogVersioningConfigSchema as ct,changelogVersioningSchema as lt,changelogVersioningTargetSchema as ut,changelogWorkflowSettingSchema as dt,ciChangelogConfigSchema as ft}from"./packages/shared/src/config-schema/changelog.js";import{ciConfigSchema as pt}from"./packages/shared/src/config-schema/ci.js";import{fmtConfigSchema as mt,lintConfigSchema as ht,vscodeSettingsSchema as gt}from"./packages/shared/src/config-schema/format.js";import{loggerConfigSchema as _t}from"./packages/shared/src/config-schema/logger.js";import{projectConfigSchema as vt,projectTypeSchema as yt}from"./packages/shared/src/config-schema/project.js";import{providersConfigSchema as bt}from"./packages/shared/src/config-schema/providers.js";import{registryConfigSchema as xt,registryPolicySchema as St}from"./packages/shared/src/config-schema/registry.js";import{templateKindSchema as Ct,templateSourceSchema as wt,templateSourceTypeSchema as Tt,templatesConfigSchema as Et}from"./packages/shared/src/config-schema/templates.js";import{tsconfigConfigSchema as Dt}from"./packages/shared/src/config-schema/tsconfig.js";import{viteConfigSchema as Ot}from"./packages/shared/src/config-schema/vite.js";import{watchConfigSchema as kt}from"./packages/shared/src/config-schema/watch.js";import{configSchema as At,dbxConfigSchema as jt,toolchainConfigSchema as Mt}from"./packages/shared/src/config-schema/index.js";import{CONFIG_FILE_NAMES as Nt,DEFAULT_PACKAGE_MANAGER_VERSIONS as Pt,FORMATTER_PRECEDENCE as Ft,LINTER_PRECEDENCE as It,changelogSectionEnabled as Lt,defineConfig as Rt,repoSlugFromUrl as zt,resolveChangelogBranches as Bt,resolveChangelogConfig as Vt,resolveCiConfig as Ht,resolveCommitlintEnabled as Ut,resolveFmtTool as Wt,resolveFmtTools as Gt,resolveLintTool as Kt,resolveLintTools as qt,resolveOxcFmtConfig as Jt,resolveOxcLintConfig as Yt,resolveTokens as Xt,sectionConfig as Zt,sectionEnabled as Qt}from"./packages/shared/src/toolchain.js";import{DEFAULT_FMT_RULES as $t,DEFAULT_FMT_SORT_GROUP as en,DEFAULT_FMT_SORT_GROUPS as tn,DEFAULT_FMT_SORT_IMPORTS as nn,DEFAULT_LINT_RULES as rn,applyFmtCustomGroups as an,fmtCustomGroupsForProjects as on}from"./packages/shared/src/vite-defaults.js";import{toYaml as sn}from"./packages/shared/src/yaml.js";import"./packages/shared/src/index.js";export{Nt as CONFIG_FILE_NAMES,v as DEFAULT_FMT_IGNORE_PATTERNS,$t as DEFAULT_FMT_RULES,en as DEFAULT_FMT_SORT_GROUP,tn as DEFAULT_FMT_SORT_GROUPS,nn as DEFAULT_FMT_SORT_IMPORTS,y as DEFAULT_IGNORE_PATTERNS,b as DEFAULT_LINT_IGNORE_PATTERNS,rn as DEFAULT_LINT_RULES,Pt as DEFAULT_PACKAGE_MANAGER_VERSIONS,Ae as ENABLED_DESCRIPTION,w as ERROR_MAP,Ft as FORMATTER_PRECEDENCE,It as LINTER_PRECEDENCE,A as LOG_LEVELS,e as TOOLCHAIN_PACKAGE,T as WARNING_MAP,an as applyFmtCustomGroups,r as applyOverrides,Se as applyReplacements,Ce as applyReplacementsDeep,X as asString,Ne as azureWorkflowSettingSchema,qe as biomeConfigOptionsSchema,Je as biomeConfigSchema,Z as camelCase,Q as camelCaseId,$ as capitalize,Ye as catalogsConfigSchema,Xe as changelogBranchesConfigSchema,Ze as changelogBreakingCallbackSchema,Qe as changelogBreakingSettingSchema,$e as changelogBumpRuleMatchSchema,et as changelogBumpRuleSchema,tt as changelogCommitFormatConfigSchema,nt as changelogCommitlintConfigSchema,rt as changelogConfigSchema,it as changelogGroupConfigSchema,at as changelogGroupsSettingSchema,ot as changelogProviderConfigSchema,st as changelogProviderSettingSchema,Lt as changelogSectionEnabled,ct as changelogVersioningConfigSchema,lt as changelogVersioningSchema,ut as changelogVersioningTargetSchema,dt as changelogWorkflowSettingSchema,ft as ciChangelogConfigSchema,pt as ciConfigSchema,x as collectGitignorePatterns,ke as configJsonValueSchema,At as configSchema,j as configureLogger,ee as constantCase,M as createLogger,we as createReplacer,Pe as customWorkflowSettingsSchema,jt as dbxConfigSchema,i as deepMerge,Rt as defineConfig,Te as defineReplacements,te as ensureLeadingSlash,ne as ensureSlashes,re as ensureTrailingSlash,E as errorMessage,Ee as extractTokens,t as findOwnCliEntry,mt as fmtConfigSchema,on as fmtCustomGroupsForProjects,ie as formatCliFlag,D as formatMessage,O as formatMessageId,N as getLogOverrides,P as getLogger,Fe as githubWorkflowSettingSchema,Ie as gitlabWorkflowSettingSchema,ae as hasEscapeArtifacts,oe as hasText,De as hasUnresolvedTokens,se as indent,u as insertMissingJsonc,K as isCmdShim,S as isIgnoredPath,ce as isLocalhost,F as isLogLevel,a as isPlainObject,o as isUnsafeKey,Le as isVendorWorkflowConfig,le as kebabCase,q as killProcessTree,ht as lintConfigSchema,n as localToolchainVersion,I as logger,_t as loggerConfigSchema,s as mapValues,d as mergeJsonAt,L as normalizeLogLevel,ue as pascalCase,vt as projectConfigSchema,V as projectFromPackageJson,H as projectToPackageJson,yt as projectTypeSchema,W as providerActions,bt as providersConfigSchema,f as readJsonAt,p as readJsonFile,m as readJsoncAt,h as readJsoncFile,xt as registryConfigSchema,St as registryPolicySchema,G as registrySourceAllowed,de as removeDoubleSlashes,fe as removeLeadingSlash,pe as removeTrailingSlash,me as repairBacktickArtifacts,zt as repoSlugFromUrl,Bt as resolveChangelogBranches,Vt as resolveChangelogConfig,Ht as resolveCiConfig,Ut as resolveCommitlintEnabled,Wt as resolveFmtTool,Gt as resolveFmtTools,C as resolveIgnorePatterns,Kt as resolveLintTool,qt as resolveLintTools,Jt as resolveOxcFmtConfig,Yt as resolveOxcLintConfig,c as resolveSort,Xt as resolveTokens,J as run,he as sanitizeSlashes,ge as sanitizeText,je as section,Zt as sectionConfig,Qt as sectionEnabled,R as setLogConfig,z as setLogOverrides,_e as snakeCase,l as sort,Y as spawnCross,U as splitPackageName,ve as str,B as stripAnsi,ye as stripControlChars,be as stripEscapeArtifacts,Ct as templateKindSchema,wt as templateSourceSchema,Tt as templateSourceTypeSchema,Et as templatesConfigSchema,xe as titleCase,g as toJson,sn as toYaml,Oe as tokenPattern,Mt as toolchainConfigSchema,Dt as tsconfigConfigSchema,Ot as viteConfigSchema,gt as vscodeSettingsSchema,k as warningMessage,kt as watchConfigSchema,Me as withEnabled,Re as workflowConfigSchema,ze as workflowExtraSchema,Be as workflowJobSchema,Ve as workflowOptionsSchema,He as workflowSettingSchema,Ue as workflowStepSchema,We as workflowStepsConfigSchema,Ge as workflowTokensSchema,Ke as workflowTriggersSchema,_ as writeJsonFile};
1
+ import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{applyOverrides as r,deepMerge as i,isPlainObject as a,isUnsafeKey as o,mapValues as s,resolveSort as c,sort as l}from"./packages/shared/src/object-utils.js";import{insertMissingJsonc as u,mergeJsonAt as d,readJsonAt as f,readJsonFile as p,readJsoncAt as m,readJsoncFile as h,toJson as g,writeJsonFile as _}from"./packages/shared/src/fs-utils.js";import{DEFAULT_FMT_IGNORE_PATTERNS as v,DEFAULT_IGNORE_PATTERNS as y,DEFAULT_LINT_IGNORE_PATTERNS as b,collectGitignorePatterns as x,isIgnoredPath as S,resolveIgnorePatterns as C}from"./packages/shared/src/ignore.js";import{ERROR_MAP as w,WARNING_MAP as T,errorMessage as E,formatMessage as D,formatMessageId as O,warningMessage as k}from"./packages/shared/src/messages.js";import{LOG_LEVELS as A,configureLogger as j,createLogger as M,getLogOverrides as N,getLogger as P,isLogLevel as F,logger as I,normalizeLogLevel as L,setLogConfig as R,setLogOverrides as z,stripAnsi as B}from"./packages/shared/src/logger.js";import{projectFromPackageJson as V,projectToPackageJson as H,splitPackageName as U}from"./packages/shared/src/project.js";import{providerActions as W}from"./packages/shared/src/provider.js";import{registrySourceAllowed as G}from"./packages/shared/src/registry-policy.js";import{isCmdShim as K,killProcessTree as q,run as J,spawnCross as Y}from"./packages/shared/src/run.js";import{asString as X,camelCase as Z,camelCaseId as Q,capitalize as $,constantCase as ee,ensureLeadingSlash as te,ensureSlashes as ne,ensureTrailingSlash as re,formatCliFlag as ie,hasEscapeArtifacts as ae,hasText as oe,indent as se,isLocalhost as ce,kebabCase as le,pascalCase as ue,removeDoubleSlashes as de,removeLeadingSlash as fe,removeTrailingSlash as pe,repairBacktickArtifacts as me,sanitizeSlashes as he,sanitizeText as ge,snakeCase as _e,str as ve,stripControlChars as ye,stripEscapeArtifacts as be,titleCase as xe}from"./packages/shared/src/string-utils.js";import{applyReplacements as Se,applyReplacementsDeep as Ce,createReplacer as we,defineReplacements as Te,extractTokens as Ee,hasUnresolvedTokens as De,tokenPattern as Oe}from"./packages/shared/src/template.js";import{configJsonValueSchema as ke}from"./packages/shared/src/config-schema/json.js";import{ENABLED_DESCRIPTION as Ae,section as je,withEnabled as Me}from"./packages/shared/src/config-schema/meta.js";import{azureWorkflowSettingSchema as Ne,customWorkflowSettingsSchema as Pe,githubWorkflowSettingSchema as Fe,gitlabWorkflowSettingSchema as Ie,isVendorWorkflowConfig as Le,workflowConfigSchema as Re,workflowExtraSchema as ze,workflowJobSchema as Be,workflowOptionsSchema as Ve,workflowSettingSchema as He,workflowStepSchema as Ue,workflowStepsConfigSchema as We,workflowTokensSchema as Ge,workflowTriggersSchema as Ke}from"./packages/shared/src/config-schema/workflow.js";import{biomeConfigOptionsSchema as qe,biomeConfigSchema as Je}from"./packages/shared/src/config-schema/biome.js";import{catalogsConfigSchema as Ye}from"./packages/shared/src/config-schema/catalogs.js";import{changelogBranchesConfigSchema as Xe,changelogBreakingCallbackSchema as Ze,changelogBreakingSettingSchema as Qe,changelogBumpRuleMatchSchema as $e,changelogBumpRuleSchema as et,changelogCommitFormatConfigSchema as tt,changelogCommitlintConfigSchema as nt,changelogConfigSchema as rt,changelogGroupConfigSchema as it,changelogGroupsSettingSchema as at,changelogProviderConfigSchema as ot,changelogProviderSettingSchema as st,changelogVersioningConfigSchema as ct,changelogVersioningSchema as lt,changelogVersioningTargetSchema as ut,changelogWorkflowSettingSchema as dt,ciChangelogConfigSchema as ft}from"./packages/shared/src/config-schema/changelog.js";import{ciConfigSchema as pt}from"./packages/shared/src/config-schema/ci.js";import{fmtConfigSchema as mt,lintConfigSchema as ht,vscodeSettingsSchema as gt}from"./packages/shared/src/config-schema/format.js";import{loggerConfigSchema as _t}from"./packages/shared/src/config-schema/logger.js";import{projectConfigSchema as vt,projectTypeSchema as yt}from"./packages/shared/src/config-schema/project.js";import{providersConfigSchema as bt}from"./packages/shared/src/config-schema/providers.js";import{registryConfigSchema as xt,registryPolicySchema as St}from"./packages/shared/src/config-schema/registry.js";import{templateKindSchema as Ct,templateSourceSchema as wt,templateSourceTypeSchema as Tt,templatesConfigSchema as Et}from"./packages/shared/src/config-schema/templates.js";import{tsconfigConfigSchema as Dt}from"./packages/shared/src/config-schema/tsconfig.js";import{viteConfigSchema as Ot}from"./packages/shared/src/config-schema/vite.js";import{watchConfigSchema as kt}from"./packages/shared/src/config-schema/watch.js";import{configSchema as At,dbxConfigSchema as jt,toolchainConfigSchema as Mt}from"./packages/shared/src/config-schema/index.js";import{CONFIG_FILE_NAMES as Nt,DEFAULT_PACKAGE_MANAGER_VERSIONS as Pt,FORMATTER_PRECEDENCE as Ft,LINTER_PRECEDENCE as It,changelogSectionEnabled as Lt,defaultPackageManagerVersion as Rt,defineConfig as zt,repoSlugFromUrl as Bt,resolveChangelogBranches as Vt,resolveChangelogConfig as Ht,resolveCiConfig as Ut,resolveCommitlintEnabled as Wt,resolveFmtTool as Gt,resolveFmtTools as Kt,resolveLintTool as qt,resolveLintTools as Jt,resolveOxcFmtConfig as Yt,resolveOxcLintConfig as Xt,resolveTokens as Zt,sectionConfig as Qt,sectionEnabled as $t}from"./packages/shared/src/toolchain.js";import{tsconfigFileNames as en}from"./packages/shared/src/tsconfig-files.js";import{DEFAULT_FMT_RULES as tn,DEFAULT_FMT_SORT_GROUP as nn,DEFAULT_FMT_SORT_GROUPS as rn,DEFAULT_FMT_SORT_IMPORTS as an,DEFAULT_LINT_RULES as on,applyFmtCustomGroups as sn,fmtCustomGroupsForProjects as cn}from"./packages/shared/src/vite-defaults.js";import{toYaml as ln}from"./packages/shared/src/yaml.js";import"./packages/shared/src/index.js";export{Nt as CONFIG_FILE_NAMES,v as DEFAULT_FMT_IGNORE_PATTERNS,tn as DEFAULT_FMT_RULES,nn as DEFAULT_FMT_SORT_GROUP,rn as DEFAULT_FMT_SORT_GROUPS,an as DEFAULT_FMT_SORT_IMPORTS,y as DEFAULT_IGNORE_PATTERNS,b as DEFAULT_LINT_IGNORE_PATTERNS,on as DEFAULT_LINT_RULES,Pt as DEFAULT_PACKAGE_MANAGER_VERSIONS,Ae as ENABLED_DESCRIPTION,w as ERROR_MAP,Ft as FORMATTER_PRECEDENCE,It as LINTER_PRECEDENCE,A as LOG_LEVELS,e as TOOLCHAIN_PACKAGE,T as WARNING_MAP,sn as applyFmtCustomGroups,r as applyOverrides,Se as applyReplacements,Ce as applyReplacementsDeep,X as asString,Ne as azureWorkflowSettingSchema,qe as biomeConfigOptionsSchema,Je as biomeConfigSchema,Z as camelCase,Q as camelCaseId,$ as capitalize,Ye as catalogsConfigSchema,Xe as changelogBranchesConfigSchema,Ze as changelogBreakingCallbackSchema,Qe as changelogBreakingSettingSchema,$e as changelogBumpRuleMatchSchema,et as changelogBumpRuleSchema,tt as changelogCommitFormatConfigSchema,nt as changelogCommitlintConfigSchema,rt as changelogConfigSchema,it as changelogGroupConfigSchema,at as changelogGroupsSettingSchema,ot as changelogProviderConfigSchema,st as changelogProviderSettingSchema,Lt as changelogSectionEnabled,ct as changelogVersioningConfigSchema,lt as changelogVersioningSchema,ut as changelogVersioningTargetSchema,dt as changelogWorkflowSettingSchema,ft as ciChangelogConfigSchema,pt as ciConfigSchema,x as collectGitignorePatterns,ke as configJsonValueSchema,At as configSchema,j as configureLogger,ee as constantCase,M as createLogger,we as createReplacer,Pe as customWorkflowSettingsSchema,jt as dbxConfigSchema,i as deepMerge,Rt as defaultPackageManagerVersion,zt as defineConfig,Te as defineReplacements,te as ensureLeadingSlash,ne as ensureSlashes,re as ensureTrailingSlash,E as errorMessage,Ee as extractTokens,t as findOwnCliEntry,mt as fmtConfigSchema,cn as fmtCustomGroupsForProjects,ie as formatCliFlag,D as formatMessage,O as formatMessageId,N as getLogOverrides,P as getLogger,Fe as githubWorkflowSettingSchema,Ie as gitlabWorkflowSettingSchema,ae as hasEscapeArtifacts,oe as hasText,De as hasUnresolvedTokens,se as indent,u as insertMissingJsonc,K as isCmdShim,S as isIgnoredPath,ce as isLocalhost,F as isLogLevel,a as isPlainObject,o as isUnsafeKey,Le as isVendorWorkflowConfig,le as kebabCase,q as killProcessTree,ht as lintConfigSchema,n as localToolchainVersion,I as logger,_t as loggerConfigSchema,s as mapValues,d as mergeJsonAt,L as normalizeLogLevel,ue as pascalCase,vt as projectConfigSchema,V as projectFromPackageJson,H as projectToPackageJson,yt as projectTypeSchema,W as providerActions,bt as providersConfigSchema,f as readJsonAt,p as readJsonFile,m as readJsoncAt,h as readJsoncFile,xt as registryConfigSchema,St as registryPolicySchema,G as registrySourceAllowed,de as removeDoubleSlashes,fe as removeLeadingSlash,pe as removeTrailingSlash,me as repairBacktickArtifacts,Bt as repoSlugFromUrl,Vt as resolveChangelogBranches,Ht as resolveChangelogConfig,Ut as resolveCiConfig,Wt as resolveCommitlintEnabled,Gt as resolveFmtTool,Kt as resolveFmtTools,C as resolveIgnorePatterns,qt as resolveLintTool,Jt as resolveLintTools,Yt as resolveOxcFmtConfig,Xt as resolveOxcLintConfig,c as resolveSort,Zt as resolveTokens,J as run,he as sanitizeSlashes,ge as sanitizeText,je as section,Qt as sectionConfig,$t as sectionEnabled,R as setLogConfig,z as setLogOverrides,_e as snakeCase,l as sort,Y as spawnCross,U as splitPackageName,ve as str,B as stripAnsi,ye as stripControlChars,be as stripEscapeArtifacts,Ct as templateKindSchema,wt as templateSourceSchema,Tt as templateSourceTypeSchema,Et as templatesConfigSchema,xe as titleCase,g as toJson,ln as toYaml,Oe as tokenPattern,Mt as toolchainConfigSchema,Dt as tsconfigConfigSchema,en as tsconfigFileNames,Ot as viteConfigSchema,gt as vscodeSettingsSchema,k as warningMessage,kt as watchConfigSchema,Me as withEnabled,Re as workflowConfigSchema,ze as workflowExtraSchema,Be as workflowJobSchema,Ve as workflowOptionsSchema,He as workflowSettingSchema,Ue as workflowStepSchema,We as workflowStepsConfigSchema,Ge as workflowTokensSchema,Ke as workflowTriggersSchema,_ as writeJsonFile};
package/dist/sync.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
+ import { selectSyncTasks } from "./packages/core/src/sync.js";
4
+ import "./packages/core/src/index.js";
3
5
  import { SyncTask } from "./packages/shared/src/toolchain.js";
4
6
  import "./packages/shared/src/index.js";
5
7
  //#region src/sync.d.ts
package/dist/sync.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{changelogSectionEnabled as e,resolveChangelogConfig as t,sectionConfig as n,sectionEnabled as r}from"./packages/shared/src/toolchain.js";import"./packages/shared/src/index.js";import{biomeSyncTask as i,biomeVscodeSettings as a}from"./packages/biome/src/index.js";import{conventionalCommitsVscodeExtensions as o,conventionalCommitsVscodeSettings as s}from"./packages/changelog/src/templates.js";import{changelogSyncTask as c}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{editorConfigSyncTask as l,toolingConfigTask as u}from"./packages/core/src/editor-config.js";import{vscodeSyncTask as d}from"./packages/core/src/vscode.js";import"./packages/core/src/index.js";import{catalogsSyncTask as f}from"./packages/project/src/catalogs.js";import{tsconfigSyncTask as p}from"./packages/tsconfig/src/sync.js";import"./packages/tsconfig/src/index.js";import{projectSyncTask as m}from"./packages/project/src/sync.js";import"./packages/project/src/index.js";import{viteSyncTask as h}from"./packages/vite/src/sync.js";import"./packages/vite/src/index.js";import{toolingDefaultsTask as g}from"./tooling.js";function _(){return[g(),m(),f(),c(),i(),p(),h(),u(),l(),d({settings:e=>[...r(e.biome)?[a]:[],s],extensions:[...o.recommendations],enabled:i=>e(i)&&t(i)?.vscode!==!1||r(i.biome)&&n(i.biome)?.vscode!==!1})]}export{_ as defaultSyncTasks};
1
+ import"node:path";import"node:url";import.meta.url;import{changelogSectionEnabled as e,resolveChangelogConfig as t,sectionConfig as n,sectionEnabled as r}from"./packages/shared/src/toolchain.js";import"./packages/shared/src/index.js";import{biomeSyncTask as i,biomeVscodeSettings as a}from"./packages/biome/src/index.js";import{conventionalCommitsVscodeExtensions as o,conventionalCommitsVscodeSettings as s}from"./packages/changelog/src/templates.js";import{changelogSyncTask as c}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{editorConfigSyncTask as l,toolingConfigTask as u}from"./packages/core/src/editor-config.js";import"./packages/core/src/sync.js";import{vscodeSyncTask as d}from"./packages/core/src/vscode.js";import"./packages/core/src/index.js";import{catalogsSyncTask as f}from"./packages/project/src/catalogs.js";import{tsconfigSyncTask as p}from"./packages/tsconfig/src/sync.js";import"./packages/tsconfig/src/index.js";import{projectSyncTask as m}from"./packages/project/src/sync.js";import"./packages/project/src/index.js";import{viteSyncTask as h}from"./packages/vite/src/sync.js";import"./packages/vite/src/index.js";import{toolingDefaultsTask as g}from"./tooling.js";function _(){return[g(),m(),f(),c(),i(),p(),h(),u(),l(),d({settings:e=>[...r(e.biome)?[a]:[],s],extensions:[...o.recommendations],enabled:i=>e(i)&&t(i)?.vscode!==!1||r(i.biome)&&n(i.biome)?.vscode!==!1})]}export{_ as defaultSyncTasks};
package/dist/tooling.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { WarningId } from "./packages/shared/src/messages.js";
4
- import { SyncTask, ToolchainConfig } from "./packages/shared/src/toolchain.js";
4
+ import { FormatterTool, LinterTool, SyncTask, ToolchainConfig } from "./packages/shared/src/toolchain.js";
5
5
  import "./packages/shared/src/index.js";
6
6
  //#region src/tooling.d.ts
7
7
  export interface NormalizeToolingOptions {
@@ -13,6 +13,23 @@ export interface NormalizedTooling {
13
13
  config: ToolchainConfig;
14
14
  warnings: WarningId[];
15
15
  }
16
+ /** Where the active formatter/linter was selected from. */
17
+ export type ToolSource = 'config' | 'project-settings' | 'workspace' | 'user-settings' | 'default';
18
+ /** The active tool for one kind, plus where it came from. */
19
+ export interface DiscoveredTool<T extends string> {
20
+ tool: T;
21
+ source: ToolSource;
22
+ }
23
+ /** The active formatter and linter for a project. */
24
+ export interface DiscoveredTooling {
25
+ fmt: DiscoveredTool<FormatterTool>;
26
+ lint: DiscoveredTool<LinterTool>;
27
+ }
28
+ /**
29
+ * Resolve the active formatter and linter without migrating any options. This
30
+ * is what `dbx fmt` / `dbx lint` use to decide which tool to run.
31
+ */
32
+ export declare function discoverTooling(config: ToolchainConfig | undefined, options: NormalizeToolingOptions): DiscoveredTooling;
16
33
  export declare function normalizeToolingConfig(config: ToolchainConfig, options: NormalizeToolingOptions): Promise<NormalizedTooling>;
17
34
  export interface ToolingDefaultsTaskOptions {
18
35
  vscodeSettingsPath?: string;
package/dist/tooling.js CHANGED
@@ -1 +1 @@
1
- import{default as e}from"node:path";import"node:url";import.meta.url;import{deepMerge as t,isPlainObject as n}from"./packages/shared/src/object-utils.js";import{readJsonAt as r,readJsoncAt as i}from"./packages/shared/src/fs-utils.js";import{warningMessage as a}from"./packages/shared/src/messages.js";import{FORMATTER_PRECEDENCE as o,LINTER_PRECEDENCE as s,resolveFmtTools as c,resolveLintTools as l,sectionConfig as u,sectionEnabled as d}from"./packages/shared/src/toolchain.js";import{DEFAULT_FMT_RULES as f,DEFAULT_LINT_RULES as p,applyFmtCustomGroups as m}from"./packages/shared/src/vite-defaults.js";import"./packages/shared/src/index.js";import{resolveFmtCustomGroups as h}from"./packages/core/src/fmt-groups.js";import"./packages/core/src/index.js";import{biomeToOx as g,findBiomeConfig as _,readJsonc as v}from"./packages/migrate/src/biome.js";import{dprintToOx as y,findDprintConfig as b}from"./packages/migrate/src/dprint.js";import{eslintToOx as x,findEslintConfig as S}from"./packages/migrate/src/eslint.js";import{findOxcConfigs as C}from"./packages/migrate/src/oxc.js";import{findPrettierConfig as w,prettierToOx as T}from"./packages/migrate/src/prettier.js";import"./packages/migrate/src/index.js";import E from"node:fs";import D from"node:os";const O={oxfmt:[`oxfmt`,`@oxc-project/oxfmt`,`vite-plus`],oxlint:[`oxlint`,`@oxc-project/oxlint`,`vite-plus`],biome:[`@biomejs/biome`],prettier:[`prettier`],dprint:[`dprint`],eslint:[`eslint`]},k={"oxc.oxc-vscode":`oxc`,"biomejs.biome":`biome`,"esbenp.prettier-vscode":`prettier`,"dprint.dprint":`dprint`,"dbaeumer.vscode-eslint":`eslint`},A={"source.fixAll.oxc":`oxc`,"source.fixAll.oxlint":`oxc`,"quickfix.biome":`biome`,"source.fixAll.biome":`biome`,"source.organizeImports.biome":`biome`,"source.fixAll.eslint":`eslint`};function j(t){let n=[],r=e.resolve(t);for(;n.push(r),!E.existsSync(e.join(r,`.git`));){let t=e.dirname(r);if(t===r)break;r=t}return n}function M(e){let t=/* @__PURE__ */ new Set,n=r(e,`package.json`);if(n)for(let e of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`])for(let r of Object.keys(n[e]??{}))t.add(r);return t}function N(e,t,n){let r=M(e);return t.find(e=>!n.has(e)&&(O[e]??[]).some(e=>r.has(e)))}function P(e,t,n,r){let i=/* @__PURE__ */ new Set;return t===`fmt`?(C(e).fmt&&i.add(`oxc`),_(e)&&i.add(`biome`),w(e)&&i.add(`prettier`),b(e)&&i.add(`dprint`)):(C(e).lint&&i.add(`oxc`),_(e)&&i.add(`biome`),S(e)&&i.add(`eslint`)),n.find(e=>!r.has(e)&&i.has(e))}function F(e,t,n,r){for(let i of j(e)){let e=P(i,t,n,r);if(e)return e;let a=N(i,n,r);if(a)return a}}function I(){let t=D.homedir(),n=process.env.APPDATA;return process.platform===`win32`?[...n?[e.join(n,`Code`,`User`,`settings.json`),e.join(n,`Code - Insiders`,`User`,`settings.json`),e.join(n,`VSCodium`,`User`,`settings.json`)]:[],e.join(t,`AppData`,`Roaming`,`Code`,`User`,`settings.json`)]:process.platform===`darwin`?[e.join(t,`Library`,`Application Support`,`Code`,`User`,`settings.json`),e.join(t,`Library`,`Application Support`,`Code - Insiders`,`User`,`settings.json`)]:[e.join(t,`.config`,`Code`,`User`,`settings.json`),e.join(t,`.config`,`Code - Insiders`,`User`,`settings.json`),e.join(t,`.config`,`VSCodium`,`User`,`settings.json`)]}function L(e){let t=e?[e]:I();for(let e of t)if(E.existsSync(e))try{return v(e)}catch{continue}}function R(e,t,r,i=/* @__PURE__ */ new Set){if(!e)return;let a=/* @__PURE__ */ new Set,o=[e];for(let[t,r]of Object.entries(e))t.startsWith(`[`)&&n(r)&&o.push(r);for(let e of o)if(r===`fmt`){let t=e[`editor.defaultFormatter`];typeof t==`string`&&k[t]&&a.add(k[t])}else{let t=e[`editor.codeActionsOnSave`];if(n(t))for(let e of Object.keys(t))A[e]&&a.add(A[e])}return r===`lint`&&(e[`eslint.enable`]===!0&&a.add(`eslint`),e[`biome.enabled`]===!0&&a.add(`biome`),e[`oxc.enable`]===!0&&a.add(`oxc`)),t.find(e=>!i.has(e)&&a.has(e))}function z(e,t){let n=u(e),r=/* @__PURE__ */ new Set;for(let e of t)n?.[e]===!1&&r.add(e);return r}function B(e){let{$schema:t,...n}=e;return n}function V(e,t){let n=[...Array.isArray(e.ignorePatterns)?e.ignorePatterns:[],...Array.isArray(t.ignorePatterns)?t.ignorePatterns:[]];n.length>0&&(e.ignorePatterns=[...new Set(n)])}async function H(e){for(let t of j(e)){let e=C(t).fmt;if(e)return B(v(e))}for(let n of j(e)){let e=[];if(b(n)){let t=await y.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(w(n)){let t=await T.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(_(n)){let t=await g.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(e.length>0)return e.reduce((e,n)=>t(e,n),{})}}async function U(e){for(let t of j(e)){let e=C(t).lint;if(e)return B(v(e))}for(let n of j(e)){let e=[];if(S(n)){let t=await x.run({cwd:n});t.oxlint&&e.push(B(t.oxlint))}if(_(n)){let t=await g.run({cwd:n});t.oxlint&&e.push(B(t.oxlint))}if(e.length>0)return e.reduce((e,n)=>t(e,n),{})}}function W(e,t){let n=C(e);return t===`fmt`?!!(n.fmt||_(e)||w(e)||b(e)):!!(n.lint||_(e)||S(e))}function G(e,t){return j(e).some(e=>W(e,t))}function K(e,t){try{if(t===`biome`){let t=_(e);if(t)return B(v(t))}if(t===`prettier`)return w(e)?.config;if(t===`dprint`)return b(e)?.config;if(t===`eslint`){let t=S(e);if(t?.json)return B(v(t.file))}}catch{return}}function q(e,t){for(let n of j(e)){let e=K(n,t);if(e!==void 0)return e}}async function J(e,r){let a=[],g=u(e.fmt),_=u(e.lint),v=i(r.cwd,`.vscode/settings.json`),y=L(r.vscodeSettingsPath),b=G(r.cwd,`fmt`),x=G(r.cwd,`lint`);if(d(e.fmt)&&c(e).length===0){let n=z(e.fmt,o),i=R(v,o,`fmt`,n)??F(r.cwd,`fmt`,o,n)??R(y,o,`fmt`,n);!i&&!b&&a.push(`fmt.no-tool`);let s=i??`oxc`,c={...g};if(s===`oxc`){let e=await H(r.cwd),n=t(f,e??{});V(n,e??{}),c.oxc=n}else c[s]=q(r.cwd,s)??{};g=c}if(g&&n(g.oxc)){let e=await h({cwd:r.cwd});g={...g,oxc:m(g.oxc,e)}}if(d(e.lint)&&l(e).length===0){let n=z(e.lint,s),i=R(v,s,`lint`,n)??F(r.cwd,`lint`,s,n)??R(y,s,`lint`,n);!i&&!x&&a.push(`lint.no-tool`);let o=i??`oxc`,c={..._};if(o===`oxc`){let e=await U(r.cwd),n=t(p,e??{});V(n,e??{}),c.oxc=n}else c[o]=q(r.cwd,o)??{};_=c}return{config:{...e,...g===void 0?{}:{fmt:g},..._===void 0?{}:{lint:_}},warnings:a}}function Y(e={}){return{name:`tooling-defaults`,enabled:e=>d(e.fmt)||d(e.lint),run:async t=>{let n=c(t.config).length>0,r=l(t.config).length>0,i=await J(t.config,{cwd:t.cwd,...e.vscodeSettingsPath?{vscodeSettingsPath:e.vscodeSettingsPath}:{}});Object.assign(t.config,i.config);for(let e of i.warnings)t.warn(a(e),e);let o=t.ownConfig;if(o&&o!==t.config){let i=d(o.fmt)&&c(o).length===0,a=d(o.lint)&&l(o).length===0;if(i&&!n||a&&!r){let n=await J(o,{cwd:t.cwd,...e.vscodeSettingsPath?{vscodeSettingsPath:e.vscodeSettingsPath}:{}});Object.assign(o,n.config)}}return[]}}}export{J as normalizeToolingConfig,Y as toolingDefaultsTask};
1
+ import{default as e}from"node:path";import"node:url";import.meta.url;import{deepMerge as t,isPlainObject as n}from"./packages/shared/src/object-utils.js";import{readJsonAt as r,readJsoncAt as i}from"./packages/shared/src/fs-utils.js";import{warningMessage as a}from"./packages/shared/src/messages.js";import{FORMATTER_PRECEDENCE as o,LINTER_PRECEDENCE as s,resolveFmtTools as c,resolveLintTools as l,sectionConfig as u,sectionEnabled as d}from"./packages/shared/src/toolchain.js";import{DEFAULT_FMT_RULES as f,DEFAULT_LINT_RULES as p,applyFmtCustomGroups as m}from"./packages/shared/src/vite-defaults.js";import"./packages/shared/src/index.js";import{resolveFmtCustomGroups as h}from"./packages/core/src/fmt-groups.js";import"./packages/core/src/index.js";import{biomeToOx as g,findBiomeConfig as _,readJsonc as v}from"./packages/migrate/src/biome.js";import{dprintToOx as y,findDprintConfig as b}from"./packages/migrate/src/dprint.js";import{eslintToOx as x,findEslintConfig as S}from"./packages/migrate/src/eslint.js";import{findOxcConfigs as C}from"./packages/migrate/src/oxc.js";import{findPrettierConfig as w,prettierToOx as T}from"./packages/migrate/src/prettier.js";import"./packages/migrate/src/index.js";import E from"node:fs";import D from"node:os";const O={oxfmt:[`oxfmt`,`@oxc-project/oxfmt`,`vite-plus`],oxlint:[`oxlint`,`@oxc-project/oxlint`,`vite-plus`],biome:[`@biomejs/biome`],prettier:[`prettier`],dprint:[`dprint`],eslint:[`eslint`]},k={"oxc.oxc-vscode":`oxc`,"biomejs.biome":`biome`,"esbenp.prettier-vscode":`prettier`,"dprint.dprint":`dprint`,"dbaeumer.vscode-eslint":`eslint`},A={"source.fixAll.oxc":`oxc`,"source.fixAll.oxlint":`oxc`,"quickfix.biome":`biome`,"source.fixAll.biome":`biome`,"source.organizeImports.biome":`biome`,"source.fixAll.eslint":`eslint`};function j(t){let n=[],r=e.resolve(t);for(;n.push(r),!E.existsSync(e.join(r,`.git`));){let t=e.dirname(r);if(t===r)break;r=t}return n}function M(e){let t=/* @__PURE__ */ new Set,n=r(e,`package.json`);if(n)for(let e of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`])for(let r of Object.keys(n[e]??{}))t.add(r);return t}function N(e,t,n){let r=M(e);return t.find(e=>!n.has(e)&&(O[e]??[]).some(e=>r.has(e)))}function P(e,t,n,r){let i=/* @__PURE__ */ new Set;return t===`fmt`?(C(e).fmt&&i.add(`oxc`),_(e)&&i.add(`biome`),w(e)&&i.add(`prettier`),b(e)&&i.add(`dprint`)):(C(e).lint&&i.add(`oxc`),_(e)&&i.add(`biome`),S(e)&&i.add(`eslint`)),n.find(e=>!r.has(e)&&i.has(e))}function F(e,t,n,r){for(let i of j(e)){let e=P(i,t,n,r);if(e)return e;let a=N(i,n,r);if(a)return a}}function I(){let t=D.homedir(),n=process.env.APPDATA;return process.platform===`win32`?[...n?[e.join(n,`Code`,`User`,`settings.json`),e.join(n,`Code - Insiders`,`User`,`settings.json`),e.join(n,`VSCodium`,`User`,`settings.json`)]:[],e.join(t,`AppData`,`Roaming`,`Code`,`User`,`settings.json`)]:process.platform===`darwin`?[e.join(t,`Library`,`Application Support`,`Code`,`User`,`settings.json`),e.join(t,`Library`,`Application Support`,`Code - Insiders`,`User`,`settings.json`)]:[e.join(t,`.config`,`Code`,`User`,`settings.json`),e.join(t,`.config`,`Code - Insiders`,`User`,`settings.json`),e.join(t,`.config`,`VSCodium`,`User`,`settings.json`)]}function L(e){let t=e?[e]:I();for(let e of t)if(E.existsSync(e))try{return v(e)}catch{continue}}function R(e,t,r,i=/* @__PURE__ */ new Set){if(!e)return;let a=/* @__PURE__ */ new Set,o=[e];for(let[t,r]of Object.entries(e))t.startsWith(`[`)&&n(r)&&o.push(r);for(let e of o)if(r===`fmt`){let t=e[`editor.defaultFormatter`];typeof t==`string`&&k[t]&&a.add(k[t])}else{let t=e[`editor.codeActionsOnSave`];if(n(t))for(let e of Object.keys(t))A[e]&&a.add(A[e])}return r===`lint`&&(e[`eslint.enable`]===!0&&a.add(`eslint`),e[`biome.enabled`]===!0&&a.add(`biome`),e[`oxc.enable`]===!0&&a.add(`oxc`)),t.find(e=>!i.has(e)&&a.has(e))}function z(e,t){let n=u(e),r=/* @__PURE__ */ new Set;for(let e of t)n?.[e]===!1&&r.add(e);return r}function B(e){let{$schema:t,...n}=e;return n}function V(e,t){let n=[...Array.isArray(e.ignorePatterns)?e.ignorePatterns:[],...Array.isArray(t.ignorePatterns)?t.ignorePatterns:[]];n.length>0&&(e.ignorePatterns=[...new Set(n)])}async function H(e){for(let t of j(e)){let e=C(t).fmt;if(e)return B(v(e))}for(let n of j(e)){let e=[];if(b(n)){let t=await y.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(w(n)){let t=await T.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(_(n)){let t=await g.run({cwd:n});t.oxfmt&&e.push(t.oxfmt)}if(e.length>0)return e.reduce((e,n)=>t(e,n),{})}}async function U(e){for(let t of j(e)){let e=C(t).lint;if(e)return B(v(e))}for(let n of j(e)){let e=[];if(S(n)){let t=await x.run({cwd:n});t.oxlint&&e.push(B(t.oxlint))}if(_(n)){let t=await g.run({cwd:n});t.oxlint&&e.push(B(t.oxlint))}if(e.length>0)return e.reduce((e,n)=>t(e,n),{})}}function W(e,t){let n=C(e);return t===`fmt`?!!(n.fmt||_(e)||w(e)||b(e)):!!(n.lint||_(e)||S(e))}function G(e,t){return j(e).some(e=>W(e,t))}function K(e,t){try{if(t===`biome`){let t=_(e);if(t)return B(v(t))}if(t===`prettier`)return w(e)?.config;if(t===`dprint`)return b(e)?.config;if(t===`eslint`){let t=S(e);if(t?.json)return B(v(t.file))}}catch{return}}function q(e,t){for(let n of j(e)){let e=K(n,t);if(e!==void 0)return e}}function J(e,t,n,r){let a=e[t];if(a!==void 0&&!d(a))return{tool:n[0],source:`default`};let o=t===`fmt`?c(e):l(e);if(o.length>0)return{tool:o[0],source:`config`};let s=z(a,n),u=R(i(r.cwd,`.vscode/settings.json`),n,t,s);if(u)return{tool:u,source:`project-settings`};let f=F(r.cwd,t,n,s);if(f)return{tool:f,source:`workspace`};let p=R(L(r.vscodeSettingsPath),n,t,s);return p?{tool:p,source:`user-settings`}:{tool:n[0],source:`default`}}function Y(e={},t){return{fmt:J(e,`fmt`,o,t),lint:J(e,`lint`,s,t)}}async function X(e,r){let i=[],a=u(e.fmt),g=u(e.lint),_=G(r.cwd,`fmt`),v=G(r.cwd,`lint`);if(d(e.fmt)&&c(e).length===0){let n=J(e,`fmt`,o,r);n.source==="default"&&!_&&i.push(`fmt.no-tool`);let s={...a};if(n.tool===`oxc`){let e=await H(r.cwd),n=t(f,e??{});V(n,e??{}),s.oxc=n}else s[n.tool]=q(r.cwd,n.tool)??{};a=s}if(a&&n(a.oxc)){let e=await h({cwd:r.cwd});a={...a,oxc:m(a.oxc,e)}}if(d(e.lint)&&l(e).length===0){let n=J(e,`lint`,s,r);n.source==="default"&&!v&&i.push(`lint.no-tool`);let a={...g};if(n.tool===`oxc`){let e=await U(r.cwd),n=t(p,e??{});V(n,e??{}),a.oxc=n}else a[n.tool]=q(r.cwd,n.tool)??{};g=a}return{config:{...e,...a===void 0?{}:{fmt:a},...g===void 0?{}:{lint:g}},warnings:i}}function Z(e={}){return{name:`tooling-defaults`,enabled:e=>d(e.fmt)||d(e.lint),run:async t=>{let n=c(t.config).length>0,r=l(t.config).length>0,i=await X(t.config,{cwd:t.cwd,...e.vscodeSettingsPath?{vscodeSettingsPath:e.vscodeSettingsPath}:{}});Object.assign(t.config,i.config);for(let e of i.warnings)t.warn(a(e),e);let o=t.ownConfig;if(o&&o!==t.config){let i=d(o.fmt)&&c(o).length===0,a=d(o.lint)&&l(o).length===0;if(i&&!n||a&&!r){let n=await X(o,{cwd:t.cwd,...e.vscodeSettingsPath?{vscodeSettingsPath:e.vscodeSettingsPath}:{}});Object.assign(o,n.config)}}return[]}}}export{Y as discoverTooling,X as normalizeToolingConfig,Z as toolingDefaultsTask};
@@ -1,11 +1,12 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { AppliedOverride, OverrideLeaf, OverridesState, RevertOverrideResult, TSCONFIG_OVERRIDE_KINDS, TsconfigOverrideKind, TsconfigOverrides, addedOverrideLeaves, applyOverride, getPath, hasOverrideKeys, hasPath, isAppliedOverride, mergeOverride, overrideLeaves, recordOverrideSnapshot, removedOverrideLeaves, revertOverride } from "./packages/tsconfig/src/overrides.js";
4
- import { GenerateTsconfigsOptions, generateTsconfigs, runTsconfigCli } from "./packages/tsconfig/src/cli/generate/index.js";
5
- import { ResolveTsconfigOptions, ResolvedTsconfig, TsconfigAlias, TsconfigJson, TsconfigReference, parseTsconfig, readTsconfig, resolveTsconfig } from "./packages/tsconfig/src/resolve.js";
4
+ import { GenerateTsconfigsOptions, GenerateWorkspaceTsconfigsOptions, GenerateWorkspaceTsconfigsResult, generateTsconfigs, generateWorkspaceTsconfigs, runTsconfigCli } from "./packages/tsconfig/src/cli/generate/index.js";
5
+ import { ResolveTsconfigOptions, ResolvedTsconfig, TsconfigAlias, TsconfigJson, TsconfigReference, parseTsconfig, readTsconfig, resolveTsconfig, resolveTsconfigCompilerOption, resolveTsconfigConfig } from "./packages/tsconfig/src/resolve.js";
6
6
  import { RestoreTsconfigOverridesOptions, RestoreTsconfigOverridesResult, SnapshotTree, TSCONFIG_MANIFEST_PATH, deleteSnapshot, detectIndent, getSnapshot, restoreTsconfigOverrides, setSnapshot, stringifyTsconfig, toRepoRelative } from "./packages/tsconfig/src/snapshots.js";
7
- import { TsconfigFileNames, tsconfigFileNames, tsconfigSyncTask } from "./packages/tsconfig/src/sync.js";
7
+ import { tsconfigSyncTask } from "./packages/tsconfig/src/sync.js";
8
8
  import { DEFAULT_TSCONFIG_REPLACEMENTS, MonorepoTsconfigOptions, MonorepoWorkspace, TsconfigExtends, TsconfigExtendsOptions, buildMonorepoTsconfig, renderMonorepoTsconfig, renderTsconfigBase, renderTsconfigBuild, renderTsconfigDefault, renderTsconfigTemplates, tsconfigBaseTemplate, tsconfigBuildTemplate, tsconfigDefaultTemplate } from "./packages/tsconfig/src/templates.js";
9
9
  import "./packages/tsconfig/src/index.js";
10
+ import { TsconfigFileNameSet, tsconfigFileNames } from "./packages/shared/src/tsconfig-files.js";
10
11
  import { tsconfigCommands } from "./packages/tsconfig/src/cli/index.js";
11
- export { AppliedOverride, DEFAULT_TSCONFIG_REPLACEMENTS, GenerateTsconfigsOptions, MonorepoTsconfigOptions, MonorepoWorkspace, OverrideLeaf, OverridesState, ResolveTsconfigOptions, ResolvedTsconfig, RestoreTsconfigOverridesOptions, RestoreTsconfigOverridesResult, RevertOverrideResult, SnapshotTree, TSCONFIG_MANIFEST_PATH, TSCONFIG_OVERRIDE_KINDS, TsconfigAlias, TsconfigExtends, TsconfigExtendsOptions, TsconfigFileNames, TsconfigJson, TsconfigOverrideKind, TsconfigOverrides, TsconfigReference, addedOverrideLeaves, applyOverride, buildMonorepoTsconfig, deleteSnapshot, detectIndent, generateTsconfigs, getPath, getSnapshot, hasOverrideKeys, hasPath, isAppliedOverride, mergeOverride, overrideLeaves, parseTsconfig, readTsconfig, recordOverrideSnapshot, removedOverrideLeaves, renderMonorepoTsconfig, renderTsconfigBase, renderTsconfigBuild, renderTsconfigDefault, renderTsconfigTemplates, resolveTsconfig, restoreTsconfigOverrides, revertOverride, runTsconfigCli, setSnapshot, stringifyTsconfig, toRepoRelative, tsconfigBaseTemplate, tsconfigBuildTemplate, tsconfigCommands, tsconfigDefaultTemplate, tsconfigFileNames, tsconfigSyncTask };
12
+ export { AppliedOverride, DEFAULT_TSCONFIG_REPLACEMENTS, GenerateTsconfigsOptions, GenerateWorkspaceTsconfigsOptions, GenerateWorkspaceTsconfigsResult, MonorepoTsconfigOptions, MonorepoWorkspace, OverrideLeaf, OverridesState, ResolveTsconfigOptions, ResolvedTsconfig, RestoreTsconfigOverridesOptions, RestoreTsconfigOverridesResult, RevertOverrideResult, SnapshotTree, TSCONFIG_MANIFEST_PATH, TSCONFIG_OVERRIDE_KINDS, TsconfigAlias, TsconfigExtends, TsconfigExtendsOptions, type TsconfigFileNameSet as TsconfigFileNames, TsconfigJson, TsconfigOverrideKind, TsconfigOverrides, TsconfigReference, addedOverrideLeaves, applyOverride, buildMonorepoTsconfig, deleteSnapshot, detectIndent, generateTsconfigs, generateWorkspaceTsconfigs, getPath, getSnapshot, hasOverrideKeys, hasPath, isAppliedOverride, mergeOverride, overrideLeaves, parseTsconfig, readTsconfig, recordOverrideSnapshot, removedOverrideLeaves, renderMonorepoTsconfig, renderTsconfigBase, renderTsconfigBuild, renderTsconfigDefault, renderTsconfigTemplates, resolveTsconfig, resolveTsconfigCompilerOption, resolveTsconfigConfig, restoreTsconfigOverrides, revertOverride, runTsconfigCli, setSnapshot, stringifyTsconfig, toRepoRelative, tsconfigBaseTemplate, tsconfigBuildTemplate, tsconfigCommands, tsconfigDefaultTemplate, tsconfigFileNames, tsconfigSyncTask };
package/dist/tsconfig.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{TSCONFIG_OVERRIDE_KINDS as e,addedOverrideLeaves as t,applyOverride as n,getPath as r,hasOverrideKeys as i,hasPath as a,isAppliedOverride as o,mergeOverride as s,overrideLeaves as c,recordOverrideSnapshot as l,removedOverrideLeaves as u,revertOverride as d}from"./packages/tsconfig/src/overrides.js";import{parseTsconfig as f,readTsconfig as p,resolveTsconfig as m}from"./packages/tsconfig/src/resolve.js";import{generateTsconfigs as h,runTsconfigCli as g}from"./packages/tsconfig/src/cli/generate/index.js";import{TSCONFIG_MANIFEST_PATH as _,deleteSnapshot as v,detectIndent as y,getSnapshot as b,restoreTsconfigOverrides as x,setSnapshot as S,stringifyTsconfig as C,toRepoRelative as w}from"./packages/tsconfig/src/snapshots.js";import{tsconfigFileNames as T,tsconfigSyncTask as E}from"./packages/tsconfig/src/sync.js";import{DEFAULT_TSCONFIG_REPLACEMENTS as D,buildMonorepoTsconfig as O,renderMonorepoTsconfig as k,renderTsconfigBase as A,renderTsconfigBuild as j,renderTsconfigDefault as M,renderTsconfigTemplates as N,tsconfigBaseTemplate as P,tsconfigBuildTemplate as F,tsconfigDefaultTemplate as I}from"./packages/tsconfig/src/templates.js";import"./packages/tsconfig/src/index.js";import{tsconfigCommands as L}from"./packages/tsconfig/src/cli/index.js";export{D as DEFAULT_TSCONFIG_REPLACEMENTS,_ as TSCONFIG_MANIFEST_PATH,e as TSCONFIG_OVERRIDE_KINDS,t as addedOverrideLeaves,n as applyOverride,O as buildMonorepoTsconfig,v as deleteSnapshot,y as detectIndent,h as generateTsconfigs,r as getPath,b as getSnapshot,i as hasOverrideKeys,a as hasPath,o as isAppliedOverride,s as mergeOverride,c as overrideLeaves,f as parseTsconfig,p as readTsconfig,l as recordOverrideSnapshot,u as removedOverrideLeaves,k as renderMonorepoTsconfig,A as renderTsconfigBase,j as renderTsconfigBuild,M as renderTsconfigDefault,N as renderTsconfigTemplates,m as resolveTsconfig,x as restoreTsconfigOverrides,d as revertOverride,g as runTsconfigCli,S as setSnapshot,C as stringifyTsconfig,w as toRepoRelative,P as tsconfigBaseTemplate,F as tsconfigBuildTemplate,L as tsconfigCommands,I as tsconfigDefaultTemplate,T as tsconfigFileNames,E as tsconfigSyncTask};
1
+ import"node:path";import"node:url";import.meta.url;import{tsconfigFileNames as e}from"./packages/shared/src/tsconfig-files.js";import{TSCONFIG_OVERRIDE_KINDS as t,addedOverrideLeaves as n,applyOverride as r,getPath as i,hasOverrideKeys as a,hasPath as o,isAppliedOverride as s,mergeOverride as c,overrideLeaves as l,recordOverrideSnapshot as u,removedOverrideLeaves as d,revertOverride as f}from"./packages/tsconfig/src/overrides.js";import{parseTsconfig as p,readTsconfig as m,resolveTsconfig as h,resolveTsconfigCompilerOption as g,resolveTsconfigConfig as _}from"./packages/tsconfig/src/resolve.js";import{generateTsconfigs as v,generateWorkspaceTsconfigs as y,runTsconfigCli as b}from"./packages/tsconfig/src/cli/generate/index.js";import{TSCONFIG_MANIFEST_PATH as x,deleteSnapshot as S,detectIndent as C,getSnapshot as w,restoreTsconfigOverrides as T,setSnapshot as E,stringifyTsconfig as D,toRepoRelative as O}from"./packages/tsconfig/src/snapshots.js";import{tsconfigSyncTask as k}from"./packages/tsconfig/src/sync.js";import{DEFAULT_TSCONFIG_REPLACEMENTS as A,buildMonorepoTsconfig as j,renderMonorepoTsconfig as M,renderTsconfigBase as N,renderTsconfigBuild as P,renderTsconfigDefault as F,renderTsconfigTemplates as I,tsconfigBaseTemplate as L,tsconfigBuildTemplate as R,tsconfigDefaultTemplate as z}from"./packages/tsconfig/src/templates.js";import"./packages/tsconfig/src/index.js";import{tsconfigCommands as B}from"./packages/tsconfig/src/cli/index.js";export{A as DEFAULT_TSCONFIG_REPLACEMENTS,x as TSCONFIG_MANIFEST_PATH,t as TSCONFIG_OVERRIDE_KINDS,n as addedOverrideLeaves,r as applyOverride,j as buildMonorepoTsconfig,S as deleteSnapshot,C as detectIndent,v as generateTsconfigs,y as generateWorkspaceTsconfigs,i as getPath,w as getSnapshot,a as hasOverrideKeys,o as hasPath,s as isAppliedOverride,c as mergeOverride,l as overrideLeaves,p as parseTsconfig,m as readTsconfig,u as recordOverrideSnapshot,d as removedOverrideLeaves,M as renderMonorepoTsconfig,N as renderTsconfigBase,P as renderTsconfigBuild,F as renderTsconfigDefault,I as renderTsconfigTemplates,h as resolveTsconfig,g as resolveTsconfigCompilerOption,_ as resolveTsconfigConfig,T as restoreTsconfigOverrides,f as revertOverride,b as runTsconfigCli,E as setSnapshot,D as stringifyTsconfig,O as toRepoRelative,L as tsconfigBaseTemplate,R as tsconfigBuildTemplate,B as tsconfigCommands,z as tsconfigDefaultTemplate,e as tsconfigFileNames,k as tsconfigSyncTask};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deltabox/toolchain",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "All-in-one development toolchain that let's you scaffold projects, generate and manage configs, tsconfigs, custom templates, syncing, changelogs, CI, Vite+, migrations, and more.",
5
5
  "homepage": "https://toolchain.deltabox.studio",
6
6
  "author": "Victor Sango <victor@deltabox.studio>",
@@ -34,11 +34,12 @@
34
34
  "environment",
35
35
  "variables",
36
36
  "configuration",
37
- "settings"
37
+ "settings",
38
+ "dbx"
38
39
  ],
39
40
  "scripts": {
40
41
  "dev": "tsx src/cli/index.ts",
41
- "build": "vp run --filter \"./packages/*\" build && vp run -w build:root && yarn build:vscode",
42
+ "build": "vp run --filter \"./packages/*\" build && vp run -w build:root && yarn build:vscode && yarn dbx sync --only tsconfig",
42
43
  "build:vscode": "yarn workspace toolchain-vscode package:vsix",
43
44
  "docs": "vp run --filter \"./apps/docs\"",
44
45
  "format": "vp run --filter \"./packages/*\" format && vp run -w format:root",
@@ -84,17 +85,17 @@
84
85
  "@commitlint/cli": "^21.2.2",
85
86
  "@commitlint/config-conventional": "^21.2.2",
86
87
  "@deltabox/toolchain": "portal:.",
87
- "@deltabox/toolchain-biome": "2.4.0",
88
- "@deltabox/toolchain-changelog": "2.4.0",
89
- "@deltabox/toolchain-config": "2.4.0",
90
- "@deltabox/toolchain-core": "2.4.0",
91
- "@deltabox/toolchain-migrate": "2.4.0",
92
- "@deltabox/toolchain-project": "2.4.0",
93
- "@deltabox/toolchain-shared": "2.4.0",
94
- "@deltabox/toolchain-template": "2.4.0",
95
- "@deltabox/toolchain-tsconfig": "2.4.0",
96
- "@deltabox/toolchain-tsdown": "2.4.0",
97
- "@deltabox/toolchain-vite": "2.4.0",
88
+ "@deltabox/toolchain-biome": "2.6.0",
89
+ "@deltabox/toolchain-changelog": "2.6.0",
90
+ "@deltabox/toolchain-config": "2.6.0",
91
+ "@deltabox/toolchain-core": "2.6.0",
92
+ "@deltabox/toolchain-migrate": "2.6.0",
93
+ "@deltabox/toolchain-project": "2.6.0",
94
+ "@deltabox/toolchain-shared": "2.6.0",
95
+ "@deltabox/toolchain-template": "2.6.0",
96
+ "@deltabox/toolchain-tsconfig": "2.6.0",
97
+ "@deltabox/toolchain-tsdown": "2.6.0",
98
+ "@deltabox/toolchain-vite": "2.6.0",
98
99
  "@types/node": "^22.10.2",
99
100
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
100
101
  "cross-env": "^10.1.0",