From e249109615f7a52eb8ecd68e5a8a21946cf4ddc2 Mon Sep 17 00:00:00 2001 From: Terry Date: Fri, 30 May 2025 15:45:11 +0800 Subject: [PATCH] fix(linter): fix line endings handling in '@nx/eslint:convert-to-flat-config' generator (#31043) ## Current Behavior When running `nx g @nx/eslint:convert-to-flat-config` on windows, the ignores path is not handled correctly. After converting, the path will have the additional `/r` ## Expected Behavior When running `nx g @nx/eslint:convert-to-flat-config` on windows, the ignores path should be correct. --- .../converters/json-converter.spec.ts | 9 +++++---- .../convert-to-flat-config/converters/json-converter.ts | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.spec.ts b/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.spec.ts index 9bb8ef02ef..dee21b035a 100644 --- a/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.spec.ts +++ b/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.spec.ts @@ -1,6 +1,7 @@ import { Tree, readJson } from '@nx/devkit'; import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; import { convertEslintJsonToFlatConfig } from './json-converter'; +import { EOL } from 'node:os'; describe('convertEslintJsonToFlatConfig', () => { let tree: Tree; @@ -63,7 +64,7 @@ describe('convertEslintJsonToFlatConfig', () => { }) ); - tree.write('.eslintignore', 'node_modules\nsomething/else'); + tree.write('.eslintignore', `node_modules${EOL}something/else`); const { content } = convertEslintJsonToFlatConfig( tree, @@ -227,7 +228,7 @@ describe('convertEslintJsonToFlatConfig', () => { }) ); - tree.write('mylib/.eslintignore', 'node_modules\nsomething/else'); + tree.write('mylib/.eslintignore', `node_modules${EOL}something/else`); const { content } = convertEslintJsonToFlatConfig( tree, @@ -376,7 +377,7 @@ describe('convertEslintJsonToFlatConfig', () => { }) ); - tree.write('.eslintignore', 'node_modules\nsomething/else'); + tree.write('.eslintignore', `node_modules${EOL}something/else`); const { content } = convertEslintJsonToFlatConfig( tree, @@ -537,7 +538,7 @@ describe('convertEslintJsonToFlatConfig', () => { }) ); - tree.write('mylib/.eslintignore', 'node_modules\nsomething/else'); + tree.write('mylib/.eslintignore', `node_modules${EOL}something/else`); const { content } = convertEslintJsonToFlatConfig( tree, diff --git a/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.ts b/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.ts index 18fa09e779..83feaf57fc 100644 --- a/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.ts +++ b/packages/eslint/src/generators/convert-to-flat-config/converters/json-converter.ts @@ -185,7 +185,7 @@ export function convertEslintJsonToFlatConfig( if (tree.exists(ignorePath)) { const patterns = tree .read(ignorePath, 'utf-8') - .split('\n') + .split(/\r\n|\r|\n/) .filter((line) => line.length > 0 && line !== 'node_modules') .map((path) => mapFilePath(path)); if (patterns.length > 0) {