feat(scripts): enhance version script and update badges dynamically in README
- Added a new `version` script in `package.json` to execute `generate-version.js` for automated version management. - Enhanced `generate-version.js` to dynamically update badges in `README.md` for npm version, Node.js version, and TypeScript version. - Modified badge update logic to retrieve Node.js and TypeScript versions from `package.json` for accuracy. - Updated `VERSION` constant in `version.ts` to `0.9.7` to reflect the latest release. - Streamlined the versioning process for better maintainability and consistency in documentation.
This commit is contained in:
parent
5e773e0110
commit
1c68d51be1
3 changed files with 27 additions and 8 deletions
|
|
@ -34,6 +34,7 @@
|
|||
"start": "node dist/unified.js",
|
||||
"demo": "npm run build && npm run build:browser && npx http-server -o /index.html",
|
||||
"cli": "node ./cli-wrapper.js",
|
||||
"version": "node scripts/generate-version.js",
|
||||
"version:patch": "npm version patch",
|
||||
"version:minor": "npm version minor",
|
||||
"version:major": "npm version major",
|
||||
|
|
|
|||
|
|
@ -56,19 +56,37 @@ fs.writeFileSync(outputFile, content)
|
|||
|
||||
console.log(`Generated version.ts with version ${version}`)
|
||||
|
||||
// Update README.md with the current version
|
||||
// Update README.md with the current version, Node.js version, and TypeScript version
|
||||
try {
|
||||
let readmeContent = fs.readFileSync(readmePath, 'utf8')
|
||||
|
||||
// Replace the version in the badge URL
|
||||
const updatedReadme = readmeContent.replace(
|
||||
/\[\!\[Version\]\(https:\/\/img\.shields\.io\/badge\/version-[0-9]+\.[0-9]+\.[0-9]+-blue\.svg\)\]/g,
|
||||
`[]`
|
||||
// Get Node.js version requirement from package.json
|
||||
const nodeVersion = packageJson.engines.node.replace('>=', '')
|
||||
|
||||
// Get TypeScript version from package.json devDependencies
|
||||
const typescriptVersion = packageJson.devDependencies.typescript.replace('^', '')
|
||||
|
||||
// Update npm badge
|
||||
readmeContent = readmeContent.replace(
|
||||
/\[\!\[npm\]\(https:\/\/img\.shields\.io\/npm\/v\/@soulcraft\/brainy\.svg\)\]\(https:\/\/www\.npmjs\.com\/package\/@soulcraft\/brainy\)/g,
|
||||
`[](https://www.npmjs.com/package/@soulcraft/brainy)`
|
||||
)
|
||||
|
||||
// Update Node.js badge
|
||||
readmeContent = readmeContent.replace(
|
||||
/\[\!\[Node\.js\]\(https:\/\/img\.shields\.io\/badge\/node-%3E%3D[0-9]+\.[0-9]+\.[0-9]+-brightgreen\.svg\)\]\(https:\/\/nodejs\.org\/\)/g,
|
||||
`[](https://nodejs.org/)`
|
||||
)
|
||||
|
||||
// Update TypeScript badge
|
||||
readmeContent = readmeContent.replace(
|
||||
/\[\!\[TypeScript\]\(https:\/\/img\.shields\.io\/badge\/TypeScript-[0-9]+\.[0-9]+\.[0-9]+-blue\.svg\)\]\(https:\/\/www\.typescriptlang\.org\/\)/g,
|
||||
`[](https://www.typescriptlang.org/)`
|
||||
)
|
||||
|
||||
// Write the updated README back to disk
|
||||
fs.writeFileSync(readmePath, updatedReadme)
|
||||
console.log(`Updated README.md with version ${version}`)
|
||||
fs.writeFileSync(readmePath, readmeContent)
|
||||
console.log(`Updated README.md with npm version ${version}, Node.js version ${nodeVersion}, and TypeScript version ${typescriptVersion}`)
|
||||
} catch (error) {
|
||||
console.error('Error updating README.md:', error)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
* Do not modify this file directly.
|
||||
*/
|
||||
|
||||
export const VERSION = '0.9.6';
|
||||
export const VERSION = '0.9.7';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue