Skip to content
This repository was archived by the owner on Aug 30, 2025. It is now read-only.

Commit ced8a5a

Browse files
committed
feat: deep merge biome configuration
1 parent 3acae74 commit ced8a5a

File tree

18 files changed

+1141
-428
lines changed

18 files changed

+1141
-428
lines changed

.npmignore

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/deps.json

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/tasks.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projenrc.ts

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,63 @@
1-
import { Vitest } from "@nikovirtala/projen-vitest";
2-
import { cdk } from "projen";
3-
import { GithubCredentials } from "projen/lib/github";
4-
import { NodePackageManager } from "projen/lib/javascript";
5-
import { Biome } from "./src";
6-
import { createTypes } from "./src/schema";
1+
import { Vitest } from '@nikovirtala/projen-vitest'
2+
import { cdk } from 'projen'
3+
import { GithubCredentials } from 'projen/lib/github'
4+
import { NodePackageManager } from 'projen/lib/javascript'
5+
import { Biome } from './src'
6+
import { createTypes } from './src/schema'
77

88
const project = new cdk.JsiiProject({
9-
author: "Juho Saarinen",
10-
authorAddress: "juho.saarinen@gmail.com",
11-
defaultReleaseBranch: "main",
12-
jsiiVersion: "~5.8.0",
13-
license: "MIT",
14-
name: "projen-biome",
15-
projenrcTs: true,
16-
repositoryUrl: "https://github.com/Hi-Fi/projen-biome.git",
17-
packageManager: NodePackageManager.NPM,
18-
renovatebot: true,
19-
depsUpgradeOptions: {
20-
workflow: false,
21-
},
22-
bundledDeps: ["@biomejs/biome"],
23-
deps: ["@biomejs/biome"],
24-
devDeps: ["@nikovirtala/projen-vitest", "json-schema-to-typescript"],
25-
peerDeps: ["projen", "constructs"],
26-
jest: false,
27-
// Use biome (this project) instead of eslint and prettier
28-
eslint: false,
29-
prettier: false,
30-
projenCredentials: GithubCredentials.fromPersonalAccessToken({
31-
secret: "GITHUB_TOKEN",
32-
}),
33-
34-
// deps: [], /* Runtime dependencies of this module. */
35-
// description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
36-
// devDeps: [], /* Build dependencies for this module. */
37-
// packageName: undefined, /* The "name" in package.json. */
38-
});
9+
author: 'Juho Saarinen',
10+
authorAddress: 'juho.saarinen@gmail.com',
11+
defaultReleaseBranch: 'main',
12+
jsiiVersion: '~5.8.0',
13+
license: 'MIT',
14+
name: 'projen-biome',
15+
projenrcTs: true,
16+
repositoryUrl: 'https://github.com/Hi-Fi/projen-biome.git',
17+
packageManager: NodePackageManager.NPM,
18+
renovatebot: true,
19+
depsUpgradeOptions: {
20+
workflow: false,
21+
},
22+
bundledDeps: ['@biomejs/biome'],
23+
deps: ['@biomejs/biome'],
24+
devDeps: ['@nikovirtala/projen-vitest', 'json-schema-to-typescript', 'memfs'],
25+
peerDeps: ['projen', 'constructs'],
26+
jest: false,
27+
// Use biome (this project) instead of eslint and prettier
28+
eslint: false,
29+
prettier: false,
30+
projenCredentials: GithubCredentials.fromPersonalAccessToken({
31+
secret: 'GITHUB_TOKEN',
32+
}),
33+
34+
// deps: [], /* Runtime dependencies of this module. */
35+
// description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
36+
// devDeps: [], /* Build dependencies for this module. */
37+
// packageName: undefined, /* The "name" in package.json. */
38+
})
3939

4040
// const typesTask = project.addTask("parse-biome-types", {
4141
// exec: "npx --package=json-schema-to-typescript json2ts --input node_modules/@biomejs/biome/configuration_schema.json --output src/biome-configuration.ts",
4242
// });
4343

4444
// project.defaultTask?.spawn(typesTask);
4545

46-
new Vitest(project);
46+
new Vitest(project)
4747
new Biome(project, {
48-
formatter: true,
49-
organizeImports: true,
50-
overrides: {
51-
files: {
52-
ignore: ["src/biome-configuration.ts"],
53-
},
54-
},
55-
});
48+
formatter: true,
49+
organizeImports: true,
50+
overrides: {
51+
files: {
52+
ignore: ['src/biome-configuration.ts', '__mocks__'],
53+
},
54+
},
55+
})
56+
57+
project.npmignore?.addPatterns('__mocks__')
5658

5759
project.postSynthesize = async () => {
58-
await createTypes();
59-
};
60+
await createTypes()
61+
}
6062

61-
project.synth();
63+
project.synth()

API.md

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

__mocks__/fs.cjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// From: https://vitest.dev/guide/mocking.html#example-3
2+
// we can also use `import`, but then
3+
// every export should be explicitly defined
4+
5+
const { fs } = require('memfs')
6+
module.exports = fs

__mocks__/fs/promises.cjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// From: https://vitest.dev/guide/mocking.html#example-3
2+
// we can also use `import`, but then
3+
// every export should be explicitly defined
4+
5+
const { fs } = require('memfs')
6+
module.exports = fs.promises

biome.jsonc

Lines changed: 60 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)