mazey 3.11.6 → 3.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,155 +1,155 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- /* eslint-disable no-undef */
3
- // Git Helper
4
- const execa = require('execa');
5
-
6
- /**
7
- * Release this project with version by `process.env.VERSION` or `package.json`.
8
- *
9
- * Usage:
10
- *
11
- * ```javascript
12
- * const pkgVersion = process.env.VERSION || require('../package.json').version;
13
- * release(pkgVersion);
14
- * ```
15
- *
16
- * It will be more straightforward if you use the development dependence CrossEnv.
17
- *
18
- * ```shell
19
- * # Install
20
- * npm i cross-env -D
21
- *
22
- * # scripts
23
- * cross-env SCRIPTS_NPM_PACKAGE_VERSION=$npm_package_version node ./scripts/release.js
24
- * ```
25
- *
26
- * ```javascript
27
- * // release.js
28
- * release();
29
- * ```
30
- *
31
- * @param {string} ver Version
32
- * @returns {void}
33
- */
34
- async function release (ver, { canGenerateToc = false, defaultBranch = 'main' } = {}) {
35
- if (!ver) {
36
- ver = process.env.SCRIPTS_NPM_PACKAGE_VERSION;
37
- }
38
- if (!ver) {
39
- console.error('Fail to get the current version.');
40
- return;
41
- }
42
- const { generateToc } = require('./build-helper');
43
- const releaseVersion = `v${ver}`;
44
- const { stdout: releaseStdout } = await execa('echo', [ `Start release ${releaseVersion}...` ]);
45
- console.log(releaseStdout);
46
- // Generating Table of Contents
47
- if (canGenerateToc) {
48
- generateToc();
49
- }
50
- // Commit
51
- await gitCommit(`${releaseVersion} stage`);
52
- // Marge
53
- await gitMergeMaster2Release(defaultBranch);
54
- // Build
55
- await execa('npm', [ 'run', 'preview' ]);
56
- await execa('npm', [ 'publish' ]);
57
- // Commit Again
58
- await gitCommit(releaseVersion);
59
- // Push
60
- console.log('Pushing to the remote Git...');
61
- // await execa('git', ['tag', '-a', `${releaseVersion}`, '-m', `Release ${releaseVersion}`]);
62
- // await execa('git', ['push', 'origin', `refs/tags/${releaseVersion}`]);
63
- await gitTagPush(releaseVersion);
64
- await gitPush();
65
- console.log('All done.');
66
- }
67
-
68
- /**
69
- * Push git tag.
70
- *
71
- * @example
72
- * ```
73
- * await gitTagPush('v1.0.0');
74
- * ```
75
- *
76
- * @param {string} ver Release version
77
- * @returns {boolean} Is success
78
- */
79
- async function gitTagPush (ver = '') {
80
- if (!ver) {
81
- console.error('Fail to get the current version.');
82
- return false;
83
- }
84
- if (!ver.startsWith('v')) {
85
- ver = `v${ver}`;
86
- }
87
- await execa('git', [ 'tag', '-a', `${ver}`, '-m', `Release ${ver}` ]);
88
- await execa('git', [ 'push', 'origin', `refs/tags/${ver}` ]);
89
- return true;
90
- }
91
-
92
- /**
93
- * Push code.
94
- */
95
- async function gitPush () {
96
- try {
97
- await execa('git', [ 'push' ], { stdio: 'pipe' });
98
- } catch (error) {
99
- console.log('Error:', error.message);
100
- const { stdout: currentBranch } = await execa('git', [ 'branch', '--show-current' ], { stdio: 'pipe' });
101
- console.log(`Current Branch: ${currentBranch}`);
102
- await execa('git', [ 'push', '--set-upstream', 'origin', currentBranch ]);
103
- }
104
- return true;
105
- }
106
-
107
- /**
108
- * Merge master to current branch.
109
- */
110
- async function gitMergeMaster2Release (defaultBranch = 'main') {
111
- const currentBranch = await getGitCurrentBranch();
112
- await execa('git', [ 'checkout', defaultBranch ]);
113
- await execa('git', [ 'pull' ]);
114
- await execa('git', [ 'checkout', currentBranch ]);
115
- await execa('git', [ 'merge', defaultBranch ]);
116
- return true;
117
- }
118
-
119
- /**
120
- * Get git current branch.
121
- */
122
- async function getGitCurrentBranch () {
123
- let currentBranch = '';
124
- try {
125
- ({ stdout: currentBranch } = await execa('git', [ 'branch', '--show-current' ], { stdio: 'pipe' }));
126
- } catch (error) {
127
- ({ stdout: currentBranch } = await execa('git', [ 'rev-parse', '--abbrev-ref', 'HEAD' ], { stdio: 'pipe' }));
128
- }
129
- console.log(`Current Branch: ${currentBranch}`);
130
- return currentBranch;
131
- }
132
-
133
- /**
134
- * Commit current code.
135
- */
136
- async function gitCommit (releaseVersion = 0) {
137
- const { stdout: diffStdout } = await execa('git', [ 'diff' ], { stdio: 'pipe' });
138
- if (diffStdout) {
139
- console.log('Committing changes...');
140
- await execa('git', [ 'add', '-A' ]);
141
- await execa('git', [ 'commit', '-m', `release: ${releaseVersion}` ]);
142
- } else {
143
- console.log('No changes to commit.');
144
- }
145
- return true;
146
- }
147
-
148
- module.exports = {
149
- release,
150
- gitPush,
151
- gitMergeMaster2Release,
152
- getGitCurrentBranch,
153
- gitCommit,
154
- gitTagPush,
155
- };
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ /* eslint-disable no-undef */
3
+ // Git Helper
4
+ const execa = require('execa');
5
+
6
+ /**
7
+ * Release this project with version by `process.env.VERSION` or `package.json`.
8
+ *
9
+ * Usage:
10
+ *
11
+ * ```javascript
12
+ * const pkgVersion = process.env.VERSION || require('../package.json').version;
13
+ * release(pkgVersion);
14
+ * ```
15
+ *
16
+ * It will be more straightforward if you use the development dependence CrossEnv.
17
+ *
18
+ * ```shell
19
+ * # Install
20
+ * npm i cross-env -D
21
+ *
22
+ * # scripts
23
+ * cross-env SCRIPTS_NPM_PACKAGE_VERSION=$npm_package_version node ./scripts/release.js
24
+ * ```
25
+ *
26
+ * ```javascript
27
+ * // release.js
28
+ * release();
29
+ * ```
30
+ *
31
+ * @param {string} ver Version
32
+ * @returns {void}
33
+ */
34
+ async function release (ver, { canGenerateToc = false, defaultBranch = 'main' } = {}) {
35
+ if (!ver) {
36
+ ver = process.env.SCRIPTS_NPM_PACKAGE_VERSION;
37
+ }
38
+ if (!ver) {
39
+ console.error('Fail to get the current version.');
40
+ return;
41
+ }
42
+ const { generateToc } = require('./build-helper');
43
+ const releaseVersion = `v${ver}`;
44
+ const { stdout: releaseStdout } = await execa('echo', [ `Start release ${releaseVersion}...` ]);
45
+ console.log(releaseStdout);
46
+ // Generating Table of Contents
47
+ if (canGenerateToc) {
48
+ generateToc();
49
+ }
50
+ // Commit
51
+ await gitCommit(`${releaseVersion} stage`);
52
+ // Marge
53
+ await gitMergeMaster2Release(defaultBranch);
54
+ // Build
55
+ await execa('npm', [ 'run', 'preview' ]);
56
+ await execa('npm', [ 'publish' ]);
57
+ // Commit Again
58
+ await gitCommit(releaseVersion);
59
+ // Push
60
+ console.log('Pushing to the remote Git...');
61
+ // await execa('git', ['tag', '-a', `${releaseVersion}`, '-m', `Release ${releaseVersion}`]);
62
+ // await execa('git', ['push', 'origin', `refs/tags/${releaseVersion}`]);
63
+ await gitTagPush(releaseVersion);
64
+ await gitPush();
65
+ console.log('All done.');
66
+ }
67
+
68
+ /**
69
+ * Push git tag.
70
+ *
71
+ * @example
72
+ * ```
73
+ * await gitTagPush('v1.0.0');
74
+ * ```
75
+ *
76
+ * @param {string} ver Release version
77
+ * @returns {boolean} Is success
78
+ */
79
+ async function gitTagPush (ver = '') {
80
+ if (!ver) {
81
+ console.error('Fail to get the current version.');
82
+ return false;
83
+ }
84
+ if (!ver.startsWith('v')) {
85
+ ver = `v${ver}`;
86
+ }
87
+ await execa('git', [ 'tag', '-a', `${ver}`, '-m', `Release ${ver}` ]);
88
+ await execa('git', [ 'push', 'origin', `refs/tags/${ver}` ]);
89
+ return true;
90
+ }
91
+
92
+ /**
93
+ * Push code.
94
+ */
95
+ async function gitPush () {
96
+ try {
97
+ await execa('git', [ 'push' ], { stdio: 'pipe' });
98
+ } catch (error) {
99
+ console.log('Error:', error.message);
100
+ const { stdout: currentBranch } = await execa('git', [ 'branch', '--show-current' ], { stdio: 'pipe' });
101
+ console.log(`Current Branch: ${currentBranch}`);
102
+ await execa('git', [ 'push', '--set-upstream', 'origin', currentBranch ]);
103
+ }
104
+ return true;
105
+ }
106
+
107
+ /**
108
+ * Merge master to current branch.
109
+ */
110
+ async function gitMergeMaster2Release (defaultBranch = 'main') {
111
+ const currentBranch = await getGitCurrentBranch();
112
+ await execa('git', [ 'checkout', defaultBranch ]);
113
+ await execa('git', [ 'pull' ]);
114
+ await execa('git', [ 'checkout', currentBranch ]);
115
+ await execa('git', [ 'merge', defaultBranch ]);
116
+ return true;
117
+ }
118
+
119
+ /**
120
+ * Get git current branch.
121
+ */
122
+ async function getGitCurrentBranch () {
123
+ let currentBranch = '';
124
+ try {
125
+ ({ stdout: currentBranch } = await execa('git', [ 'branch', '--show-current' ], { stdio: 'pipe' }));
126
+ } catch (error) {
127
+ ({ stdout: currentBranch } = await execa('git', [ 'rev-parse', '--abbrev-ref', 'HEAD' ], { stdio: 'pipe' }));
128
+ }
129
+ console.log(`Current Branch: ${currentBranch}`);
130
+ return currentBranch;
131
+ }
132
+
133
+ /**
134
+ * Commit current code.
135
+ */
136
+ async function gitCommit (releaseVersion = 0) {
137
+ const { stdout: diffStdout } = await execa('git', [ 'diff' ], { stdio: 'pipe' });
138
+ if (diffStdout) {
139
+ console.log('Committing changes...');
140
+ await execa('git', [ 'add', '-A' ]);
141
+ await execa('git', [ 'commit', '-m', `release: ${releaseVersion}` ]);
142
+ } else {
143
+ console.log('No changes to commit.');
144
+ }
145
+ return true;
146
+ }
147
+
148
+ module.exports = {
149
+ release,
150
+ gitPush,
151
+ gitMergeMaster2Release,
152
+ getGitCurrentBranch,
153
+ gitCommit,
154
+ gitTagPush,
155
+ };
@@ -1,9 +1,9 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- /* eslint-disable no-undef */
3
- // release
4
- const { release } = require('./git-helper');
5
- const pkgVersion = process.env.SCRIPTS_NPM_PACKAGE_VERSION || process.env.VERSION || require('../package.json').version;
6
-
7
- console.log('release: SCRIPTS_NPM_PACKAGE_VERSION', process.env.SCRIPTS_NPM_PACKAGE_VERSION);
8
-
9
- release(pkgVersion, { canGenerateToc: true });
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ /* eslint-disable no-undef */
3
+ // release
4
+ const { release } = require('./git-helper');
5
+ const pkgVersion = process.env.SCRIPTS_NPM_PACKAGE_VERSION || process.env.VERSION || require('../package.json').version;
6
+
7
+ console.log('release: SCRIPTS_NPM_PACKAGE_VERSION', process.env.SCRIPTS_NPM_PACKAGE_VERSION);
8
+
9
+ release(pkgVersion, { canGenerateToc: true });