diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 0ea247b7b..7bbbb3fa8 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -20,6 +20,7 @@ "dependencies": { "@prisma/generator-helper": "5.17.x", "@prisma/internals": "5.17.x", + "@swc/core": "^1.7.0", "@zenstackhq/language": "workspace:*", "@zenstackhq/runtime": "workspace:*", "langium": "1.3.1", diff --git a/packages/sdk/src/code-gen.ts b/packages/sdk/src/code-gen.ts index 3f80e7e4d..441635ce2 100644 --- a/packages/sdk/src/code-gen.ts +++ b/packages/sdk/src/code-gen.ts @@ -1,5 +1,7 @@ -import { CompilerOptions, DiagnosticCategory, ModuleKind, Project, ScriptTarget } from 'ts-morph'; -import { PluginError } from './types'; +import { transformFile } from '@swc/core'; +import fs from 'fs'; +import path from 'path'; +import { CompilerOptions, ModuleKind, Project, ScriptTarget } from 'ts-morph'; /** * Creates a TS code generation project @@ -31,21 +33,27 @@ export async function saveProject(project: Project) { * Emit a TS project to JS files. */ export async function emitProject(project: Project) { - const errors = project.getPreEmitDiagnostics().filter((d) => d.getCategory() === DiagnosticCategory.Error); - if (errors.length > 0) { - console.error('Error compiling generated code:'); - console.error(project.formatDiagnosticsWithColorAndContext(errors.slice(0, 10))); - await project.save(); - throw new PluginError('', `Error compiling generated code`); - } - - const result = await project.emit(); + await project.save(); - const emitErrors = result.getDiagnostics().filter((d) => d.getCategory() === DiagnosticCategory.Error); - if (emitErrors.length > 0) { - console.error('Some generated code is not emitted:'); - console.error(project.formatDiagnosticsWithColorAndContext(emitErrors.slice(0, 10))); - await project.save(); - throw new PluginError('', `Error emitting generated code`); - } + await Promise.all( + project + .getSourceFiles() + .map((sf) => sf.getFilePath()) + .filter((file) => !file.endsWith('.d.ts')) + .map(async (file) => { + const output = await transformFile(file, { + jsc: { + parser: { + syntax: 'typescript', + tsx: false, + }, + target: 'es2020', + }, + module: { + type: 'commonjs', + }, + }); + fs.writeFileSync(path.join(path.dirname(file), path.basename(file, '.ts') + '.js'), output.code); + }) + ); } diff --git a/packages/testtools/src/schema.ts b/packages/testtools/src/schema.ts index 6fa2b0e23..088b160a8 100644 --- a/packages/testtools/src/schema.ts +++ b/packages/testtools/src/schema.ts @@ -294,7 +294,7 @@ export async function loadSchema(schema: string, options?: SchemaLoadOptions) { tsconfig.include = ['**/*.ts']; tsconfig.exclude = ['node_modules']; fs.writeFileSync(path.join(projectDir, './tsconfig.json'), JSON.stringify(tsconfig, null, 2)); - run('npx tsc --project tsconfig.json'); + run('npx tsc --project tsconfig.json --noEmit'); } if (options?.getPrismaOnly) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ceb0b0e4..ba6e639f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,10 +34,10 @@ importers: version: 8.57.0 eslint-plugin-jest: specifier: ^28.2.0 - version: 28.6.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2) + version: 28.6.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) replace-in-file: specifier: ^7.0.1 version: 7.2.0 @@ -46,13 +46,13 @@ importers: version: 3.0.2 ts-jest: specifier: ^29.1.1 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2) ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) + version: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2) tsup: specifier: ^8.0.1 - version: 8.1.0(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2) + version: 8.1.0(@swc/core@1.7.0)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2) tsx: specifier: ^4.7.1 version: 4.15.8 @@ -626,6 +626,9 @@ importers: '@prisma/internals': specifier: 5.17.x version: 5.17.0 + '@swc/core': + specifier: ^1.7.0 + version: 1.7.0(@swc/helpers@0.5.5) '@zenstackhq/language': specifier: workspace:* version: link:../language/dist @@ -2792,12 +2795,84 @@ packages: svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0 vite: ^4.0.0 + '@swc/core-darwin-arm64@1.7.0': + resolution: {integrity: sha512-2ylhM7f0HwUwLrFYZAe/dse8PCbPsYcJS3Dt7Q8NT3PUn7vy6QOMxNcOPPuDrnmaXqQQO3oxdmRapguTxaat9g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.7.0': + resolution: {integrity: sha512-SgVnN4gT1Rb9YfTkp4FCUITqSs7Yj0uB2SUciu5CV3HuGvS5YXCUzh+KrwpLFtx8NIgivISKcNnb41mJi98X8Q==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.7.0': + resolution: {integrity: sha512-+Z9Dayart1iKJQEJJ9N/KS4z5EdXJE3WPFikY0jonKTo4Dd8RuyVz5yLvqcIMeVdz/SwximATaL6iJXw7hZS9A==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.7.0': + resolution: {integrity: sha512-UnLrCiZ1EI4shznJn0xP6DLgsXUSwtfsdgHhGYCrvbgVBBve3S9iFgVFEB3SPl7Q/TdowNbrN4zHU0oChfiNfw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.7.0': + resolution: {integrity: sha512-H724UANA+ptsfwKRr9mnaDa9cb5fw0oFysiGKTgb3DMYcgk3Od0jMTnXVPFSVpo7FlmyxeC9K8ueUPBOoOK6XA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.7.0': + resolution: {integrity: sha512-SY3HA0K0Dpqt1HIfMLGpwL4hd4UaL2xHP5oZXPlRQPhUDZrbb4PbI3ZJnh66c63eL4ZR8EJ+HRFI0Alx5p69Zw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.7.0': + resolution: {integrity: sha512-cEJ2ebtV1v/5Ilb55E05J6F5SrHKQWzUttIhR5Mkayyo+yvPslcpByuFC3D+J7X1ebziTOBpWuMpUdjLfh3SMQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.7.0': + resolution: {integrity: sha512-ecQOOmzEssz+m0pR4xDYCGuvn3E/l0nQ3tk5jp1NA1lsAy4bMV0YbYCHjptYvWL/UjhIerIp3IlCJ8x5DodSog==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.7.0': + resolution: {integrity: sha512-gz81seZkRn3zMnVOc7L5k6F4vQC82gIxmHiL+GedK+A37XI/X26AASU3zxvORnqQbwQYXQ+AEVckxBmFlz3v2g==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.7.0': + resolution: {integrity: sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.7.0': + resolution: {integrity: sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@swc/types@0.1.9': + resolution: {integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==} + '@tanstack/match-sorter-utils@8.15.1': resolution: {integrity: sha512-PnVV3d2poenUM31ZbZi/yXkBu3J7kd5k2u51CGwwNojag451AjTH9N6n41yjXz2fpLeewleyLBmNS6+HcGDlXw==} engines: {node: '>=12'} @@ -9718,7 +9793,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -9732,7 +9807,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10955,6 +11030,53 @@ snapshots: transitivePeerDependencies: - supports-color + '@swc/core-darwin-arm64@1.7.0': + optional: true + + '@swc/core-darwin-x64@1.7.0': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.7.0': + optional: true + + '@swc/core-linux-arm64-gnu@1.7.0': + optional: true + + '@swc/core-linux-arm64-musl@1.7.0': + optional: true + + '@swc/core-linux-x64-gnu@1.7.0': + optional: true + + '@swc/core-linux-x64-musl@1.7.0': + optional: true + + '@swc/core-win32-arm64-msvc@1.7.0': + optional: true + + '@swc/core-win32-ia32-msvc@1.7.0': + optional: true + + '@swc/core-win32-x64-msvc@1.7.0': + optional: true + + '@swc/core@1.7.0(@swc/helpers@0.5.5)': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.9 + optionalDependencies: + '@swc/core-darwin-arm64': 1.7.0 + '@swc/core-darwin-x64': 1.7.0 + '@swc/core-linux-arm-gnueabihf': 1.7.0 + '@swc/core-linux-arm64-gnu': 1.7.0 + '@swc/core-linux-arm64-musl': 1.7.0 + '@swc/core-linux-x64-gnu': 1.7.0 + '@swc/core-linux-x64-musl': 1.7.0 + '@swc/core-win32-arm64-msvc': 1.7.0 + '@swc/core-win32-ia32-msvc': 1.7.0 + '@swc/core-win32-x64-msvc': 1.7.0 + '@swc/helpers': 0.5.5 + '@swc/counter@0.1.3': {} '@swc/helpers@0.5.5': @@ -10962,6 +11084,10 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.6.3 + '@swc/types@0.1.9': + dependencies: + '@swc/counter': 0.1.3 + '@tanstack/match-sorter-utils@8.15.1': dependencies: remove-accents: 0.5.0 @@ -12444,13 +12570,13 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 - create-jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + create-jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13024,13 +13150,13 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2): + eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2): dependencies: '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) - jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) transitivePeerDependencies: - supports-color - typescript @@ -14095,16 +14221,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + jest-cli@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + create-jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -14114,7 +14240,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + jest-config@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -14140,7 +14266,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.14.9 - ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) + ts-node: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -14382,12 +14508,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest-cli: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15687,13 +15813,13 @@ snapshots: dependencies: postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)): dependencies: lilconfig: 3.1.2 yaml: 2.4.5 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) + ts-node: 10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2) postcss-merge-longhand@7.0.2(postcss@8.4.38): dependencies: @@ -16834,11 +16960,11 @@ snapshots: ts-japi@1.11.4: {} - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(esbuild@0.21.5)(jest@29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)))(typescript@5.5.2): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -16863,7 +16989,7 @@ snapshots: '@ts-morph/common': 0.17.0 code-block-writer: 11.0.3 - ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2): + ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -16880,6 +17006,8 @@ snapshots: typescript: 5.5.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.7.0(@swc/helpers@0.5.5) ts-pattern@4.3.0: {} @@ -16898,7 +17026,7 @@ snapshots: tslib@2.6.3: {} - tsup@8.1.0(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2): + tsup@8.1.0(@swc/core@1.7.0)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2))(typescript@5.5.2): dependencies: bundle-require: 4.2.1(esbuild@0.21.5) cac: 6.7.14 @@ -16908,13 +17036,14 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.7.0)(@types/node@20.14.9)(typescript@5.5.2)) resolve-from: 5.0.0 rollup: 4.18.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: + '@swc/core': 1.7.0(@swc/helpers@0.5.5) postcss: 8.4.38 typescript: 5.5.2 transitivePeerDependencies: