diff --git a/package-lock.json b/package-lock.json index d21e40e..e68e50c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@babel/plugin-syntax-decorators": "^7.27.1", "@babel/plugin-transform-typescript": "^7.27.1", "@babel/types": "^7.25.9", + "@commander-js/extra-typings": "^12.1.0", "@croct/cache": "^0.4.2", "@croct/content": "^1.0.0", "@croct/content-model": "^0.19.4", @@ -23,6 +24,7 @@ "@croct/logging": "^0.2.3", "@croct/md-lite": "^0.3.1", "@croct/sdk": "^0.18.0", + "@croct/time": "^0.10.2", "@jsep-plugin/object": "^1.2.2", "@jsep-plugin/regex": "^1.0.4", "@jsep-plugin/spread": "^1.0.3", @@ -55,7 +57,6 @@ "croct": "index.js" }, "devDependencies": { - "@commander-js/extra-typings": "^12.1.0", "@croct/eslint-plugin": "^0.7.1", "@graphql-codegen/cli": "^5.0.2", "@swc/jest": "^0.2.36", @@ -742,7 +743,6 @@ "version": "12.1.0", "resolved": "https://registry.npmjs.org/@commander-js/extra-typings/-/extra-typings-12.1.0.tgz", "integrity": "sha512-wf/lwQvWAA0goIghcb91dQYpkLBcyhOhQNqG/VgWhnKzgt+UOMvra7EX/2fv70arm5RW+PUHoQHHDa6/p77Eqg==", - "dev": true, "peerDependencies": { "commander": "~12.1.0" } diff --git a/package.json b/package.json index b79d019..9a44087 100644 --- a/package.json +++ b/package.json @@ -73,10 +73,11 @@ "strip-ansi": "^7.1.0", "terminal-link": "^3.0.0", "xdg-app-paths": "^8.3.0", - "zod": "^3.23.8" + "zod": "^3.23.8", + "@croct/time": "^0.10.2", + "@commander-js/extra-typings": "^12.1.0" }, "devDependencies": { - "@commander-js/extra-typings": "^12.1.0", "@croct/eslint-plugin": "^0.7.1", "@graphql-codegen/cli": "^5.0.2", "@swc/jest": "^0.2.36", diff --git a/src/application/project/code/transformation/javascript/javaScriptCodemod.ts b/src/application/project/code/transformation/javascript/javaScriptCodemod.ts index e0e26c9..cf86406 100644 --- a/src/application/project/code/transformation/javascript/javaScriptCodemod.ts +++ b/src/application/project/code/transformation/javascript/javaScriptCodemod.ts @@ -1,7 +1,8 @@ import {File} from '@babel/types'; import {parse, print} from 'recast'; import {parse as babelParse} from '@babel/parser'; -import getBabelOptions, {type Overrides} from 'recast/parsers/_babel_options.js'; +import getBabelOptionsModule from 'recast/parsers/_babel_options.js'; +import type {Overrides} from 'recast/parsers/_babel_options.js'; import {Codemod, CodemodOptions, ResultCode} from '@/application/project/code/transformation/codemod'; import {Language} from '@/application/project/code/transformation/javascript/utils/parse'; @@ -10,6 +11,12 @@ export type Configuration = { languages: Language[], }; +// This is a workaround mixed ESM and CommonJS modules that causes issues +// when bundling the recast package. +const getBabelOptions = 'default' in getBabelOptionsModule + ? getBabelOptionsModule.default as typeof getBabelOptionsModule + : getBabelOptionsModule; + export class JavaScriptCodemod implements Codemod { private readonly codemod: Codemod; diff --git a/src/infrastructure/application/cli/cli.ts b/src/infrastructure/application/cli/cli.ts index 1352dc7..9a81235 100644 --- a/src/infrastructure/application/cli/cli.ts +++ b/src/infrastructure/application/cli/cli.ts @@ -1,7 +1,7 @@ import {AutoSaveCache, CacheProvider, InMemoryCache} from '@croct/cache'; import {ApiKey} from '@croct/sdk/apiKey'; import {Clock, Instant, LocalTime} from '@croct/time'; -import {SystemClock} from '@croct/time/clock/systemClock'; +import {SystemClock} from '@croct/time/clock/systemClock.js'; import {homedir} from 'os'; import XDGAppPaths from 'xdg-app-paths'; import ci from 'ci-info';