Skip to content

Commit fa45fcb

Browse files
author
Daniel Del Core
committed
initial esm cli migration
1 parent 5248c0e commit fa45fcb

File tree

11 files changed

+48
-19
lines changed

11 files changed

+48
-19
lines changed

.changeset/yellow-shrimps-arrive.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@codeshift/cli': minor
3+
'@hypermod/cli': minor
4+
---
5+
6+
CLI packages now support hypermod packages using ESM syntax

packages/cli-alias/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@codeshift/cli",
33
"version": "0.22.0",
4+
"type": "module",
45
"source": "src/index.ts",
56
"main": "dist/index.js",
67
"types": "dist/index.d.ts",

packages/cli-alias/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
import '@hypermod/cli';
1+
export * from '@hypermod/cli';

packages/cli-alias/tsconfig.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
"compilerOptions": {
44
"rootDir": "src",
55
"outDir": "dist",
6-
"baseUrl": "."
6+
"baseUrl": ".",
7+
"module": "NodeNext",
8+
"moduleResolution": "NodeNext"
79
},
810
"include": ["src"],
911
"references": [

packages/cli/bin/hypermod-cli.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
#!/usr/bin/env node
2-
const path = require('path');
3-
4-
require(path.join('..', 'dist', 'index.js'));
2+
export * from '../dist/index.js';

packages/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@hypermod/cli",
33
"version": "0.22.0",
4+
"type": "module",
45
"source": "src/index.ts",
56
"main": "dist/index.js",
67
"types": "dist/index.d.ts",

packages/cli/src/index.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import { readFileSync } from 'fs';
33
import chalk from 'chalk';
44
import { Command, Option, CommanderError } from 'commander';
55

6-
import main from './main';
7-
import list from './list';
8-
import init from './init';
9-
import validate from './validate';
10-
import { InvalidUserInputError, InvalidConfigError } from './errors';
6+
import main from './main.js';
7+
import list from './list.js';
8+
import init from './init.js';
9+
import validate from './validate.js';
10+
import { InvalidUserInputError, InvalidConfigError } from './errors.js';
11+
12+
const __dirname = path.dirname(new URL(import.meta.url).pathname);
1113

1214
const packageJson = readFileSync(
1315
path.join(__dirname, '..', 'package.json'),

packages/cli/src/list.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import chalk from 'chalk';
22
import { PluginManager } from 'live-plugin-manager';
33

4-
import { fetchPackages } from './utils/fetch-package';
5-
import { getHypermodPackageName } from './utils/package-names';
4+
import { fetchPackages } from './utils/fetch-package.js';
5+
import { getHypermodPackageName } from './utils/package-names.js';
66

77
export default async function list(packages: string[]) {
88
const packageManager = new PluginManager();

packages/cli/src/main.ts

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,16 @@ import { installPackage } from '@antfu/install-pkg';
1010
import * as core from '@hypermod/core';
1111
import { fetchConfigAtPath } from '@hypermod/fetcher';
1212

13-
import { InvalidUserInputError } from './errors';
14-
import { fetchPackages } from './utils/fetch-package';
15-
import { mergeConfigs } from './utils/merge-configs';
16-
import { fetchConfigsForWorkspaces, getPackageJson } from './utils/file-system';
17-
import { getConfigPrompt, getMultiConfigPrompt } from './prompt';
13+
import { InvalidUserInputError } from './errors.js';
14+
import { fetchPackages } from './utils/fetch-package.js';
15+
import { mergeConfigs } from './utils/merge-configs.js';
16+
import {
17+
fetchConfigsForWorkspaces,
18+
getPackageJson,
19+
} from './utils/file-system.js';
20+
import { getConfigPrompt, getMultiConfigPrompt } from './prompt.js';
21+
22+
const __dirname = path.dirname(new URL(import.meta.url).pathname);
1823

1924
const ExperimentalModuleLoader = () => {
2025
const getInfo = (packageName: string) => {
@@ -156,21 +161,33 @@ export default async function main(
156161
*/
157162
const configFilePath = await findUp([
158163
'hypermod.config.js',
164+
'hypermod.config.cjs',
165+
'hypermod.config.mjs',
159166
'hypermod.config.ts',
160167
'hypermod.config.tsx',
161168
'src/hypermod.config.js',
169+
'src/hypermod.config.cjs',
170+
'src/hypermod.config.mjs',
162171
'src/hypermod.config.ts',
163172
'src/hypermod.config.tsx',
164173
'codemods/hypermod.config.js',
174+
'codemods/hypermod.config.cjs',
175+
'codemods/hypermod.config.mjs',
165176
'codemods/hypermod.config.ts',
166177
'codemods/hypermod.config.tsx',
167178
'codeshift.config.js',
179+
'codeshift.config.cjs',
180+
'codeshift.config.mjs',
168181
'codeshift.config.ts',
169182
'codeshift.config.tsx',
170183
'src/codeshift.config.js',
184+
'src/codeshift.config.cjs',
185+
'src/codeshift.config.mjs',
171186
'src/codeshift.config.ts',
172187
'src/codeshift.config.tsx',
173188
'codemods/codeshift.config.js',
189+
'codemods/codeshift.config.cjs',
190+
'codemods/codeshift.config.mjs',
174191
'codemods/codeshift.config.ts',
175192
'codemods/codeshift.config.tsx',
176193
]);

packages/cli/src/utils/fetch-package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
} from '@hypermod/fetcher';
1010
import { isValidConfig } from '@hypermod/validator';
1111

12-
import { getHypermodPackageName } from './package-names';
12+
import { getHypermodPackageName } from './package-names.js';
1313

1414
export async function fetchPackages(
1515
packageName: string,

packages/cli/tsconfig.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
"compilerOptions": {
44
"rootDir": "src",
55
"outDir": "dist",
6-
"baseUrl": "."
6+
"baseUrl": ".",
7+
"module": "NodeNext",
8+
"moduleResolution": "NodeNext"
79
},
810
"include": ["src"],
911
"references": [

0 commit comments

Comments
 (0)