Skip to content

Commit

Permalink
Updated CLI blueprints to consume @ijlee2-frontend-configs (#149)
Browse files Browse the repository at this point in the history
* chore: Patched #148

* feature: Consumed @ijlee2-frontend-configs

* chore: Removed @babel/core

* chore: Updated fixtures

* chore: Added changeset

---------

Co-authored-by: ijlee2 <ijlee2@users.noreply.github.com>
  • Loading branch information
ijlee2 and ijlee2 authored Feb 7, 2025
1 parent 3b195cc commit fb03606
Show file tree
Hide file tree
Showing 39 changed files with 155 additions and 895 deletions.
5 changes: 5 additions & 0 deletions .changeset/small-cheetahs-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@codemod-utils/cli": minor
---

Consumed @ijlee2-frontend-configs
4 changes: 2 additions & 2 deletions configs/eslint/node/typescript/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import eslintConfigNodeTypescript from '@ijlee2-frontend-configs/eslint-config-node/typescript';
import baseConfiguration from '@ijlee2-frontend-configs/eslint-config-node/typescript';

export default [
{
Expand All @@ -12,5 +12,5 @@ export default [
'.*/',
],
},
...eslintConfigNodeTypescript,
...baseConfiguration,
];
13 changes: 0 additions & 13 deletions packages/cli/src/blueprints/.prettierrc.cjs

This file was deleted.

4 changes: 2 additions & 2 deletions packages/cli/src/blueprints/__npmignore__
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
/.gitignore
/.pnpm-debug.log
/.prettierignore
/.prettierrc.cjs
/build.sh
/CONTRIBUTING.md
/eslint.config.js
/eslint.config.mjs
/prettier.config.mjs
/tests/
/update-test-fixtures.sh
226 changes: 0 additions & 226 deletions packages/cli/src/blueprints/eslint.config.js

This file was deleted.

16 changes: 16 additions & 0 deletions packages/cli/src/blueprints/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<% if (options.codemod.hasTypeScript) { %>import baseConfiguration from '@ijlee2-frontend-configs/eslint-config-node/typescript';<% } else { %>import baseConfiguration from '@ijlee2-frontend-configs/eslint-config-node/javascript';<% } %>

export default [
{
ignores: [
'dist/',
'dist-for-testing/',
'node_modules/',
'src/blueprints/',
'tests/fixtures/',
'tmp/',
'.*/',
],
},
...baseConfiguration,
];
1 change: 1 addition & 0 deletions packages/cli/src/blueprints/prettier.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from '@ijlee2-frontend-configs/prettier';
3 changes: 2 additions & 1 deletion packages/cli/src/blueprints/tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
],
"compilerOptions": {
"declaration": false,
"moduleResolution": "NodeNext",
"module": "nodenext",
"moduleResolution": "nodenext",
"outDir": "dist"
},
"include": ["bin", "src"],
Expand Down
3 changes: 2 additions & 1 deletion packages/cli/src/blueprints/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
],
"compilerOptions": {
"declaration": false,
"moduleResolution": "NodeNext",
"module": "nodenext",
"moduleResolution": "nodenext",
"outDir": "dist-for-testing"
},
"include": ["bin", "src", "tests"],
Expand Down
33 changes: 2 additions & 31 deletions packages/cli/src/steps/update-package-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,35 +41,23 @@ function updateDevDependencies(
const devDependencies = convertToMap(packageJson['devDependencies']);

const packagesToInstall = new Set([
'@babel/core',
'@babel/eslint-parser',
'@babel/plugin-proposal-decorators',
'@changesets/cli',
'@changesets/get-github-info',
'@codemod-utils/tests',
'@eslint/js',
'@ijlee2-frontend-configs/eslint-config-node',
'@ijlee2-frontend-configs/prettier',
'@sondr3/minitest',
'concurrently',
'eslint',
'eslint-config-prettier',
'eslint-plugin-import',
'eslint-plugin-n',
'eslint-plugin-prettier',
'eslint-plugin-simple-import-sort',
'globals',
'prettier',
]);

if (codemod.hasTypeScript) {
packagesToInstall.add('@tsconfig/node18');
packagesToInstall.add('@tsconfig/strictest');
packagesToInstall.add('@types/eslint__js');
packagesToInstall.add('@types/node');
packagesToInstall.add('@types/yargs');
packagesToInstall.add('eslint-import-resolver-typescript');
packagesToInstall.add('eslint-plugin-typescript-sort-keys');
packagesToInstall.add('typescript');
packagesToInstall.add('typescript-eslint');
}

Array.from(packagesToInstall).forEach((packageName) => {
Expand All @@ -88,22 +76,6 @@ function addPackageManager(packageJson: PackageJson): void {
packageJson['packageManager'] = `pnpm@${version}`;
}

function addPnpmOverrides(packageJson: PackageJson, options: Options): void {
const { codemod } = options;

if (!codemod.hasTypeScript) {
return;
}

const version = getVersion('eslint-plugin-import').replace(/^\^/, '');

packageJson['pnpm'] = {
overrides: {
[`eslint-plugin-import@${version}>tsconfig-paths`]: '^4.2.0',
},
};
}

export function updatePackageJson(options: Options): void {
const { codemod, projectRoot } = options;

Expand All @@ -114,7 +86,6 @@ export function updatePackageJson(options: Options): void {
updateDependencies(packageJson, options);
updateDevDependencies(packageJson, options);
addPackageManager(packageJson);
addPnpmOverrides(packageJson, options);

const destination = join(projectRoot, codemod.name, 'package.json');
const file = JSON.stringify(packageJson, null, 2) + '\n';
Expand Down
Loading

0 comments on commit fb03606

Please sign in to comment.