@tsmodule/tsmodule 31.0.1 → 32.0.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 (39) hide show
  1. package/dist/commands/build/index.d.ts +20 -0
  2. package/dist/commands/build/index.js +63 -5
  3. package/dist/commands/build/lib/emitTsDeclarations.d.ts +13 -0
  4. package/dist/commands/build/lib/emitTsDeclarations.js +18 -3
  5. package/dist/commands/create/index.d.ts +3 -0
  6. package/dist/commands/create/index.js +18 -1
  7. package/dist/commands/create/lib/createTemplate.d.ts +1 -0
  8. package/dist/commands/create/lib/createTemplate.js +10 -1
  9. package/dist/commands/create/lib/rewritePkgJson.d.ts +1 -0
  10. package/dist/commands/create/lib/rewritePkgJson.js +4 -1
  11. package/dist/commands/dev/index.d.ts +1 -0
  12. package/dist/commands/dev/index.js +68 -3
  13. package/dist/commands/execute/index.d.ts +1 -0
  14. package/dist/commands/execute/index.js +10 -1
  15. package/dist/commands/normalize/index.d.ts +14 -0
  16. package/dist/commands/normalize/index.js +58 -3
  17. package/dist/commands/normalize/lib/typescriptApi.d.ts +7 -0
  18. package/dist/commands/normalize/lib/typescriptApi.js +50 -1
  19. package/dist/constants.d.ts +10 -0
  20. package/dist/constants.js +4 -1
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.js +89 -5
  23. package/dist/loader/index.d.ts +11 -0
  24. package/dist/loader/index.js +12 -1
  25. package/dist/loader/types.d.ts +22 -0
  26. package/dist/loader/types.js +3 -0
  27. package/dist/types/index.d.ts +1 -0
  28. package/dist/types/index.js +3 -1
  29. package/dist/utils/cwd.d.ts +7 -0
  30. package/dist/utils/cwd.js +8 -1
  31. package/dist/utils/pkgJson.d.ts +2 -0
  32. package/dist/utils/pkgJson.js +4 -1
  33. package/dist/utils/require.d.ts +1 -0
  34. package/dist/utils/require.js +4 -1
  35. package/dist/utils/resolve.d.ts +28 -0
  36. package/dist/utils/resolve.js +4 -1
  37. package/dist/utils/stdin.d.ts +1 -0
  38. package/dist/utils/stdin.js +12 -1
  39. package/package.json +16 -15
@@ -0,0 +1,11 @@
1
+ import type { GetFormatHook as ModuleGetFormatHook, LoadHook as ModuleLoadHook, ResolveHook as ModuleResolveHook, TransformHook as ModuleTransformSourceHook } from "./types";
2
+ export declare const resolve: ModuleResolveHook;
3
+ export declare const load: ModuleLoadHook;
4
+ /**
5
+ * @deprecated As of Node 17.
6
+ */
7
+ export declare const getFormat: ModuleGetFormatHook;
8
+ /**
9
+ * @deprecated As of Node 17.
10
+ */
11
+ export declare const transformSource: ModuleTransformSourceHook;
@@ -1 +1,12 @@
1
- import{extname as m,isAbsolute as U,join as E,normalize as S,resolve as w}from"path";import{fileURLToPath as H,pathToFileURL as v,URL as L}from"url";import{createDebugLogger as d}from"create-debug-logger";import{readFileSync as G}from"fs";import{transform as h}from"esbuild";import{posix as M}from"path";import{win32 as T}from"path";import{checkExtensions as k,checkTsExtensions as D,fileExists as b,isJs as y,isTs as N,MODULE_LOADERS as R}from"../utils/resolve.js";import{getPackageJsonFile as P}from"../utils/pkgJson.js";const F=await P(),A=async(o,r,t)=>{const{parentURL:s}=r,e=d(A);if(e.log("Resolving specifier:",{importedFromURL:s,specifier:o}),!o.startsWith(".")&&!U(o))return e.log("Using defaultResolve for named module:",{specifier:o}),t(o,r,t);const{href:l}=v(process.cwd()),{href:i}=new L(s||l);e.log("Finding import URL for",{specifier:o,baseURL:i});let n=o;o.startsWith("file://")||(U(o)?(e.log("Setting import URL to absolute specifier."),n=v(w(S(o))).href):(e.log("Setting import URL relative to baseURL."),n=new L(o,i).href),e.log("Resolved import URL:",{importedFileURL:n,importedFromURL:s}));const f=m(s??"").toLowerCase(),c=m(n).toLowerCase();if(e.log("Rewriting file extension:",{parentExtension:f,specifierExtension:c}),c){const a=n.substring(0,n.lastIndexOf(c));if(e.log("Re-resolving specifier:",{unresolvedSpecifier:a}),y.test(c)&&N.test(f)){const p=D(a);if(p)return e.log("Found JS import in TS:",{unresolvedSpecifier:a,resolvedTsSourceFile:p}),{url:p}}return b(a)?(e.log("Found file at unresolved specifier:",{unresolvedSpecifier:a}),{url:a}):t(o,r,t)}e.log("Resolving incomplete URL import to file:",{specifier:o});const u=k(n);if(u)return e.log("Resolved import URL to file:",{resolvedFile:u}),{url:u};const x=new L(E(n,"index")).href,g=k(x);return g?(e.log("Resolved import URL to index file:",{resolvedIndexFile:g}),{url:g}):t(o,r,t)},J=async(o,r,t)=>{const s=d(J);if(s.log("Loading source file:",{url:o}),!o.includes(T.sep)&&!o.includes(M.sep))return s.log("Using defaultLoad for named module:",{url:o}),t(o,r,t);const e=m(o),l=R[e];if(!l)return s.log("No loader found, using defaultLoad:",{url:o}),t(o,r,t);const i=H(o),n=G(i,"utf8"),f=await h(n.toString(),{...l,sourcefile:i,format:"esm",define:{PACKAGE_JSON:F}});return{format:"module",source:f.code}},O=async(o,r,t)=>{const s=d(O);s.log("Getting format for source file:",{url:o});const e=m(o);return R[e]?{format:"module"}:(s.log("No loader found, using default format:",{url:o}),t(o,r,t))},B=async(o,r,t)=>{const s=d(B);s.log("Transforming source from context:",{context:r});const{url:e}=r,l=m(e),i=R[l];return i?{source:(await h(o.toString(),{...i,logLevel:"info",charset:"utf8",target:"esnext",sourcefile:r.url,format:r.format==="module"?"esm":"cjs",define:{PACKAGE_JSON:F}})).code}:(s.log("No loader found, using default transformer:",{url:e}),t(o,r,t))};export{O as getFormat,J as load,A as resolve,B as transformSource};
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ import{extname as R,isAbsolute as ee,join as Re,normalize as Te,resolve as ve}from"path";import{posix as Ce}from"path";import{win32 as Le}from"path";import{fileURLToPath as ye,pathToFileURL as oe,URL as k}from"url";import{readFile as Me}from"fs/promises";import{transform as te}from"esbuild";var j={NODE_ENV:"production"};try{let{env:e}=await import("process");e.NODE_ENV&&(j.NODE_ENV=e.NODE_ENV)}catch{}var N=j.NODE_ENV==="development";import{Console as be}from"console";var D=(e=0)=>o=>`\x1B[${o+e}m`,P=(e=0)=>o=>`\x1B[${38+e};5;${o}m`,G=(e=0)=>(o,t,r)=>`\x1B[${38+e};2;${o};${t};${r}m`;function ne(){let e=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[t,r]of Object.entries(o)){for(let[n,s]of Object.entries(r))o[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},r[n]=o[n],e.set(s[0],s[1]);Object.defineProperty(o,t,{value:r,enumerable:!1})}return Object.defineProperty(o,"codes",{value:e,enumerable:!1}),o.color.close="\x1B[39m",o.bgColor.close="\x1B[49m",o.color.ansi=D(),o.color.ansi256=P(),o.color.ansi16m=G(),o.bgColor.ansi=D(10),o.bgColor.ansi256=P(10),o.bgColor.ansi16m=G(10),Object.defineProperties(o,{rgbToAnsi256:{value:(t,r,n)=>t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:t=>{let r=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(t.toString(16));if(!r)return[0,0,0];let{colorString:n}=r.groups;n.length===3&&(n=[...n].map(i=>i+i).join(""));let s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:t=>o.rgbToAnsi256(...o.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,s;if(t>=232)r=((t-232)*10+8)/255,n=r,s=r;else{t-=16;let f=t%36;r=Math.floor(t/36)/5,n=Math.floor(f/6)/5,s=f%6/5}let i=Math.max(r,n,s)*2;if(i===0)return 30;let c=30+(Math.round(s)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(c+=60),c},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>o.ansi256ToAnsi(o.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>o.ansi256ToAnsi(o.hexToAnsi256(t)),enumerable:!1}}),o}var se=ne(),u=se;import A from"node:process";import ie from"node:os";import V from"node:tty";function a(e,o=A.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",r=o.indexOf(t+e),n=o.indexOf("--");return r!==-1&&(n===-1||r<n)}var{env:l}=A,v;a("no-color")||a("no-colors")||a("color=false")||a("color=never")?v=0:(a("color")||a("colors")||a("color=true")||a("color=always"))&&(v=1);function le(){if("FORCE_COLOR"in l)return l.FORCE_COLOR==="true"?1:l.FORCE_COLOR==="false"?0:l.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(l.FORCE_COLOR,10),3)}function ce(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function ae(e,{streamIsTTY:o,sniffFlags:t=!0}={}){let r=le();r!==void 0&&(v=r);let n=t?v:r;if(n===0)return 0;if(t){if(a("color=16m")||a("color=full")||a("color=truecolor"))return 3;if(a("color=256"))return 2}if(e&&!o&&n===void 0)return 0;let s=n||0;if(l.TERM==="dumb")return s;if(A.platform==="win32"){let i=ie.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in l)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in l)||l.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in l)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(l.TEAMCITY_VERSION)?1:0;if("TF_BUILD"in l&&"AGENT_NAME"in l)return 1;if(l.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in l){let i=Number.parseInt((l.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(l.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(l.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(l.TERM)||"COLORTERM"in l?1:s}function $(e,o={}){let t=ae(e,{streamIsTTY:e&&e.isTTY,...o});return ce(t)}var ue={stdout:$({isTTY:V.isatty(1)}),stderr:$({isTTY:V.isatty(2)})},H=ue;function Y(e,o,t){let r=e.indexOf(o);if(r===-1)return e;let n=o.length,s=0,i="";do i+=e.substr(s,r-s)+o+t,s=r+n,r=e.indexOf(o,s);while(r!==-1);return i+=e.slice(s),i}function W(e,o,t,r){let n=0,s="";do{let i=e[r-1]==="\r";s+=e.substr(n,(i?r-1:r)-n)+o+(i?`\r
5
+ `:`
6
+ `)+t,n=r+1,r=e.indexOf(`
7
+ `,n)}while(r!==-1);return s+=e.slice(n),s}var{stdout:J,stderr:K}=H,B=Symbol("GENERATOR"),m=Symbol("STYLER"),E=Symbol("IS_EMPTY"),z=["ansi","ansi","ansi256","ansi16m"],d=Object.create(null),fe=(e,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=J?J.level:0;e.level=o.level===void 0?t:o.level};var ge=e=>{let o=(...t)=>t.join(" ");return fe(o,e),Object.setPrototypeOf(o,x.prototype),o};function x(e){return ge(e)}Object.setPrototypeOf(x.prototype,Function.prototype);for(let[e,o]of Object.entries(u))d[e]={get(){let t=C(this,F(o.open,o.close,this[m]),this[E]);return Object.defineProperty(this,e,{value:t}),t}};d.visible={get(){let e=C(this,this[m],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var S=(e,o,t,...r)=>e==="rgb"?o==="ansi16m"?u[t].ansi16m(...r):o==="ansi256"?u[t].ansi256(u.rgbToAnsi256(...r)):u[t].ansi(u.rgbToAnsi(...r)):e==="hex"?S("rgb",o,t,...u.hexToRgb(...r)):u[t][e](...r),pe=["rgb","hex","ansi256"];for(let e of pe){d[e]={get(){let{level:t}=this;return function(...r){let n=F(S(e,z[t],"color",...r),u.color.close,this[m]);return C(this,n,this[E])}}};let o="bg"+e[0].toUpperCase()+e.slice(1);d[o]={get(){let{level:t}=this;return function(...r){let n=F(S(e,z[t],"bgColor",...r),u.bgColor.close,this[m]);return C(this,n,this[E])}}}}var me=Object.defineProperties(()=>{},{...d,level:{enumerable:!0,get(){return this[B].level},set(e){this[B].level=e}}}),F=(e,o,t)=>{let r,n;return t===void 0?(r=e,n=o):(r=t.openAll+e,n=o+t.closeAll),{open:e,close:o,openAll:r,closeAll:n,parent:t}},C=(e,o,t)=>{let r=(...n)=>de(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,me),r[B]=e,r[m]=o,r[E]=t,r},de=(e,o)=>{if(e.level<=0||!o)return e[E]?"":o;let t=e[m];if(t===void 0)return o;let{openAll:r,closeAll:n}=t;if(o.includes("\x1B"))for(;t!==void 0;)o=Y(o,t.close,t.open),t=t.parent;let s=o.indexOf(`
8
+ `);return s!==-1&&(o=W(o,n,r,s)),r+o+n};Object.defineProperties(x.prototype,d);var he=x(),Ve=x({level:K?K.level:0});var I=he;var g=new be({stdout:process.stdout,stderr:process.stderr,groupIndentation:4}),h=e=>{if(N){let{name:o}=e;return{log(...t){let r=I.bgBlue.white(` [${o}] `);g.log(`${r}`,`
9
+
10
+ `,...t),g.log()},group(){g.log();let t=I.bgBlue.white(` [${o}] `);g.group(t),g.log()},groupEnd(){g.log(`
11
+ `,"-".repeat(20),`
12
+ `),g.groupEnd()}}}else return{log(){},group(){},groupEnd(){}}};import{existsSync as Ee}from"fs";import{fileURLToPath as xe}from"url";var X=/\.[mc]?tsx?(?=\?|$)/,q=/\.([mc])?js$/;var b={format:"esm",charset:"utf8",sourcemap:"inline",target:"node16",minify:!1},O={".mts":{...b,loader:"ts"},".jsx":{...b,loader:"jsx"},".tsx":{...b,loader:"tsx"},".cts":{...b,loader:"ts"},".ts":{...b,loader:"ts"},".json":{...b,loader:"json"}},Q=Object.keys(O);var w=e=>{let o=xe(e);if(Ee(o))return e},Z=e=>{for(let o of e)if(w(o))return o},_=e=>{let o=Q.filter(t=>t.includes("ts")).concat([".js"]);return Z(o.map(t=>e+t))},Oe=e=>{let o=Q.filter(t=>t.includes("js")).concat([".js"]);return Z(o.map(t=>e+t))},U=e=>{let o=Oe(e);if(o)return o;let t=_(e);if(t)return t};var Ne=async(e,o,t)=>{let{parentURL:r}=o,n=h(Ne);if(n.log("Resolving specifier:",{importedFromURL:r,specifier:e}),!e.startsWith(".")&&!ee(e))return n.log("Using defaultResolve for named module:",{specifier:e}),t(e,o,t);let{href:s}=oe(process.cwd()),{href:i}=new k(r||s);n.log("Finding import URL for",{specifier:e,baseURL:i});let c=e;e.startsWith("file://")||(ee(e)?(n.log("Setting import URL to absolute specifier."),c=oe(ve(Te(e))).href):(n.log("Setting import URL relative to baseURL."),c=new k(e,i).href),n.log("Resolved import URL:",{importedFileURL:c,importedFromURL:r}));let f=R(r??"").toLowerCase(),T=R(c).toLowerCase();if(n.log("Rewriting file extension:",{parentExtension:f,specifierExtension:T}),T){let p=c.substring(0,c.lastIndexOf(T));if(n.log("Re-resolving specifier:",{unresolvedSpecifier:p}),q.test(T)&&X.test(f)){let M=_(p);if(M)return n.log("Found JS import in TS:",{unresolvedSpecifier:p,resolvedTsSourceFile:M}),{url:M}}return w(p)?(n.log("Found file at unresolved specifier:",{unresolvedSpecifier:p}),{url:p}):t(e,o,t)}n.log("Resolving incomplete URL import to file:",{specifier:e});let L=U(c);if(L)return n.log("Resolved import URL to file:",{resolvedFile:L}),{url:L};let re=new k(Re(c,"index")).href,y=U(re);return y?(n.log("Resolved import URL to index file:",{resolvedIndexFile:y}),{url:y}):t(e,o,t)},Ae=async(e,o,t)=>{let r=h(Ae);if(r.log("Loading source file:",{url:e}),!e.includes(Le.sep)&&!e.includes(Ce.sep))return r.log("Using defaultLoad for named module:",{url:e}),t(e,o,t);let n=R(e),s=O[n];if(!s)return r.log("No loader found, using defaultLoad:",{url:e}),t(e,o,t);let i=ye(e),c=await Me(i,"utf8"),f=await te(c.toString(),{...s,sourcefile:i,format:"esm"});return{format:"module",source:f.code}},Be=async(e,o,t)=>{let r=h(Be);r.log("Getting format for source file:",{url:e});let n=R(e);return O[n]?{format:"module"}:(r.log("No loader found, using default format:",{url:e}),t(e,o,t))},Se=async(e,o,t)=>{let r=h(Se);r.log("Transforming source from context:",{context:o});let{url:n}=o,s=R(n),i=O[s];return i?{source:(await te(e.toString(),{...i,logLevel:"info",charset:"utf8",target:"esnext",sourcefile:o.url,format:o.format==="module"?"esm":"cjs"})).code}:(r.log("No loader found, using default transformer:",{url:n}),t(e,o,t))};export{Be as getFormat,Ae as load,Ne as resolve,Se as transformSource};
@@ -0,0 +1,22 @@
1
+ export declare type Promisable<T> = Promise<T> | T;
2
+ export declare type ModuleSource = string | SharedArrayBuffer | Uint8Array;
3
+ export declare type ModuleFormat = "builtin" | "commonjs" | "json" | "module" | "wasm";
4
+ export declare type ResolveHook = (specifier: string, context: {
5
+ conditions: string[];
6
+ parentURL?: string;
7
+ }, fallback: ResolveHook) => Promisable<{
8
+ url: string;
9
+ format?: ModuleFormat;
10
+ }>;
11
+ export declare type GetFormatHook = (url: string, context: object, fallback: GetFormatHook) => Promisable<{
12
+ format: ModuleFormat;
13
+ }>;
14
+ export declare type TransformHook = (source: ModuleSource, context: Record<"url" | "format", string>, fallback: TransformHook) => Promisable<{
15
+ source: ModuleSource;
16
+ }>;
17
+ export declare type LoadHook = (url: string, context: {
18
+ format?: ModuleFormat;
19
+ }, fallback: LoadHook) => Promisable<{
20
+ format: ModuleFormat;
21
+ source: ModuleSource;
22
+ }>;
@@ -0,0 +1,3 @@
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
@@ -0,0 +1 @@
1
+ export * from "../loader/types";
@@ -1 +1,3 @@
1
- export*from"../loader/types.js";
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
@@ -0,0 +1,7 @@
1
+ export declare const getWorkingDirs: () => {
2
+ cwd: string;
3
+ srcDir: string;
4
+ outDir: string;
5
+ };
6
+ export declare const getEmittedFile: (file: string) => string;
7
+ export declare const getSourceFile: (file: string) => string;
package/dist/utils/cwd.js CHANGED
@@ -1 +1,8 @@
1
- import{isTs as c,isTsxOrJsx as e}from"./resolve.js";import{resolve as o}from"path";const i=()=>{const r=process.cwd(),s=o(r,"src"),t=o(r,"dist");return{cwd:r,srcDir:s,outDir:t}},D=r=>{r=o(r);const{srcDir:s,outDir:t}=i();return r.replace(s,t).replace(c,".js").replace(e,".js")};export{D as getEmittedFile,i as getWorkingDirs};
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ import{extname as ee,resolve as m}from"path";var A=/\.[mc]?tsx?(?=\?|$)/;var y=/\.([mc])?[tj]sx$/;var a={format:"esm",charset:"utf8",sourcemap:"inline",target:"node16",minify:!1},$={".mts":{...a,loader:"ts"},".jsx":{...a,loader:"jsx"},".tsx":{...a,loader:"tsx"},".cts":{...a,loader:"ts"},".ts":{...a,loader:"ts"},".json":{...a,loader:"json"}},oe=Object.keys($);import{existsSync as k}from"fs";var B=(t=0)=>e=>`\x1B[${e+t}m`,v=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,M=(t=0)=>(e,r,o)=>`\x1B[${38+t};2;${e};${r};${o}m`;function G(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[n,s]of Object.entries(o))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},o[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",e.color.ansi=B(),e.color.ansi256=v(),e.color.ansi16m=M(),e.bgColor.ansi=B(10),e.bgColor.ansi256=v(10),e.bgColor.ansi16m=M(10),Object.defineProperties(e,{rgbToAnsi256:{value:(r,o,n)=>r===o&&o===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(o/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:r=>{let o=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(r.toString(16));if(!o)return[0,0,0];let{colorString:n}=o.groups;n.length===3&&(n=[...n].map(i=>i+i).join(""));let s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:r=>e.rgbToAnsi256(...e.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value:r=>{if(r<8)return 30+r;if(r<16)return 90+(r-8);let o,n,s;if(r>=232)o=((r-232)*10+8)/255,n=o,s=o;else{r-=16;let b=r%36;o=Math.floor(r/36)/5,n=Math.floor(b/6)/5,s=b%6/5}let i=Math.max(o,n,s)*2;if(i===0)return 30;let h=30+(Math.round(s)<<2|Math.round(n)<<1|Math.round(o));return i===2&&(h+=60),h},enumerable:!1},rgbToAnsi:{value:(r,o,n)=>e.ansi256ToAnsi(e.rgbToAnsi256(r,o,n)),enumerable:!1},hexToAnsi:{value:r=>e.ansi256ToAnsi(e.hexToAnsi256(r)),enumerable:!1}}),e}var Y=G(),u=Y;import T from"node:process";import U from"node:os";import S from"node:tty";function c(t,e=T.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),n=e.indexOf("--");return o!==-1&&(n===-1||o<n)}var{env:l}=T,x;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?x=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(x=1);function V(){if("FORCE_COLOR"in l)return l.FORCE_COLOR==="true"?1:l.FORCE_COLOR==="false"?0:l.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(l.FORCE_COLOR,10),3)}function K(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function W(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let o=V();o!==void 0&&(x=o);let n=r?x:o;if(n===0)return 0;if(r){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if(t&&!e&&n===void 0)return 0;let s=n||0;if(l.TERM==="dumb")return s;if(T.platform==="win32"){let i=U.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in l)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in l)||l.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in l)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(l.TEAMCITY_VERSION)?1:0;if("TF_BUILD"in l&&"AGENT_NAME"in l)return 1;if(l.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in l){let i=Number.parseInt((l.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(l.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(l.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(l.TERM)||"COLORTERM"in l?1:s}function I(t,e={}){let r=W(t,{streamIsTTY:t&&t.isTTY,...e});return K(r)}var J={stdout:I({isTTY:S.isatty(1)}),stderr:I({isTTY:S.isatty(2)})},F=J;function N(t,e,r){let o=t.indexOf(e);if(o===-1)return t;let n=e.length,s=0,i="";do i+=t.substr(s,o-s)+e+r,s=o+n,o=t.indexOf(e,s);while(o!==-1);return i+=t.slice(s),i}function j(t,e,r,o){let n=0,s="";do{let i=t[o-1]==="\r";s+=t.substr(n,(i?o-1:o)-n)+e+(i?`\r
5
+ `:`
6
+ `)+r,n=o+1,o=t.indexOf(`
7
+ `,n)}while(o!==-1);return s+=t.slice(n),s}var{stdout:_,stderr:L}=F,E=Symbol("GENERATOR"),f=Symbol("STYLER"),g=Symbol("IS_EMPTY"),w=["ansi","ansi","ansi256","ansi16m"],p=Object.create(null),z=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=_?_.level:0;t.level=e.level===void 0?r:e.level};var H=t=>{let e=(...r)=>r.join(" ");return z(e,t),Object.setPrototypeOf(e,d.prototype),e};function d(t){return H(t)}Object.setPrototypeOf(d.prototype,Function.prototype);for(let[t,e]of Object.entries(u))p[t]={get(){let r=O(this,R(e.open,e.close,this[f]),this[g]);return Object.defineProperty(this,t,{value:r}),r}};p.visible={get(){let t=O(this,this[f],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var C=(t,e,r,...o)=>t==="rgb"?e==="ansi16m"?u[r].ansi16m(...o):e==="ansi256"?u[r].ansi256(u.rgbToAnsi256(...o)):u[r].ansi(u.rgbToAnsi(...o)):t==="hex"?C("rgb",e,r,...u.hexToRgb(...o)):u[r][t](...o),X=["rgb","hex","ansi256"];for(let t of X){p[t]={get(){let{level:r}=this;return function(...o){let n=R(C(t,w[r],"color",...o),u.color.close,this[f]);return O(this,n,this[g])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);p[e]={get(){let{level:r}=this;return function(...o){let n=R(C(t,w[r],"bgColor",...o),u.bgColor.close,this[f]);return O(this,n,this[g])}}}}var q=Object.defineProperties(()=>{},{...p,level:{enumerable:!0,get(){return this[E].level},set(t){this[E].level=t}}}),R=(t,e,r)=>{let o,n;return r===void 0?(o=t,n=e):(o=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:n,parent:r}},O=(t,e,r)=>{let o=(...n)=>Q(o,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(o,q),o[E]=t,o[f]=e,o[g]=r,o},Q=(t,e)=>{if(t.level<=0||!e)return t[g]?"":e;let r=t[f];if(r===void 0)return e;let{openAll:o,closeAll:n}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=N(e,r.close,r.open),r=r.parent;let s=e.indexOf(`
8
+ `);return s!==-1&&(e=j(e,n,o,s)),o+e+n};Object.defineProperties(d.prototype,p);var Z=d(),be=d({level:L?L.level:0});var P=Z;var te=(t,e)=>{let r=ee(t);return r===e?t:t.substring(0,-r.length||t.length)},D=()=>{let t=process.cwd(),e=m(t,"src"),r=m(t,"dist");return{cwd:t,srcDir:e,outDir:r}},Te=t=>{t=m(t);let{srcDir:e,outDir:r}=D();return t.replace(e,r).replace(A,".js").replace(y,".js")},re=[".mts",".ts",".tsx"],Ee=t=>{t=m(t);let{srcDir:e,outDir:r}=D(),n=te(t,"").replace(r,e),s;for(let i of re){let h=`${n}${i}`;k(h)&&(s=h);let b=m(n,`index${i}`);k(b)&&(s=b)}if(!s)throw new Error(`Could not find source file for: ${P.bold(t)}`);return s};export{Te as getEmittedFile,Ee as getSourceFile,D as getWorkingDirs};
@@ -0,0 +1,2 @@
1
+ export declare const getPackageJsonFile: () => Promise<string>;
2
+ export declare const getPackageJson: () => Promise<any>;
@@ -1 +1,4 @@
1
- import{readFileSync as s}from"fs";import{resolve as n}from"path";const t=async()=>{const e=process.cwd(),o=n(e,"package.json");return s(o,"utf-8")},p=async()=>{const e=await t();return JSON.parse(e)};export{p as getPackageJson,t as getPackageJsonFile};
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ import{readFile as s}from"fs/promises";import{resolve as t}from"path";var a=async()=>{let e=process.cwd(),o=t(e,"package.json");return await s(o,"utf-8")},c=async()=>{let e=await a();return JSON.parse(e)};export{c as getPackageJson,a as getPackageJsonFile};
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1,4 @@
1
- await(async()=>{const{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){const{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
@@ -0,0 +1,28 @@
1
+ export declare const DEVELOPMENT_MODE: boolean;
2
+ export declare const isTs: RegExp;
3
+ export declare const isJs: RegExp;
4
+ export declare const isTsxOrJsx: RegExp;
5
+ export declare const isJsOrTs: RegExp;
6
+ export declare const BASE_CONFIG: {
7
+ format: string;
8
+ charset: string;
9
+ sourcemap: string;
10
+ target: string;
11
+ minify: boolean;
12
+ };
13
+ export declare type ModuleLoaders = {
14
+ [extension: string]: {
15
+ [configKey: string]: unknown;
16
+ };
17
+ };
18
+ export declare const MODULE_LOADERS: ModuleLoaders;
19
+ export declare const POSSIBLE_EXTENSIONS: string[];
20
+ /**
21
+ * Force a Unix-like path.
22
+ */
23
+ export declare const normalizeSpecifier: (specifier: string) => string;
24
+ export declare const fileExists: (fileUrl: string) => string | void;
25
+ export declare const fileExistsAny: (fileUrls: string[]) => string | void;
26
+ export declare const checkTsExtensions: (specifier: string) => string | void;
27
+ export declare const checkJsExtension: (specifier: string) => string | void;
28
+ export declare const checkExtensions: (specifier: string) => string | undefined;
@@ -1 +1,4 @@
1
- import{existsSync as i}from"fs";import{fileURLToPath as c}from"url";import{posix as x}from"path";import{sep as p}from"path";const O=!1,h=/\.[mc]?tsx?(?=\?|$)/,S=/\.([mc])?js$/,L=/\.([mc])?[tj]sx$/,M=/\.([mc])?[tj]sx?$/,e={format:"esm",charset:"utf8",sourcemap:"inline",target:"node16",minify:!1},a={".mts":{...e,loader:"ts"},".jsx":{...e,loader:"jsx"},".tsx":{...e,loader:"tsx"},".cts":{...e,loader:"ts"},".ts":{...e,loader:"ts"},".json":{...e,loader:"json"}},n=Object.keys(a),T=s=>s.split(p).join(x.sep),l=s=>{const t=c(s);if(i(t))return s},r=s=>{for(const t of s)if(l(t))return t},m=s=>{const t=n.filter(o=>o.includes("ts")).concat([".js"]);return r(t.map(o=>s+o))},f=s=>{const t=n.filter(o=>o.includes("js")).concat([".js"]);return r(t.map(o=>s+o))},y=s=>{const t=f(s);if(t)return t;const o=m(s);if(o)return o};export{e as BASE_CONFIG,O as DEVELOPMENT_MODE,a as MODULE_LOADERS,n as POSSIBLE_EXTENSIONS,y as checkExtensions,f as checkJsExtension,m as checkTsExtensions,l as fileExists,r as fileExistsAny,S as isJs,M as isJsOrTs,h as isTs,L as isTsxOrJsx,T as normalizeSpecifier};
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ import{existsSync as i}from"fs";import{fileURLToPath as c}from"url";import{posix as x}from"path";import{sep as p}from"path";var g=!1,O=/\.[mc]?tsx?(?=\?|$)/,h=/\.([mc])?js$/,S=/\.([mc])?[tj]sx$/,L=/\.([mc])?[tj]sx?$/,e={format:"esm",charset:"utf8",sourcemap:"inline",target:"node16",minify:!1},a={".mts":{...e,loader:"ts"},".jsx":{...e,loader:"jsx"},".tsx":{...e,loader:"tsx"},".cts":{...e,loader:"ts"},".ts":{...e,loader:"ts"},".json":{...e,loader:"json"}},n=Object.keys(a),M=s=>s.split(p).join(x.sep),l=s=>{let t=c(s);if(i(t))return s},r=s=>{for(let t of s)if(l(t))return t},m=s=>{let t=n.filter(o=>o.includes("ts")).concat([".js"]);return r(t.map(o=>s+o))},f=s=>{let t=n.filter(o=>o.includes("js")).concat([".js"]);return r(t.map(o=>s+o))},T=s=>{let t=f(s);if(t)return t;let o=m(s);if(o)return o};export{e as BASE_CONFIG,g as DEVELOPMENT_MODE,a as MODULE_LOADERS,n as POSSIBLE_EXTENSIONS,T as checkExtensions,f as checkJsExtension,m as checkTsExtensions,l as fileExists,r as fileExistsAny,h as isJs,L as isJsOrTs,O as isTs,S as isTsxOrJsx,M as normalizeSpecifier};
@@ -0,0 +1 @@
1
+ export declare const readStdin: () => Promise<string>;
@@ -1 +1,12 @@
1
- import{createDebugLogger as c,log as d}from"create-debug-logger";import a from"chalk";import{readFileSync as m}from"fs";function g(n){return new Promise((e,r)=>{const t=[];function i(o){t.push(o)}function s(){u(),e(Buffer.concat(t))}function f(o){u(),r(o)}function u(){n.removeListener("data",i),n.removeListener("end",s),n.removeListener("error",f)}n.on("data",i),n.on("end",s),n.on("error",f)})}const p=async()=>{const n=c(p);n.log("Reading stdin");try{const r=m(0).toString();if(r)return n.log("Found stdin",{stdin:r}),r}catch(r){n.log("Could not read stdin",{e:r})}return d(a.gray("Type your source code. Press Ctrl+D to finish.")),(await g(process.stdin)).toString()};export{p as readStdin};
1
+
2
+ await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
3
+
4
+ import{readFileSync as Z}from"fs";var v={NODE_ENV:"production"};try{let{env:r}=await import("process");r.NODE_ENV&&(v.NODE_ENV=r.NODE_ENV)}catch{}var T=v.NODE_ENV==="development";import{Console as X}from"console";var N=(r=0)=>e=>`\x1B[${e+r}m`,x=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,M=(r=0)=>(e,o,t)=>`\x1B[${38+r};2;${e};${o};${t}m`;function k(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[o,t]of Object.entries(e)){for(let[n,l]of Object.entries(t))e[n]={open:`\x1B[${l[0]}m`,close:`\x1B[${l[1]}m`},t[n]=e[n],r.set(l[0],l[1]);Object.defineProperty(e,o,{value:t,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",e.color.ansi=N(),e.color.ansi256=x(),e.color.ansi16m=M(),e.bgColor.ansi=N(10),e.bgColor.ansi256=x(10),e.bgColor.ansi16m=M(10),Object.defineProperties(e,{rgbToAnsi256:{value:(o,t,n)=>o===t&&t===n?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:o=>{let t=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(o.toString(16));if(!t)return[0,0,0];let{colorString:n}=t.groups;n.length===3&&(n=[...n].map(s=>s+s).join(""));let l=Number.parseInt(n,16);return[l>>16&255,l>>8&255,l&255]},enumerable:!1},hexToAnsi256:{value:o=>e.rgbToAnsi256(...e.hexToRgb(o)),enumerable:!1},ansi256ToAnsi:{value:o=>{if(o<8)return 30+o;if(o<16)return 90+(o-8);let t,n,l;if(o>=232)t=((o-232)*10+8)/255,n=t,l=t;else{o-=16;let f=o%36;t=Math.floor(o/36)/5,n=Math.floor(f/6)/5,l=f%6/5}let s=Math.max(t,n,l)*2;if(s===0)return 30;let b=30+(Math.round(l)<<2|Math.round(n)<<1|Math.round(t));return s===2&&(b+=60),b},enumerable:!1},rgbToAnsi:{value:(o,t,n)=>e.ansi256ToAnsi(e.rgbToAnsi256(o,t,n)),enumerable:!1},hexToAnsi:{value:o=>e.ansi256ToAnsi(e.hexToAnsi256(o)),enumerable:!1}}),e}var G=k(),c=G;import C from"node:process";import V from"node:os";import S from"node:tty";function u(r,e=C.argv){let o=r.startsWith("-")?"":r.length===1?"-":"--",t=e.indexOf(o+r),n=e.indexOf("--");return t!==-1&&(n===-1||t<n)}var{env:i}=C,O;u("no-color")||u("no-colors")||u("color=false")||u("color=never")?O=0:(u("color")||u("colors")||u("color=true")||u("color=always"))&&(O=1);function Y(){if("FORCE_COLOR"in i)return i.FORCE_COLOR==="true"?1:i.FORCE_COLOR==="false"?0:i.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(i.FORCE_COLOR,10),3)}function $(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function U(r,{streamIsTTY:e,sniffFlags:o=!0}={}){let t=Y();t!==void 0&&(O=t);let n=o?O:t;if(n===0)return 0;if(o){if(u("color=16m")||u("color=full")||u("color=truecolor"))return 3;if(u("color=256"))return 2}if(r&&!e&&n===void 0)return 0;let l=n||0;if(i.TERM==="dumb")return l;if(C.platform==="win32"){let s=V.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in i)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(s=>s in i)||i.CI_NAME==="codeship"?1:l;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(i.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in i){let s=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:l}function I(r,e={}){let o=U(r,{streamIsTTY:r&&r.isTTY,...e});return $(o)}var K={stdout:I({isTTY:S.isatty(1)}),stderr:I({isTTY:S.isatty(2)})},F=K;function _(r,e,o){let t=r.indexOf(e);if(t===-1)return r;let n=e.length,l=0,s="";do s+=r.substr(l,t-l)+e+o,l=t+n,t=r.indexOf(e,l);while(t!==-1);return s+=r.slice(l),s}function L(r,e,o,t){let n=0,l="";do{let s=r[t-1]==="\r";l+=r.substr(n,(s?t-1:t)-n)+e+(s?`\r
5
+ `:`
6
+ `)+o,n=t+1,t=r.indexOf(`
7
+ `,n)}while(t!==-1);return l+=r.slice(n),l}var{stdout:w,stderr:P}=F,R=Symbol("GENERATOR"),g=Symbol("STYLER"),d=Symbol("IS_EMPTY"),D=["ansi","ansi","ansi256","ansi16m"],p=Object.create(null),W=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let o=w?w.level:0;r.level=e.level===void 0?o:e.level};var H=r=>{let e=(...o)=>o.join(" ");return W(e,r),Object.setPrototypeOf(e,h.prototype),e};function h(r){return H(r)}Object.setPrototypeOf(h.prototype,Function.prototype);for(let[r,e]of Object.entries(c))p[r]={get(){let o=E(this,y(e.open,e.close,this[g]),this[d]);return Object.defineProperty(this,r,{value:o}),o}};p.visible={get(){let r=E(this,this[g],!0);return Object.defineProperty(this,"visible",{value:r}),r}};var B=(r,e,o,...t)=>r==="rgb"?e==="ansi16m"?c[o].ansi16m(...t):e==="ansi256"?c[o].ansi256(c.rgbToAnsi256(...t)):c[o].ansi(c.rgbToAnsi(...t)):r==="hex"?B("rgb",e,o,...c.hexToRgb(...t)):c[o][r](...t),q=["rgb","hex","ansi256"];for(let r of q){p[r]={get(){let{level:o}=this;return function(...t){let n=y(B(r,D[o],"color",...t),c.color.close,this[g]);return E(this,n,this[d])}}};let e="bg"+r[0].toUpperCase()+r.slice(1);p[e]={get(){let{level:o}=this;return function(...t){let n=y(B(r,D[o],"bgColor",...t),c.bgColor.close,this[g]);return E(this,n,this[d])}}}}var z=Object.defineProperties(()=>{},{...p,level:{enumerable:!0,get(){return this[R].level},set(r){this[R].level=r}}}),y=(r,e,o)=>{let t,n;return o===void 0?(t=r,n=e):(t=o.openAll+r,n=e+o.closeAll),{open:r,close:e,openAll:t,closeAll:n,parent:o}},E=(r,e,o)=>{let t=(...n)=>J(t,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(t,z),t[R]=r,t[g]=e,t[d]=o,t},J=(r,e)=>{if(r.level<=0||!e)return r[d]?"":e;let o=r[g];if(o===void 0)return e;let{openAll:t,closeAll:n}=o;if(e.includes("\x1B"))for(;o!==void 0;)e=_(e,o.close,o.open),o=o.parent;let l=e.indexOf(`
8
+ `);return l!==-1&&(e=L(e,n,t,l)),t+e+n};Object.defineProperties(h.prototype,p);var Q=h(),ge=h({level:P?P.level:0});var m=Q;var a=new X({stdout:process.stdout,stderr:process.stderr,groupIndentation:4}),A=r=>{if(T){let{name:e}=r;return{log(...o){let t=m.bgBlue.white(` [${e}] `);a.log(`${t}`,`
9
+
10
+ `,...o),a.log()},group(){a.log();let o=m.bgBlue.white(` [${e}] `);a.group(o),a.log()},groupEnd(){a.log(`
11
+ `,"-".repeat(20),`
12
+ `),a.groupEnd()}}}else return{log(){},group(){},groupEnd(){}}};var j=(...r)=>{console.log(),console.log(...r),console.log()};function ee(r){return new Promise((e,o)=>{let t=[];function n(f){t.push(f)}function l(){b(),e(Buffer.concat(t))}function s(f){b(),o(f)}function b(){r.removeListener("data",n),r.removeListener("end",l),r.removeListener("error",s)}r.on("data",n),r.on("end",l),r.on("error",s)})}var re=async()=>{let r=A(re);r.log("Reading stdin");try{let o=Z(0).toString();if(o)return r.log("Found stdin",{stdin:o}),o}catch(o){r.log("Could not read stdin",{e:o})}return j(m.gray("Type your source code. Press Ctrl+D to finish.")),(await ee(process.stdin)).toString()};export{re as readStdin};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsmodule/tsmodule",
3
3
  "platform": "node",
4
4
  "type": "module",
5
- "version": "31.0.1",
5
+ "version": "32.0.0",
6
6
  "repository": "tsmodule/tsmodule",
7
7
  "description": "TypeScript Module loader and compiler",
8
8
  "license": "MIT",
@@ -26,39 +26,40 @@
26
26
  "prebootload": "node bootstrap.js",
27
27
  "bootload": "node --no-warnings --loader ./dist/loader/index.js src/index.ts build -r",
28
28
  "prebuild": "yarn bootload && yarn link -f",
29
- "build": "tsmodule build",
29
+ "build": "tsmodule build -b",
30
30
  "dev": "tsmodule dev",
31
- "pretest": "yarn build -b",
32
- "test": "ava --no-worker-threads",
31
+ "test-bundle": "yarn build && ava --no-worker-threads",
32
+ "test-production-bundle": "node runBundleTests.js",
33
+ "test": "yarn test-production-bundle",
33
34
  "retest": "SKIP_TEST_SETUP=1 yarn test",
35
+ "retest-bundle": "SKIP_TEST_SETUP=1 yarn test-bundle",
34
36
  "lint": "eslint --fix src",
35
- "prepare": "yarn build -r",
37
+ "prepare": "yarn build",
36
38
  "prepublishOnly": "yarn test",
37
- "release": "release-it -VV"
39
+ "release": "release-it"
38
40
  },
39
41
  "dependencies": {
42
+ "esbuild": "^0.14.25",
43
+ "typescript": "^4.6.2"
44
+ },
45
+ "devDependencies": {
40
46
  "@types/glob": "^7.2.0",
41
47
  "@types/node": "^17.0.21",
42
48
  "@typescript-eslint/eslint-plugin": "^5.14.0",
43
49
  "@typescript-eslint/parser": "^5.14.0",
50
+ "assert": "^2.0.0",
44
51
  "ava": "^4.1.0",
45
- "await-shell": "^32.0.0",
52
+ "await-shell": "^34.1.1",
46
53
  "chalk": "^5.0.1",
47
54
  "commander": "^9.0.0",
48
55
  "create-debug-logger": "^3.0.0",
49
- "esbuild": "^0.14.25",
50
56
  "eslint": "^8.11.0",
51
- "fast-glob": "^3.2.10",
52
- "fs-extra": "^10.0.1",
57
+ "eslint-config-next": "^12.1.0",
58
+ "fast-glob": "^3.2.11",
53
59
  "glob": "^7.2.0",
54
60
  "node-watch": "^0.7.3",
55
61
  "ora": "^6.1.0",
56
62
  "path": "^0.12.7",
57
- "typescript": "^4.6.2"
58
- },
59
- "devDependencies": {
60
- "@types/fs-extra": "^9.0.13",
61
- "eslint-config-next": "^12.1.0",
62
63
  "release-it": "^14.12.5"
63
64
  },
64
65
  "release-it": {