@t-0/provider-starter-ts 1.1.6 ā 1.1.8
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/create.d.ts.map +1 -1
- package/dist/create.js +72 -50
- package/dist/create.js.map +1 -1
- package/package.json +2 -1
- package/template/package.json +1 -1
package/dist/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAwCA,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAiGrC;AAkCD,eAAe,MAAM,CAAC"}
|
package/dist/create.js
CHANGED
|
@@ -6,11 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const child_process_1 = require("child_process");
|
|
9
|
+
const commander_1 = require("commander");
|
|
9
10
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function validateProjectName(name) {
|
|
13
|
+
if (!/^[a-z0-9-_]+$/.test(name)) {
|
|
14
|
+
console.error(chalk_1.default.red('\nā Project name can only contain lowercase letters, numbers, hyphens and underscores'));
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
return name;
|
|
18
|
+
}
|
|
19
|
+
async function promptProjectName() {
|
|
14
20
|
const answers = await inquirer_1.default.prompt([
|
|
15
21
|
{
|
|
16
22
|
type: 'input',
|
|
@@ -26,28 +32,42 @@ async function create() {
|
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
]);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
35
|
+
return answers.projectName;
|
|
36
|
+
}
|
|
37
|
+
async function create() {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
39
|
+
const packageJson = require('../package.json');
|
|
40
|
+
const program = new commander_1.Command()
|
|
41
|
+
.name('provider-starter-ts')
|
|
42
|
+
.description('Scaffold a Node.js t-0 Network integration service')
|
|
43
|
+
.version(packageJson.version)
|
|
44
|
+
.argument('[project-name]', 'Name for the new project')
|
|
45
|
+
.action(async (projectNameArg) => {
|
|
46
|
+
console.log(chalk_1.default.blue('\nš Create Your Service\n'));
|
|
47
|
+
const projectName = projectNameArg
|
|
48
|
+
? validateProjectName(projectNameArg)
|
|
49
|
+
: await promptProjectName();
|
|
50
|
+
const projectPath = path_1.default.join(process.cwd(), projectName);
|
|
51
|
+
// Check if directory exists
|
|
52
|
+
if (fs_extra_1.default.existsSync(projectPath)) {
|
|
53
|
+
console.log(chalk_1.default.red(`\nā Directory "${projectName}" already exists!`));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
console.log(chalk_1.default.green(`\n⨠Creating project in ${projectPath}...\n`));
|
|
57
|
+
try {
|
|
58
|
+
// Create project directory
|
|
59
|
+
fs_extra_1.default.mkdirSync(projectPath);
|
|
60
|
+
// Copy template files
|
|
61
|
+
const templatePath = path_1.default.join(__dirname, '../template');
|
|
62
|
+
fs_extra_1.default.copySync(templatePath, projectPath);
|
|
63
|
+
// Generate key pair
|
|
64
|
+
console.log(chalk_1.default.cyan('š Generating key pair...'));
|
|
65
|
+
const keys = generateKeyPair();
|
|
66
|
+
// Create .env file with keys
|
|
67
|
+
const envContent = `
|
|
48
68
|
NETWORK_PUBLIC_KEY=0x041b6acf3e830b593aaa992f2f1543dc8063197acfeecefd65135259327ef3166acaca83d62db19eb4fecb3d04e44094378839b8c13a2af26bf78fed56a4af935b
|
|
49
69
|
|
|
50
|
-
# Private Key (secp256k1)
|
|
70
|
+
# Private Key (secp256k1)
|
|
51
71
|
PROVIDER_PRIVATE_KEY=${keys.privateKey}
|
|
52
72
|
# TODO: Step 1.2 Share this Public Key with t-0 team
|
|
53
73
|
# ${keys.publicKey}
|
|
@@ -59,14 +79,14 @@ NODE_ENV=development
|
|
|
59
79
|
# QUOTE_PUBLISHING_INTERVAL=5000
|
|
60
80
|
|
|
61
81
|
`;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
fs_extra_1.default.writeFileSync(path_1.default.join(projectPath, '.env'), envContent);
|
|
83
|
+
// Update package.json with project name
|
|
84
|
+
const pkgJsonPath = path_1.default.join(projectPath, 'package.json');
|
|
85
|
+
let pkgJson = fs_extra_1.default.readFileSync(pkgJsonPath, 'utf8');
|
|
86
|
+
pkgJson = pkgJson.replace('{{PROJECT_NAME}}', projectName);
|
|
87
|
+
fs_extra_1.default.writeFileSync(pkgJsonPath, pkgJson);
|
|
88
|
+
// Create .gitignore
|
|
89
|
+
const gitignoreContent = `node_modules/
|
|
70
90
|
dist/
|
|
71
91
|
.env
|
|
72
92
|
.env.local
|
|
@@ -74,26 +94,28 @@ dist/
|
|
|
74
94
|
*.log
|
|
75
95
|
.DS_Store
|
|
76
96
|
`;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
90
|
-
console.error(chalk_1.default.red('\nā Error creating project:'), errorMessage);
|
|
91
|
-
// Cleanup on error
|
|
92
|
-
if (fs_extra_1.default.existsSync(projectPath)) {
|
|
93
|
-
//fs.removeSync(projectPath);
|
|
97
|
+
fs_extra_1.default.writeFileSync(path_1.default.join(projectPath, '.gitignore'), gitignoreContent);
|
|
98
|
+
// Git init
|
|
99
|
+
console.log(chalk_1.default.cyan('š¦ Initializing git repository...'));
|
|
100
|
+
(0, child_process_1.execSync)('git init', { cwd: projectPath, stdio: 'ignore' });
|
|
101
|
+
// npm install
|
|
102
|
+
console.log(chalk_1.default.cyan('š„ Installing dependencies...'));
|
|
103
|
+
(0, child_process_1.execSync)('npm install', { cwd: projectPath, stdio: 'inherit' });
|
|
104
|
+
console.log(chalk_1.default.green('\nā
Project created successfully!\n'));
|
|
105
|
+
console.log(chalk_1.default.white(` cd ${projectName}`));
|
|
106
|
+
console.log(chalk_1.default.white(` npm run dev\n`));
|
|
94
107
|
}
|
|
95
|
-
|
|
96
|
-
|
|
108
|
+
catch (error) {
|
|
109
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
110
|
+
console.error(chalk_1.default.red('\nā Error creating project:'), errorMessage);
|
|
111
|
+
// Cleanup on error
|
|
112
|
+
if (fs_extra_1.default.existsSync(projectPath)) {
|
|
113
|
+
fs_extra_1.default.removeSync(projectPath);
|
|
114
|
+
}
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
await program.parseAsync(process.argv);
|
|
97
119
|
}
|
|
98
120
|
function generateKeyPair() {
|
|
99
121
|
const tempDir = fs_extra_1.default.mkdtempSync('/tmp/keygen-');
|
package/dist/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,iDAAyC;AACzC,wDAAgC;AAChC,kDAA0B;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t-0/provider-starter-ts",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "CLI tool to scaffold a Node.js t-0 Network integration service",
|
|
5
5
|
"main": "dist/create.js",
|
|
6
6
|
"bin": {
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"chalk": "^5.6.2",
|
|
34
|
+
"commander": "^13.1.0",
|
|
34
35
|
"fs-extra": "^11.3.4",
|
|
35
36
|
"inquirer": "^13.3.0"
|
|
36
37
|
},
|