Skip to content

Commit 038e873

Browse files
authored
feat: automatically set the biome version in its outputted config file (#31)
1 parent c65ad9e commit 038e873

File tree

3 files changed

+41
-10
lines changed

3 files changed

+41
-10
lines changed

biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
33
"organizeImports": {
44
"enabled": true
55
},

src/index.ts

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,14 +257,45 @@ export async function create({
257257
skipFiles,
258258
isMergePackageJson: true,
259259
});
260-
} else {
261-
copyFolder({
262-
from: toolFolder,
263-
to: distFolder,
264-
version,
265-
skipFiles,
266-
isMergePackageJson: true,
267-
});
260+
261+
continue;
262+
}
263+
264+
copyFolder({
265+
from: toolFolder,
266+
to: distFolder,
267+
version,
268+
skipFiles,
269+
isMergePackageJson: true,
270+
});
271+
272+
if (tool === 'biome') {
273+
let biomeVersion: string =
274+
JSON.parse(
275+
await fs.promises.readFile(
276+
path.join(distFolder, 'package.json'),
277+
'utf-8',
278+
),
279+
).devDependencies?.['@biomejs/biome'] ?? '1.9.4';
280+
281+
biomeVersion = biomeVersion
282+
.split('.')
283+
.slice(0, 3)
284+
.map((s) => s.replace(/\W/g, ''))
285+
.join('.');
286+
287+
const biomeJsonPath = path.join(distFolder, 'biome.json');
288+
const biomeJson = JSON.parse(
289+
await fs.promises.readFile(biomeJsonPath, 'utf-8'),
290+
);
291+
292+
biomeJson.$schema = biomeJson.$schema.replace('{version}', biomeVersion);
293+
294+
await fs.promises.writeFile(
295+
biomeJsonPath,
296+
`${JSON.stringify(biomeJson, null, 2)}\n`,
297+
'utf-8',
298+
);
268299
}
269300
}
270301

template-biome/biome.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "https://biomejs.dev/schemas/1.8.0/schema.json",
2+
"$schema": "https://biomejs.dev/schemas/{version}/schema.json",
33
"organizeImports": {
44
"enabled": true
55
},

0 commit comments

Comments
 (0)