create-pkgbld 1.1.10 → 1.2.0
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.
- package/dist/index.cjs +62 -122
- package/dist/index.mjs +62 -122
- package/package.json +3 -8
package/dist/index.cjs
CHANGED
|
@@ -7,134 +7,72 @@ var fs = require('fs/promises');
|
|
|
7
7
|
var userName = require('git-user-name');
|
|
8
8
|
var gitConfig = require('parse-git-config');
|
|
9
9
|
var minimist = require('minimist');
|
|
10
|
-
var degit = require('degit');
|
|
11
10
|
|
|
12
11
|
async function execute() {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
// report version
|
|
13
|
+
{
|
|
14
|
+
const createPkgBldPackage = await readPackage(path.resolve(__dirname, '..'));
|
|
15
|
+
console.log('create-pkgbld ' + createPkgBldPackage.pkg.version);
|
|
16
|
+
}
|
|
15
17
|
const parsedArgs = minimist(process.argv.slice(2));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
+
const targetDir = path.join(process.cwd(), parsedArgs._[0] ?? '.');
|
|
19
|
+
const packageName = path.basename(targetDir);
|
|
18
20
|
let cancelled = false;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
const response = await prompts([{
|
|
22
|
+
type: 'text',
|
|
23
|
+
name: 'name',
|
|
24
|
+
message: 'package name',
|
|
25
|
+
initial: packageName
|
|
26
|
+
}, {
|
|
27
|
+
type: 'text',
|
|
28
|
+
name: 'version',
|
|
29
|
+
message: 'version',
|
|
30
|
+
initial: '0.0.1'
|
|
31
|
+
}, {
|
|
32
|
+
type: 'text',
|
|
33
|
+
name: 'description',
|
|
34
|
+
message: 'description',
|
|
35
|
+
initial: ''
|
|
36
|
+
}, {
|
|
37
|
+
type: 'text',
|
|
38
|
+
name: 'license',
|
|
39
|
+
message: 'license',
|
|
40
|
+
initial: 'MIT'
|
|
41
|
+
}, {
|
|
42
|
+
type: 'text',
|
|
43
|
+
name: 'author',
|
|
44
|
+
message: 'author',
|
|
45
|
+
initial: userName() ?? ''
|
|
46
|
+
}], { onCancel });
|
|
29
47
|
if (cancelled) {
|
|
30
48
|
process.exit(-1);
|
|
31
49
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
const gitInfo = {
|
|
51
|
+
homepage: '',
|
|
52
|
+
repository: undefined,
|
|
53
|
+
bugs: undefined
|
|
35
54
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
await emitter.clone(dir);
|
|
49
|
-
const basePackageName = (packageName && path.basename(packageName)) || path.basename(process.cwd());
|
|
50
|
-
if (chooseAction.action === 'root') {
|
|
51
|
-
const response = await prompts([{
|
|
52
|
-
type: 'text',
|
|
53
|
-
name: 'name',
|
|
54
|
-
message: 'package name',
|
|
55
|
-
initial: basePackageName
|
|
56
|
-
}, {
|
|
57
|
-
type: 'text',
|
|
58
|
-
name: 'scope',
|
|
59
|
-
message: 'scope (without @ or empty)'
|
|
60
|
-
}, {
|
|
61
|
-
type: 'text',
|
|
62
|
-
name: 'description',
|
|
63
|
-
message: 'description',
|
|
64
|
-
initial: ''
|
|
65
|
-
}], { onCancel });
|
|
66
|
-
if (cancelled) {
|
|
67
|
-
process.exit(-1);
|
|
55
|
+
try {
|
|
56
|
+
const gitCfg = await gitConfig();
|
|
57
|
+
if (gitCfg) {
|
|
58
|
+
const url = gitCfg['remote "origin"'].url;
|
|
59
|
+
gitInfo.homepage = url.replace('.git', `/blob/main/${packageName}/README.md`);
|
|
60
|
+
gitInfo.repository = {
|
|
61
|
+
type: 'git',
|
|
62
|
+
url: `git+${url}`
|
|
63
|
+
};
|
|
64
|
+
gitInfo.bugs = {
|
|
65
|
+
url: url.replace('.git', '/issues')
|
|
66
|
+
};
|
|
68
67
|
}
|
|
69
|
-
const fileName = path.join(dir, '.github/workflows/main.yml');
|
|
70
|
-
let actionsTemplate = (await fs.readFile(fileName)).toString();
|
|
71
|
-
actionsTemplate = actionsTemplate.replace('scope: # @echo scope', response.scope ? `scope: '@${response.scope}'` : '');
|
|
72
|
-
await fs.writeFile(fileName, actionsTemplate);
|
|
73
|
-
const readmeFileName = path.join(dir, 'README.md');
|
|
74
|
-
const readme = `# ${response.name}\n${response.description}\n\n## Packages`;
|
|
75
|
-
await fs.writeFile(readmeFileName, readme);
|
|
76
68
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
type: 'text',
|
|
80
|
-
name: 'name',
|
|
81
|
-
message: 'package name',
|
|
82
|
-
initial: basePackageName
|
|
83
|
-
}, {
|
|
84
|
-
type: 'text',
|
|
85
|
-
name: 'version',
|
|
86
|
-
message: 'version',
|
|
87
|
-
initial: '1.0.0'
|
|
88
|
-
}, {
|
|
89
|
-
type: 'text',
|
|
90
|
-
name: 'description',
|
|
91
|
-
message: 'description',
|
|
92
|
-
initial: ''
|
|
93
|
-
}, {
|
|
94
|
-
type: 'text',
|
|
95
|
-
name: 'license',
|
|
96
|
-
message: 'license',
|
|
97
|
-
initial: 'MIT'
|
|
98
|
-
}, {
|
|
99
|
-
type: 'text',
|
|
100
|
-
name: 'author',
|
|
101
|
-
message: 'author',
|
|
102
|
-
initial: userName() ?? ''
|
|
103
|
-
}], { onCancel });
|
|
104
|
-
if (cancelled) {
|
|
105
|
-
process.exit(-1);
|
|
106
|
-
}
|
|
107
|
-
const gitInfo = {
|
|
108
|
-
homepage: '',
|
|
109
|
-
repository: undefined,
|
|
110
|
-
bugs: undefined
|
|
111
|
-
};
|
|
112
|
-
try {
|
|
113
|
-
const gitCfg = await gitConfig();
|
|
114
|
-
if (gitCfg) {
|
|
115
|
-
const url = gitCfg['remote "origin"'].url;
|
|
116
|
-
gitInfo.homepage = url.replace('.git', `/blob/main/${basePackageName}/README.md`);
|
|
117
|
-
gitInfo.repository = {
|
|
118
|
-
type: 'git',
|
|
119
|
-
url: `git+${url}`
|
|
120
|
-
};
|
|
121
|
-
gitInfo.bugs = {
|
|
122
|
-
url: url.replace('.git', '/issues')
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch (e) {
|
|
127
|
-
/* ignore */
|
|
128
|
-
}
|
|
129
|
-
const pkg = await readPackage(dir);
|
|
130
|
-
Object.assign(pkg.pkg, response, gitInfo);
|
|
131
|
-
pkg.readme = `# ${response.name}`;
|
|
132
|
-
await writePackage(dir, pkg);
|
|
133
|
-
rootPkg.pkg.workspaces ??= [];
|
|
134
|
-
rootPkg.pkg.workspaces.push(basePackageName);
|
|
135
|
-
rootPkg.readme += `\n- [${basePackageName}](./${basePackageName}/README.md)`;
|
|
136
|
-
await writePackage(path.resolve(dir, '..'), rootPkg);
|
|
69
|
+
catch (e) {
|
|
70
|
+
/* ignore */
|
|
137
71
|
}
|
|
72
|
+
const pkg = await readPackage(targetDir);
|
|
73
|
+
Object.assign(pkg.pkg, response, gitInfo);
|
|
74
|
+
pkg.readme = `# ${response.name}`;
|
|
75
|
+
await writePackage(targetDir, pkg);
|
|
138
76
|
function onCancel() {
|
|
139
77
|
cancelled = true;
|
|
140
78
|
}
|
|
@@ -151,16 +89,18 @@ async function readPackage(dir) {
|
|
|
151
89
|
readme: readmeFile.toString()
|
|
152
90
|
};
|
|
153
91
|
}
|
|
154
|
-
catch (e) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
92
|
+
catch (e) { /**/ }
|
|
93
|
+
return {
|
|
94
|
+
pkg: {},
|
|
95
|
+
readme: ''
|
|
96
|
+
};
|
|
158
97
|
}
|
|
159
98
|
async function writePackage(dir, pkg) {
|
|
160
99
|
const packageFileName = path.resolve(dir, 'package.json');
|
|
161
100
|
const readmeFileName = path.resolve(dir, 'README.md');
|
|
162
101
|
try {
|
|
163
|
-
await fs.
|
|
102
|
+
await fs.mkdir(dir, { recursive: true });
|
|
103
|
+
await fs.writeFile(packageFileName, JSON.stringify(pkg.pkg, null, 2), {});
|
|
164
104
|
await fs.writeFile(readmeFileName, pkg.readme);
|
|
165
105
|
}
|
|
166
106
|
catch (e) {
|
package/dist/index.mjs
CHANGED
|
@@ -4,134 +4,72 @@ import fs from 'fs/promises';
|
|
|
4
4
|
import userName from 'git-user-name';
|
|
5
5
|
import gitConfig from 'parse-git-config';
|
|
6
6
|
import minimist from 'minimist';
|
|
7
|
-
import degit from 'degit';
|
|
8
7
|
|
|
9
8
|
async function execute() {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
// report version
|
|
10
|
+
{
|
|
11
|
+
const createPkgBldPackage = await readPackage(path.resolve(__dirname, '..'));
|
|
12
|
+
console.log('create-pkgbld ' + createPkgBldPackage.pkg.version);
|
|
13
|
+
}
|
|
12
14
|
const parsedArgs = minimist(process.argv.slice(2));
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
+
const targetDir = path.join(process.cwd(), parsedArgs._[0] ?? '.');
|
|
16
|
+
const packageName = path.basename(targetDir);
|
|
15
17
|
let cancelled = false;
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
const response = await prompts([{
|
|
19
|
+
type: 'text',
|
|
20
|
+
name: 'name',
|
|
21
|
+
message: 'package name',
|
|
22
|
+
initial: packageName
|
|
23
|
+
}, {
|
|
24
|
+
type: 'text',
|
|
25
|
+
name: 'version',
|
|
26
|
+
message: 'version',
|
|
27
|
+
initial: '0.0.1'
|
|
28
|
+
}, {
|
|
29
|
+
type: 'text',
|
|
30
|
+
name: 'description',
|
|
31
|
+
message: 'description',
|
|
32
|
+
initial: ''
|
|
33
|
+
}, {
|
|
34
|
+
type: 'text',
|
|
35
|
+
name: 'license',
|
|
36
|
+
message: 'license',
|
|
37
|
+
initial: 'MIT'
|
|
38
|
+
}, {
|
|
39
|
+
type: 'text',
|
|
40
|
+
name: 'author',
|
|
41
|
+
message: 'author',
|
|
42
|
+
initial: userName() ?? ''
|
|
43
|
+
}], { onCancel });
|
|
26
44
|
if (cancelled) {
|
|
27
45
|
process.exit(-1);
|
|
28
46
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
47
|
+
const gitInfo = {
|
|
48
|
+
homepage: '',
|
|
49
|
+
repository: undefined,
|
|
50
|
+
bugs: undefined
|
|
32
51
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
await emitter.clone(dir);
|
|
46
|
-
const basePackageName = (packageName && path.basename(packageName)) || path.basename(process.cwd());
|
|
47
|
-
if (chooseAction.action === 'root') {
|
|
48
|
-
const response = await prompts([{
|
|
49
|
-
type: 'text',
|
|
50
|
-
name: 'name',
|
|
51
|
-
message: 'package name',
|
|
52
|
-
initial: basePackageName
|
|
53
|
-
}, {
|
|
54
|
-
type: 'text',
|
|
55
|
-
name: 'scope',
|
|
56
|
-
message: 'scope (without @ or empty)'
|
|
57
|
-
}, {
|
|
58
|
-
type: 'text',
|
|
59
|
-
name: 'description',
|
|
60
|
-
message: 'description',
|
|
61
|
-
initial: ''
|
|
62
|
-
}], { onCancel });
|
|
63
|
-
if (cancelled) {
|
|
64
|
-
process.exit(-1);
|
|
52
|
+
try {
|
|
53
|
+
const gitCfg = await gitConfig();
|
|
54
|
+
if (gitCfg) {
|
|
55
|
+
const url = gitCfg['remote "origin"'].url;
|
|
56
|
+
gitInfo.homepage = url.replace('.git', `/blob/main/${packageName}/README.md`);
|
|
57
|
+
gitInfo.repository = {
|
|
58
|
+
type: 'git',
|
|
59
|
+
url: `git+${url}`
|
|
60
|
+
};
|
|
61
|
+
gitInfo.bugs = {
|
|
62
|
+
url: url.replace('.git', '/issues')
|
|
63
|
+
};
|
|
65
64
|
}
|
|
66
|
-
const fileName = path.join(dir, '.github/workflows/main.yml');
|
|
67
|
-
let actionsTemplate = (await fs.readFile(fileName)).toString();
|
|
68
|
-
actionsTemplate = actionsTemplate.replace('scope: # @echo scope', response.scope ? `scope: '@${response.scope}'` : '');
|
|
69
|
-
await fs.writeFile(fileName, actionsTemplate);
|
|
70
|
-
const readmeFileName = path.join(dir, 'README.md');
|
|
71
|
-
const readme = `# ${response.name}\n${response.description}\n\n## Packages`;
|
|
72
|
-
await fs.writeFile(readmeFileName, readme);
|
|
73
65
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
type: 'text',
|
|
77
|
-
name: 'name',
|
|
78
|
-
message: 'package name',
|
|
79
|
-
initial: basePackageName
|
|
80
|
-
}, {
|
|
81
|
-
type: 'text',
|
|
82
|
-
name: 'version',
|
|
83
|
-
message: 'version',
|
|
84
|
-
initial: '1.0.0'
|
|
85
|
-
}, {
|
|
86
|
-
type: 'text',
|
|
87
|
-
name: 'description',
|
|
88
|
-
message: 'description',
|
|
89
|
-
initial: ''
|
|
90
|
-
}, {
|
|
91
|
-
type: 'text',
|
|
92
|
-
name: 'license',
|
|
93
|
-
message: 'license',
|
|
94
|
-
initial: 'MIT'
|
|
95
|
-
}, {
|
|
96
|
-
type: 'text',
|
|
97
|
-
name: 'author',
|
|
98
|
-
message: 'author',
|
|
99
|
-
initial: userName() ?? ''
|
|
100
|
-
}], { onCancel });
|
|
101
|
-
if (cancelled) {
|
|
102
|
-
process.exit(-1);
|
|
103
|
-
}
|
|
104
|
-
const gitInfo = {
|
|
105
|
-
homepage: '',
|
|
106
|
-
repository: undefined,
|
|
107
|
-
bugs: undefined
|
|
108
|
-
};
|
|
109
|
-
try {
|
|
110
|
-
const gitCfg = await gitConfig();
|
|
111
|
-
if (gitCfg) {
|
|
112
|
-
const url = gitCfg['remote "origin"'].url;
|
|
113
|
-
gitInfo.homepage = url.replace('.git', `/blob/main/${basePackageName}/README.md`);
|
|
114
|
-
gitInfo.repository = {
|
|
115
|
-
type: 'git',
|
|
116
|
-
url: `git+${url}`
|
|
117
|
-
};
|
|
118
|
-
gitInfo.bugs = {
|
|
119
|
-
url: url.replace('.git', '/issues')
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
catch (e) {
|
|
124
|
-
/* ignore */
|
|
125
|
-
}
|
|
126
|
-
const pkg = await readPackage(dir);
|
|
127
|
-
Object.assign(pkg.pkg, response, gitInfo);
|
|
128
|
-
pkg.readme = `# ${response.name}`;
|
|
129
|
-
await writePackage(dir, pkg);
|
|
130
|
-
rootPkg.pkg.workspaces ??= [];
|
|
131
|
-
rootPkg.pkg.workspaces.push(basePackageName);
|
|
132
|
-
rootPkg.readme += `\n- [${basePackageName}](./${basePackageName}/README.md)`;
|
|
133
|
-
await writePackage(path.resolve(dir, '..'), rootPkg);
|
|
66
|
+
catch (e) {
|
|
67
|
+
/* ignore */
|
|
134
68
|
}
|
|
69
|
+
const pkg = await readPackage(targetDir);
|
|
70
|
+
Object.assign(pkg.pkg, response, gitInfo);
|
|
71
|
+
pkg.readme = `# ${response.name}`;
|
|
72
|
+
await writePackage(targetDir, pkg);
|
|
135
73
|
function onCancel() {
|
|
136
74
|
cancelled = true;
|
|
137
75
|
}
|
|
@@ -148,16 +86,18 @@ async function readPackage(dir) {
|
|
|
148
86
|
readme: readmeFile.toString()
|
|
149
87
|
};
|
|
150
88
|
}
|
|
151
|
-
catch (e) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
89
|
+
catch (e) { /**/ }
|
|
90
|
+
return {
|
|
91
|
+
pkg: {},
|
|
92
|
+
readme: ''
|
|
93
|
+
};
|
|
155
94
|
}
|
|
156
95
|
async function writePackage(dir, pkg) {
|
|
157
96
|
const packageFileName = path.resolve(dir, 'package.json');
|
|
158
97
|
const readmeFileName = path.resolve(dir, 'README.md');
|
|
159
98
|
try {
|
|
160
|
-
await fs.
|
|
99
|
+
await fs.mkdir(dir, { recursive: true });
|
|
100
|
+
await fs.writeFile(packageFileName, JSON.stringify(pkg.pkg, null, 2), {});
|
|
161
101
|
await fs.writeFile(readmeFileName, pkg.readme);
|
|
162
102
|
}
|
|
163
103
|
catch (e) {
|
package/package.json
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.2.0",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "create-pkgbld",
|
|
5
|
-
"author":
|
|
6
|
-
"name": "Konstantin Shutkin"
|
|
7
|
-
},
|
|
8
|
-
"funding": "https://www.donationalerts.com/r/excitingcode",
|
|
5
|
+
"author": "Konstantin Shutkin",
|
|
9
6
|
"bin": "./dist/index.cjs",
|
|
10
7
|
"exports": {
|
|
11
8
|
".": {
|
|
@@ -37,15 +34,13 @@
|
|
|
37
34
|
"init"
|
|
38
35
|
],
|
|
39
36
|
"devDependencies": {
|
|
40
|
-
"@types/degit": "2.8.3",
|
|
41
37
|
"@types/git-user-name": "2.0.1",
|
|
42
38
|
"@types/parse-git-config": "3.0.1",
|
|
43
39
|
"@types/prompts": "2.4.4",
|
|
44
40
|
"@types/minimist": "1.2.2",
|
|
45
|
-
"pkgbld": "1.16.
|
|
41
|
+
"pkgbld": "1.16.6"
|
|
46
42
|
},
|
|
47
43
|
"dependencies": {
|
|
48
|
-
"degit": "2.8.4",
|
|
49
44
|
"git-user-name": "2.0.0",
|
|
50
45
|
"minimist": "1.2.8",
|
|
51
46
|
"parse-git-config": "3.0.0",
|