sinto 1.4.0 → 1.5.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/gentest/generate.js +10 -53
- package/gents/gents.js +36 -0
- package/gents/tsconfigContent.js +14 -0
- package/package.json +1 -1
- package/sin.js +12 -3
- package/tools/dep.js +77 -0
- package/artisan/artisan.js +0 -5
- package/cli.js +0 -7
package/gentest/generate.js
CHANGED
|
@@ -3,18 +3,19 @@ const puppeteerTestContent = require('./testPupContent');
|
|
|
3
3
|
const jsonfile = require('jsonfile');
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const { exec } = require('child_process');
|
|
6
|
+
const { addDevDep } = require('../tools/dep.js');
|
|
6
7
|
|
|
7
|
-
const createPuppeteerTest = () => {
|
|
8
|
+
const createPuppeteerTest = async () => {
|
|
8
9
|
const dir = process.cwd();
|
|
9
10
|
createDirectory(`${dir}/test`);
|
|
10
11
|
createFile(`${dir}/test/apptest.js`, puppeteerTestContent);
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
await writeTestScriptInPackageJson();
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
async function
|
|
16
|
-
const
|
|
17
|
-
const filePath =
|
|
16
|
+
async function writeTestScriptInPackageJson() {
|
|
17
|
+
const dir = process.cwd();
|
|
18
|
+
const filePath = dir + '/package.json'
|
|
18
19
|
jsonfile.readFile(filePath, async (err, obj) => {
|
|
19
20
|
if(err) {
|
|
20
21
|
console.error('Error! Failed to read package.json file.', err);
|
|
@@ -34,54 +35,10 @@ async function writeTestScript() {
|
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
async
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
reject(`Error! Retrieving the version of package named ${packageName} failed: ${stderr}`);
|
|
42
|
-
} else {
|
|
43
|
-
const version = stdout.trim();
|
|
44
|
-
resolve({ [packageName]: `^${version}` });
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async function writePuppeteerDependencies(packageNames) {
|
|
51
|
-
const currentDirectory = process.cwd();
|
|
52
|
-
const filePath = currentDirectory + '/package.json';
|
|
53
|
-
|
|
54
|
-
jsonfile.readFile(filePath, async (err, obj) => {
|
|
55
|
-
if (err) {
|
|
56
|
-
console.error('Error! Failed to read package.json file:', err);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
try {
|
|
61
|
-
obj.dependencies = obj.dependencies || {};
|
|
62
|
-
|
|
63
|
-
for(const packageName of packageNames) {
|
|
64
|
-
try {
|
|
65
|
-
const newDependency = await addDependency(packageName);
|
|
66
|
-
Object.assign(obj.devDependencies, newDependency);
|
|
67
|
-
}catch(error) {
|
|
68
|
-
console.error(error);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
jsonfile.writeFile(filePath, obj, { spaces: 2 }, (err) => {
|
|
74
|
-
if (err) {
|
|
75
|
-
console.error('Error! Failed to write package.json:', err);
|
|
76
|
-
} else {
|
|
77
|
-
console.log(`Added new depencies`);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
} catch (error) {
|
|
81
|
-
console.error(error);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
|
|
38
|
+
const writePuppeteerDependencies = async (packageNames) => {
|
|
39
|
+
const dir = process.cwd();
|
|
40
|
+
const filePath = dir + '/package.json';
|
|
41
|
+
await addDevDep(filePath, packageNames);
|
|
85
42
|
}
|
|
86
43
|
|
|
87
44
|
module.exports.createPuppeteerTest = createPuppeteerTest;
|
package/gents/gents.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const tsconfigContent = require('./tsconfigContent');
|
|
2
|
+
const { createFile } = require('../tools/tools.js');
|
|
3
|
+
const jsonfile = require('jsonfile');
|
|
4
|
+
const { addDevDep } = require('../tools/dep.js');
|
|
5
|
+
|
|
6
|
+
const supplementTypescript = () => {
|
|
7
|
+
writeConfigFile();
|
|
8
|
+
showMsg();
|
|
9
|
+
addDependencies();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const writeConfigFile = () => {
|
|
13
|
+
const dir = process.cwd();
|
|
14
|
+
const path = `${dir}/tsconfig.json`;
|
|
15
|
+
jsonfile.writeFileSync(path, tsconfigContent, { spaces: 2 });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const showMsg = () => {
|
|
19
|
+
console.log(`
|
|
20
|
+
Proposal:
|
|
21
|
+
In the tsconfig.json file, leave the module value
|
|
22
|
+
at commonjs for a NodeJS project. In the case of
|
|
23
|
+
an ES project, rewrite it to, for example, ES6.
|
|
24
|
+
|
|
25
|
+
Install dependencies:
|
|
26
|
+
pnpm install
|
|
27
|
+
`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const addDependencies = () => {
|
|
31
|
+
const dir = process.cwd();
|
|
32
|
+
const path = `${dir}/package.json`;
|
|
33
|
+
addDevDep(path, ['typescript']);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
module.exports.supplementTypescript = supplementTypescript;
|
package/package.json
CHANGED
package/sin.js
CHANGED
|
@@ -7,14 +7,15 @@ const { build } = require('./build/build');
|
|
|
7
7
|
const { rmno } = require('./rmno/rmno');
|
|
8
8
|
const { createApi } = require('./haiserver/apigen');
|
|
9
9
|
const { createWebpack } = require('./webpack/generate');
|
|
10
|
-
const { createPuppeteerTest } = require('./gentest/generate')
|
|
10
|
+
const { createPuppeteerTest } = require('./gentest/generate');
|
|
11
|
+
const { supplementTypescript } = require('./gents/gents');
|
|
11
12
|
|
|
12
13
|
const program = new Command();
|
|
13
14
|
|
|
14
15
|
program
|
|
15
16
|
.name('sin')
|
|
16
17
|
.description('Project handler')
|
|
17
|
-
.version('1.
|
|
18
|
+
.version('1.5.0');
|
|
18
19
|
|
|
19
20
|
program
|
|
20
21
|
.command('init')
|
|
@@ -62,8 +63,16 @@ program
|
|
|
62
63
|
program
|
|
63
64
|
.command('pup')
|
|
64
65
|
.description('Puppeteer test')
|
|
66
|
+
.action(async () => {
|
|
67
|
+
await createPuppeteerTest();
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
program
|
|
71
|
+
.command('ts')
|
|
72
|
+
.description('Supplement with TypeScript')
|
|
65
73
|
.action(() => {
|
|
66
|
-
|
|
74
|
+
supplementTypescript();
|
|
67
75
|
})
|
|
68
76
|
|
|
77
|
+
|
|
69
78
|
program.parse();
|
package/tools/dep.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const {debug} = require('../config.json');
|
|
2
|
+
const jsonfile = require('jsonfile');
|
|
3
|
+
const util = require('util');
|
|
4
|
+
const exec = util.promisify(require('child_process').exec);
|
|
5
|
+
|
|
6
|
+
const addDep = async (filePath, packageNames) => {
|
|
7
|
+
await writeDependencies(filePath, packageNames, false);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const addDevDep = async (filePath, packageNames) => {
|
|
11
|
+
await writeDependencies(filePath, packageNames, true);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async function writeDependencies(filePath, packageNames, devDep) {
|
|
15
|
+
var obj = await readJsonFile(filePath);
|
|
16
|
+
obj = await addDependencies(obj, packageNames, devDep);
|
|
17
|
+
await writeJsonFile(filePath, obj);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function readJsonFile(filePath) {
|
|
21
|
+
try {
|
|
22
|
+
const obj = await jsonfile.readFile(filePath);
|
|
23
|
+
if(debug) {
|
|
24
|
+
console.log(`Readed JSON file`);
|
|
25
|
+
}
|
|
26
|
+
return obj;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
console.error(`Error! Failed to read ${filePath}`);
|
|
29
|
+
console.error(err);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async function addDependencies(obj, packageNames, devDep) {
|
|
34
|
+
for(const packageName of packageNames) {
|
|
35
|
+
try {
|
|
36
|
+
const newDependency = await getPackageInfo(packageName);
|
|
37
|
+
if(devDep) {
|
|
38
|
+
await Object.assign(obj.devDependencies, newDependency);
|
|
39
|
+
}else {
|
|
40
|
+
await Object.assign(obj.dependencies, newDependency);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
} catch (err) {
|
|
44
|
+
console.error(`Error! Failed add packages!`);
|
|
45
|
+
console.error(err);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function getPackageInfo(packageName) {
|
|
52
|
+
try {
|
|
53
|
+
const { stdout, stderr } = await exec(`npm view ${packageName} version`);
|
|
54
|
+
if (stderr) {
|
|
55
|
+
throw new Error(`Error! Retrieving the version of package named ${packageName} failed: ${stderr}`);
|
|
56
|
+
}
|
|
57
|
+
const version = stdout.trim();
|
|
58
|
+
return { [packageName]: `^${version}` };
|
|
59
|
+
} catch (err) {
|
|
60
|
+
throw new Error(err.message);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async function writeJsonFile(path, obj) {
|
|
65
|
+
try {
|
|
66
|
+
await jsonfile.writeFile(path, obj, { spaces: 2});
|
|
67
|
+
if(debug) {
|
|
68
|
+
console.log(`Added new depencies`);
|
|
69
|
+
}
|
|
70
|
+
} catch (err) {
|
|
71
|
+
console.error('Error! Failed to write package.json:');
|
|
72
|
+
console.error(err);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
module.exports.addDep = addDep;
|
|
77
|
+
module.exports.addDevDep = addDevDep;
|
package/artisan/artisan.js
DELETED