@t4h.framework/cli 0.0.0-experimental-c0d4325
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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/bin/bin.js +57 -0
- package/dist/bin/bin.js.map +1 -0
- package/dist/commands/build/build.js +49 -0
- package/dist/commands/build/build.js.map +1 -0
- package/dist/commands/dev/dev.js +109 -0
- package/dist/commands/dev/dev.js.map +1 -0
- package/dist/commands/dev-server-up-app-process.js +84 -0
- package/dist/commands/dev-server-up-app-process.js.map +1 -0
- package/dist/commands/publish/publish.js +149 -0
- package/dist/commands/publish/publish.js.map +1 -0
- package/dist/models/CliFileSystemClaim.js +30 -0
- package/dist/models/CliFileSystemClaim.js.map +1 -0
- package/dist/models/CliHttpClientRequestClaim.js +21 -0
- package/dist/models/CliHttpClientRequestClaim.js.map +1 -0
- package/dist/models/CliORMClaim.js +37 -0
- package/dist/models/CliORMClaim.js.map +1 -0
- package/dist/models/DevServer.js +77 -0
- package/dist/models/DevServer.js.map +1 -0
- package/dist/models/DevServerFileBinary.js +27 -0
- package/dist/models/DevServerFileBinary.js.map +1 -0
- package/dist/models/DevServerFileSystemClaim.js +30 -0
- package/dist/models/DevServerFileSystemClaim.js.map +1 -0
- package/dist/models/DevServerHttpClientRequestClaim.js +21 -0
- package/dist/models/DevServerHttpClientRequestClaim.js.map +1 -0
- package/dist/models/DevServerORMClaim.js +37 -0
- package/dist/models/DevServerORMClaim.js.map +1 -0
- package/dist/models/DevServerSmtpSendEmailClaim.js +32 -0
- package/dist/models/DevServerSmtpSendEmailClaim.js.map +1 -0
- package/dist/models/FileBinary.js +28 -0
- package/dist/models/FileBinary.js.map +1 -0
- package/dist/models/InMemoryDatabase.js +86 -0
- package/dist/models/InMemoryDatabase.js.map +1 -0
- package/dist/models/JSONCodec.js +110 -0
- package/dist/models/JSONCodec.js.map +1 -0
- package/dist/models/JSONCodecKindFrameworkSerializableClass.js +7 -0
- package/dist/models/JSONCodecKindFrameworkSerializableClass.js.map +1 -0
- package/dist/models/JSONRPCClient.js +50 -0
- package/dist/models/JSONRPCClient.js.map +1 -0
- package/dist/models/JSONRPCServer.js +61 -0
- package/dist/models/JSONRPCServer.js.map +1 -0
- package/dist/models/__tests__/DevServerFileBinary.spec.js +44 -0
- package/dist/models/__tests__/DevServerFileBinary.spec.js.map +1 -0
- package/dist/models/__tests__/InMemoryDatabase.spec.js +189 -0
- package/dist/models/__tests__/InMemoryDatabase.spec.js.map +1 -0
- package/dist/models/__tests__/JSONCodec.spec.js +135 -0
- package/dist/models/__tests__/JSONCodec.spec.js.map +1 -0
- package/dist/models/__tests__/JSONCodecKindFrameworkSerializableClass.spec.js +51 -0
- package/dist/models/__tests__/JSONCodecKindFrameworkSerializableClass.spec.js.map +1 -0
- package/dist/models/__tests__/JSONRPCClient.spec.js +133 -0
- package/dist/models/__tests__/JSONRPCClient.spec.js.map +1 -0
- package/dist/models/__tests__/JSONRPCServer.spec.js +160 -0
- package/dist/models/__tests__/JSONRPCServer.spec.js.map +1 -0
- package/dist/tools/__tests__/up-app.spec.js +24 -0
- package/dist/tools/__tests__/up-app.spec.js.map +1 -0
- package/dist/tools/a.js +53 -0
- package/dist/tools/a.js.map +1 -0
- package/dist/tools/extract-workflow-jsx.js +206 -0
- package/dist/tools/extract-workflow-jsx.js.map +1 -0
- package/dist/tools/generate-rsc-entries.js +105 -0
- package/dist/tools/generate-rsc-entries.js.map +1 -0
- package/dist/tools/json-codec.js +17 -0
- package/dist/tools/json-codec.js.map +1 -0
- package/dist/tools/json-schema-to-inquirer-question.js +33 -0
- package/dist/tools/json-schema-to-inquirer-question.js.map +1 -0
- package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js +11 -0
- package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js.map +1 -0
- package/dist/tools/resolve-package-json-path.js +21 -0
- package/dist/tools/resolve-package-json-path.js.map +1 -0
- package/dist/tools/resolve-tsconfig-path-from-package-json-path.js +14 -0
- package/dist/tools/resolve-tsconfig-path-from-package-json-path.js.map +1 -0
- package/dist/tools/test.js +32 -0
- package/dist/tools/test.js.map +1 -0
- package/dist/tools/ts-build-watch.js +46 -0
- package/dist/tools/ts-build-watch.js.map +1 -0
- package/dist/tools/ts-build.js +37 -0
- package/dist/tools/ts-build.js.map +1 -0
- package/dist/tools/up-app.js +10 -0
- package/dist/tools/up-app.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-to-inquirer-question.js","sourceRoot":"","sources":["../../src/tools/json-schema-to-inquirer-question.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQjD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAkB,EAClB,UAA+C,EAAE;IAEjD,IAAI,OAAO,MAAM,KAAK,SAAS;QAAE,OAAM;IAEvC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,kCAAkC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,kCAAkC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,kCAAkC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,MAAoC,EACpC,OAA4C;IAE5C,MAAM,MAAM,GAA4B,EAAE,CAAA;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;QAEjD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE;YACzD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG;YAChD,UAAU,EAAE,CAAC,UAAU;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,MAAoC,EACpC,OAA4C;IAE5C,OAAO,KAAK,CAAC;QACX,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE;KACxH,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,MAAoC,EACpC,OAA4C;IAE5C,OAAO,MAAM,CAAC;QACZ,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE;KACxH,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
export async function mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, packageJsonPath) {
|
|
5
|
+
const outDir = path.join(tsConfigPath, '..', '.temp', crypto.randomBytes(16).toString('base64url'));
|
|
6
|
+
process.send?.(JSON.stringify({ type: 'outDir', data: outDir }));
|
|
7
|
+
await fs.promises.mkdir(outDir, { recursive: true });
|
|
8
|
+
await fs.promises.copyFile(packageJsonPath, path.join(outDir, 'package.json'));
|
|
9
|
+
return outDir;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js","sourceRoot":"","sources":["../../src/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,oDAAoD,CACxE,YAAoB,EACpB,eAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC7C,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAEhE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEpD,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAE9E,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export async function resolvePackageJsonPath(entrypoint) {
|
|
4
|
+
const resolvedEntrypoint = path.resolve(entrypoint);
|
|
5
|
+
const entrypointStats = await fs.promises.stat(resolvedEntrypoint);
|
|
6
|
+
let entrypointPackageJsonPath;
|
|
7
|
+
if (entrypointStats.isDirectory())
|
|
8
|
+
entrypointPackageJsonPath = path.join(resolvedEntrypoint, 'package.json');
|
|
9
|
+
else if (entrypointStats.isFile())
|
|
10
|
+
entrypointPackageJsonPath = resolvedEntrypoint;
|
|
11
|
+
else
|
|
12
|
+
throw new Error(`Entrypoint is not a file or directory: ${resolvedEntrypoint}`);
|
|
13
|
+
try {
|
|
14
|
+
await fs.promises.access(entrypointPackageJsonPath, fs.constants.F_OK);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
throw new Error(`Entrypoint package json not found: ${entrypointPackageJsonPath}`, { cause: error });
|
|
18
|
+
}
|
|
19
|
+
return entrypointPackageJsonPath;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resolve-package-json-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-package-json-path.js","sourceRoot":"","sources":["../../src/tools/resolve-package-json-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACnD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAClE,IAAI,yBAAiC,CAAA;IAErC,IAAI,eAAe,CAAC,WAAW,EAAE;QAC/B,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;SACtE,IAAI,eAAe,CAAC,MAAM,EAAE;QAC/B,yBAAyB,GAAG,kBAAkB,CAAA;;QAE9C,MAAM,IAAI,KAAK,CACb,0CAA0C,kBAAkB,EAAE,CAC/D,CAAA;IAEH,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,sCAAsC,yBAAyB,EAAE,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IAED,OAAO,yBAAyB,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export async function resolveTsconfigFromPackageJsonPath(packageJsonPath) {
|
|
4
|
+
const entrypointPackageJsonParsedPath = path.parse(packageJsonPath);
|
|
5
|
+
const entrypointTsConfigPath = path.join(entrypointPackageJsonParsedPath.dir, 'tsconfig.json');
|
|
6
|
+
try {
|
|
7
|
+
await fs.promises.access(entrypointTsConfigPath, fs.constants.F_OK);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
throw new Error(`Entrypoint tsconfig not found: ${entrypointTsConfigPath}`, { cause: error });
|
|
11
|
+
}
|
|
12
|
+
return entrypointTsConfigPath;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=resolve-tsconfig-path-from-package-json-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-tsconfig-path-from-package-json-path.js","sourceRoot":"","sources":["../../src/tools/resolve-tsconfig-path-from-package-json-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,eAAuB;IAEvB,MAAM,+BAA+B,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAEnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CACtC,+BAA+B,CAAC,GAAG,EACnC,eAAe,CAChB,CAAA;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kCAAkC,sBAAsB,EAAE,EAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export function extractRscJsxTransformer(extracted, makeId) {
|
|
3
|
+
return (ctx) => {
|
|
4
|
+
const visitor = node => {
|
|
5
|
+
// Procura: render(<JSX />)
|
|
6
|
+
if (ts.isCallExpression(node)) {
|
|
7
|
+
const callee = node.expression;
|
|
8
|
+
const isRender = ts.isIdentifier(callee) && callee.text === 'render'; // v1 simples
|
|
9
|
+
if (isRender && node.arguments.length >= 1) {
|
|
10
|
+
const firstArg = node.arguments[0];
|
|
11
|
+
const isJsx = firstArg &&
|
|
12
|
+
(ts.isJsxElement(firstArg) ||
|
|
13
|
+
ts.isJsxSelfClosingElement(firstArg) ||
|
|
14
|
+
ts.isJsxFragment(firstArg));
|
|
15
|
+
if (isJsx) {
|
|
16
|
+
const id = makeId(node.getSourceFile(), extracted.length);
|
|
17
|
+
extracted.push({
|
|
18
|
+
id,
|
|
19
|
+
jsx: firstArg,
|
|
20
|
+
sourceFile: node.getSourceFile(),
|
|
21
|
+
});
|
|
22
|
+
// Troca render(<JSX/>) por renderRsc("id")
|
|
23
|
+
return ts.factory.updateCallExpression(node, ts.factory.createIdentifier('renderRsc'), node.typeArguments, [ts.factory.createStringLiteral(id)]);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return ts.visitEachChild(node, visitor, ctx);
|
|
28
|
+
};
|
|
29
|
+
return sf => ts.visitNode(sf, visitor);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAQ3B,MAAM,UAAU,wBAAwB,CACtC,SAAyB,EACzB,MAAoD;IAEpD,OAAO,CAAC,GAAG,EAAiC,EAAE;QAC5C,MAAM,OAAO,GAAe,IAAI,CAAC,EAAE;YACjC,2BAA2B;YAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;gBAE9B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAA,CAAC,aAAa;gBAElF,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;oBAElC,MAAM,KAAK,GACT,QAAQ;wBACR,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;4BACxB,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC;4BACpC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE/B,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;wBACzD,SAAS,CAAC,IAAI,CAAC;4BACb,EAAE;4BACF,GAAG,EAAE,QAAQ;4BACb,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;yBACjC,CAAC,CAAA;wBAEF,2CAA2C;wBAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,IAAI,EACJ,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,IAAI,CAAC,aAAa,EAClB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CACrC,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9C,CAAC,CAAA;QAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAkB,CAAA;IACzD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export function tsBuildWatch(tsconfigPath, override = {}, handlers = {}) {
|
|
3
|
+
const reportDiagnostic = (diagnostic) => {
|
|
4
|
+
const text = ts.formatDiagnosticsWithColorAndContext([diagnostic], {
|
|
5
|
+
getCurrentDirectory: ts.sys.getCurrentDirectory,
|
|
6
|
+
getCanonicalFileName: f => f,
|
|
7
|
+
getNewLine: () => ts.sys.newLine,
|
|
8
|
+
});
|
|
9
|
+
handlers.onFail?.(text);
|
|
10
|
+
};
|
|
11
|
+
const reportWatchStatusChanged = (diagnostic) => {
|
|
12
|
+
const text = ts.formatDiagnosticsWithColorAndContext([diagnostic], {
|
|
13
|
+
getCurrentDirectory: ts.sys.getCurrentDirectory,
|
|
14
|
+
getCanonicalFileName: f => f,
|
|
15
|
+
getNewLine: () => ts.sys.newLine,
|
|
16
|
+
});
|
|
17
|
+
handlers.onStatus?.(text);
|
|
18
|
+
};
|
|
19
|
+
const host = ts.createWatchCompilerHost(tsconfigPath, override, ts.sys, ts.createEmitAndSemanticDiagnosticsBuilderProgram, reportDiagnostic, reportWatchStatusChanged);
|
|
20
|
+
const originalAfterProgramCreate = host.afterProgramCreate;
|
|
21
|
+
host.afterProgramCreate = builderProgram => {
|
|
22
|
+
originalAfterProgramCreate?.(builderProgram);
|
|
23
|
+
const program = builderProgram.getProgram();
|
|
24
|
+
const preEmit = ts.getPreEmitDiagnostics(program);
|
|
25
|
+
const formatted = preEmit.length
|
|
26
|
+
? ts.formatDiagnosticsWithColorAndContext(preEmit, {
|
|
27
|
+
getCurrentDirectory: ts.sys.getCurrentDirectory,
|
|
28
|
+
getCanonicalFileName: f => f,
|
|
29
|
+
getNewLine: () => ts.sys.newLine,
|
|
30
|
+
})
|
|
31
|
+
: '';
|
|
32
|
+
if (preEmit.length === 0) {
|
|
33
|
+
void handlers.onSuccess?.({ outDir: program.getCompilerOptions().outDir });
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
void handlers.onFail?.(formatted);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const watchProgram = ts.createWatchProgram(host);
|
|
40
|
+
return {
|
|
41
|
+
close() {
|
|
42
|
+
watchProgram.close();
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ts-build-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-build-watch.js","sourceRoot":"","sources":["../../src/tools/ts-build-watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAY3B,MAAM,UAAU,YAAY,CAC1B,YAAoB,EACpB,WAA+B,EAAE,EACjC,WAAiC,EAAE;IAEnC,MAAM,gBAAgB,GAAG,CAAC,UAAyB,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC,UAAU,CAAC,EAAE;YACjE,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAC/C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;SACjC,CAAC,CAAA;QACF,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAAC,UAAyB,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC,UAAU,CAAC,EAAE;YACjE,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAC/C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;SACjC,CAAC,CAAA;QACF,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,uBAAuB,CACrC,YAAY,EACZ,QAAQ,EACR,EAAE,CAAC,GAAG,EACN,EAAE,CAAC,8CAA8C,EACjD,gBAAgB,EAChB,wBAAwB,CACzB,CAAA;IAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,CAAA;IAE1D,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE;QACzC,0BAA0B,EAAE,CAAC,cAAc,CAAC,CAAA;QAE5C,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,CAAA;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM;YAC9B,CAAC,CAAC,EAAE,CAAC,oCAAoC,CAAC,OAAO,EAAE;gBAC/C,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;gBAC/C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;aACjC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAA;QAEN,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAEhD,OAAO;QACL,KAAK;YACH,YAAY,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
export function tsBuild(tsconfigPath, override = {}) {
|
|
4
|
+
const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
|
5
|
+
if (configFile.error) {
|
|
6
|
+
const msg = ts.formatDiagnosticsWithColorAndContext([configFile.error], {
|
|
7
|
+
getCurrentDirectory: ts.sys.getCurrentDirectory,
|
|
8
|
+
getCanonicalFileName: f => f,
|
|
9
|
+
getNewLine: () => ts.sys.newLine,
|
|
10
|
+
});
|
|
11
|
+
return { ok: false, diagnostics: [msg], parsed: null };
|
|
12
|
+
}
|
|
13
|
+
const configDir = path.dirname(tsconfigPath);
|
|
14
|
+
const parsed = ts.parseJsonConfigFileContent(configFile.config, ts.sys, configDir, override, tsconfigPath);
|
|
15
|
+
const program = ts.createProgram({
|
|
16
|
+
rootNames: parsed.fileNames,
|
|
17
|
+
options: parsed.options,
|
|
18
|
+
projectReferences: parsed.projectReferences ?? [],
|
|
19
|
+
});
|
|
20
|
+
const emitResult = program.emit();
|
|
21
|
+
const allDiagnostics = ts
|
|
22
|
+
.getPreEmitDiagnostics(program)
|
|
23
|
+
.concat(emitResult.diagnostics);
|
|
24
|
+
const formatted = allDiagnostics.length
|
|
25
|
+
? ts.formatDiagnosticsWithColorAndContext(allDiagnostics, {
|
|
26
|
+
getCurrentDirectory: ts.sys.getCurrentDirectory,
|
|
27
|
+
getCanonicalFileName: f => f,
|
|
28
|
+
getNewLine: () => ts.sys.newLine,
|
|
29
|
+
})
|
|
30
|
+
: '';
|
|
31
|
+
return {
|
|
32
|
+
ok: !emitResult.emitSkipped && allDiagnostics.length === 0,
|
|
33
|
+
diagnostics: formatted ? [formatted] : [],
|
|
34
|
+
parsed,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ts-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-build.js","sourceRoot":"","sources":["../../src/tools/ts-build.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,UAAU,OAAO,CACrB,YAAoB,EACpB,WAA+B,EAAE;IAEjC,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACtE,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAC/C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;SACjC,CAAC,CAAA;QAEF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAW,EAAE,CAAA;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAE5C,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAC1C,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,SAAS,EACT,QAAQ,EACR,YAAY,CACb,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;KAClD,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAEjC,MAAM,cAAc,GAAG,EAAE;SACtB,qBAAqB,CAAC,OAAO,CAAC;SAC9B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAEjC,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM;QACrC,CAAC,CAAC,EAAE,CAAC,oCAAoC,CAAC,cAAc,EAAE;YACtD,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB;YAC/C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;SACjC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;QACL,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAC1D,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,MAAM;KACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { App } from '@t4h.framework/core';
|
|
2
|
+
export async function upApp(appPath) {
|
|
3
|
+
const module = await import(appPath);
|
|
4
|
+
if ('default' in module && module.default instanceof App)
|
|
5
|
+
return module.default;
|
|
6
|
+
if ('app' in module && module.app instanceof App)
|
|
7
|
+
return module.app;
|
|
8
|
+
throw new Error('App not found');
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=up-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"up-app.js","sourceRoot":"","sources":["../../src/tools/up-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzC,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,YAAY,GAAG;QACtD,OAAO,MAAM,CAAC,OAAO,CAAA;IAEvB,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,YAAY,GAAG;QAAE,OAAO,MAAM,CAAC,GAAG,CAAA;IAEnE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;AAClC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@t4h.framework/cli",
|
|
3
|
+
"version": "0.0.0-experimental-c0d4325",
|
|
4
|
+
"description": "CLI tools for the T4H Framework",
|
|
5
|
+
"homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/cli",
|
|
6
|
+
"bugs": "https://github.com/tech4humans-brasil/framework/issues",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/tech4humans-brasil/framework.git",
|
|
10
|
+
"directory": "packages/cli"
|
|
11
|
+
},
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "Tech4Humans <contact@tech4h.com.br> (https://tech4h.com.br)",
|
|
14
|
+
"type": "module",
|
|
15
|
+
"bin": {
|
|
16
|
+
"framework": "./dist/bin/bin.js"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"LICENSE"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc --project tsconfig.build.json",
|
|
24
|
+
"check-types": "tsc --noEmit",
|
|
25
|
+
"lint": "eslint .",
|
|
26
|
+
"test": "vitest --run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"prepublishOnly": "yarn build"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@inquirer/prompts": "^8.3.0",
|
|
32
|
+
"commander": "^14.0.3",
|
|
33
|
+
"form-data": "^4.0.5",
|
|
34
|
+
"json-rpc-2.0": "^1.7.1",
|
|
35
|
+
"mime-types": "^3.0.2",
|
|
36
|
+
"nodemailer": "^8.0.1",
|
|
37
|
+
"qs": "^6.15.0",
|
|
38
|
+
"sift": "^17.1.3",
|
|
39
|
+
"tar": "^7.5.10",
|
|
40
|
+
"undici": "^7.22.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@t4h.framework/core": "workspace:^",
|
|
44
|
+
"@t4h.framework/fs": "workspace:^",
|
|
45
|
+
"@t4h.framework/http": "workspace:^",
|
|
46
|
+
"@t4h.framework/orm": "workspace:^",
|
|
47
|
+
"@types/json-schema": "^7.0.15",
|
|
48
|
+
"@types/mime-types": "^3",
|
|
49
|
+
"@types/node": "^25.3.5",
|
|
50
|
+
"@types/nodemailer": "^7.0.11",
|
|
51
|
+
"@types/qs": "^6",
|
|
52
|
+
"json-schema-typed": "^8.0.2",
|
|
53
|
+
"typescript": "^5.9.3",
|
|
54
|
+
"vitest": "^4.0.18"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@t4h.framework/core": "workspace:^",
|
|
58
|
+
"@t4h.framework/fs": "workspace:^",
|
|
59
|
+
"@t4h.framework/http": "workspace:^",
|
|
60
|
+
"@t4h.framework/orm": "workspace:^"
|
|
61
|
+
},
|
|
62
|
+
"packageManager": "yarn@4.12.0",
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=22"
|
|
65
|
+
},
|
|
66
|
+
"stableVersion": "0.0.0"
|
|
67
|
+
}
|