eslint-plugin-vanilla-extract/scripts/update-version.mjs
Ante Budimir 175ce9aef8 feat 🥁: add no-empty-style-blocks rule
Add comprehensive rule to detect and prevent empty CSS style blocks:

- Identify style objects with no properties
- Flag empty style blocks as potential code quality issues
- Provide auto-fix capability to remove empty blocks
- Handle edge cases like comments-only blocks

This rule helps maintain cleaner codebases by eliminating empty style definitions that often result from incomplete refactoring or forgotten implementations, reducing confusion and unnecessary code.
2025-04-06 16:34:35 +03:00

33 lines
1.2 KiB
JavaScript

import { execSync } from 'child_process';
import { promises as fs } from 'fs';
import path from 'path';
import { argv, env } from 'process';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const packageJsonPath = path.resolve(__dirname, '../package.json');
const indexTsPath = path.resolve(__dirname, '../src/index.ts');
const versionType = argv[2] || env.VERSION_TYPE;
if (!['major', 'minor', 'patch'].includes(versionType)) {
console.error('Invalid version type. Use major, minor, or patch.');
process.exit(1);
}
execSync(`pnpm version ${versionType} --no-git-tag-version`, { stdio: 'inherit' });
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
const newVersion = packageJson.version;
// Read src/index.ts
const indexTsContent = await fs.readFile(indexTsPath, 'utf-8');
// Replace the version string in src/index.ts
const updatedIndexTsContent = indexTsContent.replace(/version: '(\d+\.\d+\.\d+)'/, `version: '${newVersion}'`);
// Write the updated content back to src/index.ts
await fs.writeFile(indexTsPath, updatedIndexTsContent);
console.log(`Updated package.json and src/index.ts to version ${newVersion}`);