ugly-app 0.1.228 → 0.1.229
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/uglyappConfig.d.ts +1 -1
- package/dist/cli/uglyappConfig.d.ts.map +1 -1
- package/dist/cli/uglyappConfig.js +32 -4
- package/dist/cli/uglyappConfig.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/package.json +1 -1
- package/shared/schema-snapshot.json +18 -1
- package/src/cli/uglyappConfig.ts +32 -4
- package/src/cli/version.ts +1 -1
|
@@ -33,7 +33,7 @@ export declare function readUglyAppConfig(cwd: string): UglyAppConfig | null;
|
|
|
33
33
|
export declare function writeUglyAppConfig(cwd: string, config: UglyAppConfig): void;
|
|
34
34
|
/**
|
|
35
35
|
* Import a TypeScript file at runtime using tsx's ESM loader.
|
|
36
|
-
* Falls back to plain dynamic import
|
|
36
|
+
* Falls back to esbuild transpilation, then plain dynamic import.
|
|
37
37
|
*/
|
|
38
38
|
export declare function importTs(filePath: string): Promise<unknown>;
|
|
39
39
|
export declare function printPortTable(portStart: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uglyappConfig.d.ts","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"AAIA,uDAAuD;AACvD,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA6BzD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAS7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA4CnE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAQ3E;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"uglyappConfig.d.ts","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"AAIA,uDAAuD;AACvD,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA6BzD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAS7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA4CnE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAQ3E;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCjE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAetD"}
|
|
@@ -124,19 +124,47 @@ export function writeUglyAppConfig(cwd, config) {
|
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
126
|
* Import a TypeScript file at runtime using tsx's ESM loader.
|
|
127
|
-
* Falls back to plain dynamic import
|
|
127
|
+
* Falls back to esbuild transpilation, then plain dynamic import.
|
|
128
128
|
*/
|
|
129
129
|
export async function importTs(filePath) {
|
|
130
130
|
const fileUrl = pathToFileURL(filePath).href;
|
|
131
|
+
// Strategy 1: tsx's tsImport API (registers a temporary loader hook)
|
|
131
132
|
try {
|
|
132
|
-
// tsx provides tsImport for loading TS files at runtime
|
|
133
133
|
const tsxModuleName = 'tsx/esm/api';
|
|
134
134
|
const tsxApi = await Function('m', 'return import(m)')(tsxModuleName);
|
|
135
|
-
return await tsxApi.tsImport(
|
|
135
|
+
return await tsxApi.tsImport(fileUrl, import.meta.url);
|
|
136
136
|
}
|
|
137
137
|
catch {
|
|
138
|
-
|
|
138
|
+
// tsx unavailable or tsImport failed (common on Windows)
|
|
139
139
|
}
|
|
140
|
+
// Strategy 2: esbuild transpile to temp .mjs, then import
|
|
141
|
+
// esbuild is always available as a Vite dependency.
|
|
142
|
+
try {
|
|
143
|
+
const esbuildName = 'esbuild';
|
|
144
|
+
const esbuild = await Function('m', 'return import(m)')(esbuildName);
|
|
145
|
+
const source = fs.readFileSync(filePath, 'utf-8');
|
|
146
|
+
const result = await esbuild.transform(source, {
|
|
147
|
+
loader: 'ts',
|
|
148
|
+
format: 'esm',
|
|
149
|
+
target: 'node18',
|
|
150
|
+
});
|
|
151
|
+
const tmpFile = filePath.replace(/\.ts$/, '.tmp.mjs');
|
|
152
|
+
fs.writeFileSync(tmpFile, result.code);
|
|
153
|
+
try {
|
|
154
|
+
return await import(pathToFileURL(tmpFile).href);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
try {
|
|
158
|
+
fs.unlinkSync(tmpFile);
|
|
159
|
+
}
|
|
160
|
+
catch { /* best-effort cleanup */ }
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// esbuild also unavailable
|
|
165
|
+
}
|
|
166
|
+
// Strategy 3: plain import (works if running under tsx loader or for .js files)
|
|
167
|
+
return import(fileUrl);
|
|
140
168
|
}
|
|
141
169
|
export function printPortTable(portStart) {
|
|
142
170
|
const ports = computePorts(portStart);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uglyappConfig.js","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"uglyappConfig.js","sourceRoot":"","sources":["../../src/cli/uglyappConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.229";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/package.json
CHANGED
package/src/cli/uglyappConfig.ts
CHANGED
|
@@ -165,20 +165,48 @@ export function writeUglyAppConfig(cwd: string, config: UglyAppConfig): void {
|
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Import a TypeScript file at runtime using tsx's ESM loader.
|
|
168
|
-
* Falls back to plain dynamic import
|
|
168
|
+
* Falls back to esbuild transpilation, then plain dynamic import.
|
|
169
169
|
*/
|
|
170
170
|
export async function importTs(filePath: string): Promise<unknown> {
|
|
171
171
|
const fileUrl = pathToFileURL(filePath).href;
|
|
172
|
+
|
|
173
|
+
// Strategy 1: tsx's tsImport API (registers a temporary loader hook)
|
|
172
174
|
try {
|
|
173
|
-
// tsx provides tsImport for loading TS files at runtime
|
|
174
175
|
const tsxModuleName = 'tsx/esm/api';
|
|
175
176
|
const tsxApi = await (Function('m', 'return import(m)') as (m: string) => Promise<{
|
|
176
177
|
tsImport: (specifier: string, parentUrl: string) => Promise<unknown>;
|
|
177
178
|
}>)(tsxModuleName);
|
|
178
|
-
return await tsxApi.tsImport(
|
|
179
|
+
return await tsxApi.tsImport(fileUrl, import.meta.url);
|
|
179
180
|
} catch {
|
|
180
|
-
|
|
181
|
+
// tsx unavailable or tsImport failed (common on Windows)
|
|
181
182
|
}
|
|
183
|
+
|
|
184
|
+
// Strategy 2: esbuild transpile to temp .mjs, then import
|
|
185
|
+
// esbuild is always available as a Vite dependency.
|
|
186
|
+
try {
|
|
187
|
+
const esbuildName = 'esbuild';
|
|
188
|
+
const esbuild = await (Function('m', 'return import(m)') as (m: string) => Promise<
|
|
189
|
+
{ transform: (code: string, opts: Record<string, string>) => Promise<{ code: string }> }
|
|
190
|
+
>)(esbuildName);
|
|
191
|
+
const source = fs.readFileSync(filePath, 'utf-8');
|
|
192
|
+
const result = await esbuild.transform(source, {
|
|
193
|
+
loader: 'ts',
|
|
194
|
+
format: 'esm',
|
|
195
|
+
target: 'node18',
|
|
196
|
+
});
|
|
197
|
+
const tmpFile = filePath.replace(/\.ts$/, '.tmp.mjs');
|
|
198
|
+
fs.writeFileSync(tmpFile, result.code);
|
|
199
|
+
try {
|
|
200
|
+
return await import(pathToFileURL(tmpFile).href);
|
|
201
|
+
} finally {
|
|
202
|
+
try { fs.unlinkSync(tmpFile); } catch { /* best-effort cleanup */ }
|
|
203
|
+
}
|
|
204
|
+
} catch {
|
|
205
|
+
// esbuild also unavailable
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Strategy 3: plain import (works if running under tsx loader or for .js files)
|
|
209
|
+
return import(fileUrl);
|
|
182
210
|
}
|
|
183
211
|
|
|
184
212
|
export function printPortTable(portStart: number): void {
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.229";
|