Skip to content

Commit efaa9de

Browse files
committed
🏆
1 parent e942e9b commit efaa9de

File tree

5 files changed

+41
-6
lines changed

5 files changed

+41
-6
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ packages/components/**/*.d.ts
6161
packages/components/**/*.d.ts.map
6262
packages/components/**/*.js
6363
packages/components/**/*.js.map
64+
!packages/components/eslint.config.js
6465
packages/locales/**/*.d.ts
6566
packages/locales/**/*.d.ts.map
6667
packages/locales/**/*.js
@@ -69,6 +70,7 @@ packages/themes/**/*.d.ts
6970
packages/themes/**/*.d.ts.map
7071
packages/themes/**/*.js
7172
packages/themes/**/*.js.map
73+
!packages/themes/eslint.config.js
7274
website/build
7375
website/dist
7476

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@
149149
"output": [
150150
"packages/themes/**/*.{css,json,scss}",
151151
"!packages/themes/*/fonts.css",
152-
"!packages/themes/*/{package,tsconfig}.json"
152+
"!packages/themes/*/{package,tsconfig}.json",
153+
"!packages/themes/tsconfig.json"
153154
]
154155
},
155156
"build:types": {

packages/themes/eslint.config.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import config from '../../eslint.config.js';
2+
3+
/**
4+
* NOTE: All paths are relative to where eslint is run from,
5+
* in our case the root of the monorepo.
6+
*/
7+
export default [
8+
{
9+
ignores: [
10+
'packages/themes/**/*.js',
11+
'packages/themes/**/*.d.ts',
12+
'packages/themes/core**/*'
13+
]
14+
},
15+
...config,
16+
{
17+
languageOptions: {
18+
parserOptions: {
19+
project: 'packages/components/tsconfig.json'
20+
}
21+
}
22+
}
23+
];

packages/themes/tsconfig.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "../../tsconfig.base.json",
3+
"compilerOptions": {
4+
"composite": true,
5+
"rootDir": "."
6+
},
7+
"include": ["**/*.ts"]
8+
}

scripts/build-icons.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,23 @@ import { fasl } from '@fortawesome/sharp-light-svg-icons';
88
import { fasr } from '@fortawesome/sharp-regular-svg-icons';
99
import { fass } from '@fortawesome/sharp-solid-svg-icons';
1010
import { exec } from 'child_process';
11-
import { ESLint } from 'eslint';
11+
import pkg from 'eslint/use-at-your-own-risk';
1212
import fg from 'fast-glob';
1313
import { promises as fs, existsSync } from 'fs';
1414
import { basename, join } from 'path';
1515
import figmaIconPages from './figma-icon-pages.json' assert { type: 'json' };
1616

1717
library.add(fas, far, fal, fat, fad, fass, fasr, fasl);
1818

19+
const { FlatESLint } = pkg
20+
1921
const cwd = new URL('.', import.meta.url).pathname,
20-
eslint = new ESLint({ fix: true });
22+
eslint = new FlatESLint({ fix: true });
2123

2224
const {
2325
default: { icon: coreIcons }
2426
} = await import('../packages/tokens/src/core.json', { assert: { type: 'json' } });
2527

26-
2728
const getFormattedIcons = (icons, collection) => {
2829
return Object.entries(icons).reduce((acc, cur) => {
2930
if (cur[0] === collection) {
@@ -138,8 +139,8 @@ const buildIcons = async theme => {
138139
sortedIcons = Object.fromEntries(Object.entries({ ...icons, ...coreCustomIcons, ...iconsCustom }).sort()),
139140
source = `export const icons = ${JSON.stringify(sortedIcons)};`,
140141
results = await eslint.lintText(source, { filePath });
141-
142-
await ESLint.outputFixes(results);
142+
143+
await FlatESLint.outputFixes(results);
143144

144145
await fs.writeFile(filePath, results[0].output);
145146
};

0 commit comments

Comments
 (0)