Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0c2a50c18 | ||
|
|
4d6195699e | ||
|
|
657608fce1 | ||
|
|
bc086a466f | ||
|
|
9c57d891b8 |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "react-crafter",
|
"name": "react-crafter",
|
||||||
"version": "1.1.1",
|
"version": "1.1.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "react-crafter",
|
"name": "react-crafter",
|
||||||
"version": "1.1.1",
|
"version": "1.1.3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^4.1.0",
|
"chalk": "^4.1.0",
|
||||||
"commander": "^7.2.0",
|
"commander": "^7.2.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-crafter",
|
"name": "react-crafter",
|
||||||
"version": "1.1.1",
|
"version": "1.1.3",
|
||||||
"description": "A CLI tool to quickly scaffold a React application with TypeScript, Ant Design, Sass, Webpack, and essential development tools like Husky and linters pre-configured. Perfect for kickstarting modern React projects with best practices.",
|
"description": "A CLI tool to quickly scaffold a React application with TypeScript, Ant Design, Sass, Webpack, and essential development tools like Husky and linters pre-configured. Perfect for kickstarting modern React projects with best practices.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -24,6 +24,10 @@
|
|||||||
"npx"
|
"npx"
|
||||||
],
|
],
|
||||||
"author": "Carlos Gutierrez <cargdev@gmail.com>",
|
"author": "Carlos Gutierrez <cargdev@gmail.com>",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/CarGDev/reactwizard"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node index.js",
|
"start": "node index.js",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
|
|||||||
29
release.js
29
release.js
@@ -6,12 +6,22 @@ const chalk = require('chalk');
|
|||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
try {
|
try {
|
||||||
|
// Prevent the script from running during npm lifecycle hooks
|
||||||
|
if (process.env.npm_lifecycle_event) {
|
||||||
|
console.log(
|
||||||
|
chalk.yellow(
|
||||||
|
'⚠️ Script is running in an npm lifecycle hook, exiting...'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if working directory is clean
|
// Check if working directory is clean
|
||||||
const status = execSync('git status --porcelain').toString().trim();
|
const status = execSync('git status --porcelain').toString().trim();
|
||||||
if (status) {
|
if (status) {
|
||||||
console.error(
|
console.error(
|
||||||
chalk.red(
|
chalk.red(
|
||||||
'Error: Your working directory is not clean. Please commit or stash your changes first.'
|
'❌ Error: Your working directory is not clean. Please commit or stash your changes first.'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
@@ -19,7 +29,7 @@ async function run() {
|
|||||||
|
|
||||||
// Pull the latest changes
|
// Pull the latest changes
|
||||||
console.log(
|
console.log(
|
||||||
chalk.blue('Pulling the latest changes from the remote repository...')
|
chalk.blue('🔄 Pulling the latest changes from the remote repository...')
|
||||||
);
|
);
|
||||||
execSync('git pull origin master', { stdio: 'inherit' });
|
execSync('git pull origin master', { stdio: 'inherit' });
|
||||||
|
|
||||||
@@ -28,29 +38,32 @@ async function run() {
|
|||||||
{
|
{
|
||||||
type: 'list',
|
type: 'list',
|
||||||
name: 'versionType',
|
name: 'versionType',
|
||||||
message: 'Select the type of version bump:',
|
message: '🔢 Select the type of version bump:',
|
||||||
choices: ['patch', 'minor', 'major'],
|
choices: ['patch', 'minor', 'major'],
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Bump the version
|
// Bump the version
|
||||||
console.log(chalk.blue(`Bumping the ${versionType} version...`));
|
console.log(chalk.blue(`📦 Bumping the ${versionType} version...`));
|
||||||
execSync(`npm version ${versionType}`, { stdio: 'inherit' });
|
execSync(`npm version ${versionType}`, { stdio: 'inherit' });
|
||||||
|
|
||||||
// Commit and push changes
|
// Commit and push changes
|
||||||
console.log(chalk.blue('Pushing changes to the remote repository...'));
|
console.log(chalk.blue('🚀 Pushing changes to the remote repository...'));
|
||||||
execSync('git push origin master --follow-tags', { stdio: 'inherit' });
|
execSync('git push origin master --follow-tags', { stdio: 'inherit' });
|
||||||
|
|
||||||
// Publish the package
|
// Publish the package
|
||||||
console.log(chalk.blue('Publishing the package to npm...'));
|
console.log(chalk.blue('📤 Publishing the package to npm...'));
|
||||||
execSync('npm publish', { stdio: 'inherit' });
|
execSync('npm publish', { stdio: 'inherit' });
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
chalk.green(`🚀 Successfully released a new ${versionType} version!`)
|
chalk.green(`✅ 🚀 Successfully released a new ${versionType} version!`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Exit the process to avoid any potential loops
|
||||||
|
process.exit(0);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(
|
console.error(
|
||||||
chalk.red('An error occurred during the release process:'),
|
chalk.red('❌ An error occurred during the release process:'),
|
||||||
error.message
|
error.message
|
||||||
);
|
);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user