@t-0/provider-starter-ts 1.1.5 → 1.1.7
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/README.md +51 -160
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +72 -50
- package/dist/create.js.map +1 -1
- package/package.json +5 -4
- package/template/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,204 +1,95 @@
|
|
|
1
|
-
#
|
|
1
|
+
# T-0 Provider Starter -- TypeScript
|
|
2
2
|
|
|
3
|
-
CLI tool to
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
This CLI tool scaffolds a complete TypeScript project configured to integrate with the t-0 Network as a provider. It automatically generates secp256k1 cryptographic key pairs, sets up your development environment, and includes all necessary dependencies to get started immediately.
|
|
8
|
-
|
|
9
|
-
## Prerequisites
|
|
10
|
-
|
|
11
|
-
Before using this tool, ensure you have:
|
|
12
|
-
|
|
13
|
-
- **Node.js** >= 14.0.0
|
|
14
|
-
- **npm** >= 6.0.0
|
|
15
|
-
- **OpenSSL** (for cryptographic key generation)
|
|
3
|
+
CLI tool to scaffold a Node.js TypeScript provider project for the T-0 Network.
|
|
16
4
|
|
|
17
5
|
## Quick Start
|
|
18
6
|
|
|
19
|
-
### Using npx (Recommended)
|
|
20
|
-
|
|
21
|
-
Run the following command to create a new t-0 Network integration:
|
|
22
|
-
|
|
23
7
|
```bash
|
|
24
8
|
npx @t-0/provider-starter-ts
|
|
25
9
|
```
|
|
26
10
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm install -g @t-0/provider-starter-ts
|
|
31
|
-
provider-starter-ts
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## What It Does
|
|
35
|
-
|
|
36
|
-
When you run the CLI tool, it performs the following steps automatically:
|
|
37
|
-
|
|
38
|
-
1. **Interactive Prompt** - Asks for your project name
|
|
39
|
-
2. **Project Directory** - Creates a new directory with your project name
|
|
40
|
-
3. **Template Setup** - Copies pre-configured TypeScript project structure
|
|
41
|
-
4. **Key Generation** - Generates a secp256k1 cryptographic key pair using OpenSSL
|
|
42
|
-
5. **Environment Configuration** - Creates `.env` file with:
|
|
43
|
-
- Generated private key (`PROVIDER_PRIVATE_KEY`)
|
|
44
|
-
- Generated public key (as comment for reference)
|
|
45
|
-
- t-0 Network public key (`NETWORK_PUBLIC_KEY`)
|
|
46
|
-
- Server configuration (`PORT`, `NODE_ENV`)
|
|
47
|
-
- Optional quote publishing interval
|
|
48
|
-
6. **Git Initialization** - Initializes git repository with `.gitignore`
|
|
49
|
-
7. **Dependency Installation** - Runs `npm install` to install all dependencies
|
|
11
|
+
The CLI will prompt for a project name, then create a ready-to-run project with a secp256k1 keypair (via OpenSSL), environment config, provider service stubs, and a Dockerfile.
|
|
50
12
|
|
|
51
13
|
## Generated Project Structure
|
|
52
14
|
|
|
53
|
-
After running the CLI, your new project will have the following structure:
|
|
54
|
-
|
|
55
15
|
```
|
|
56
16
|
your-project-name/
|
|
57
17
|
├── src/
|
|
58
|
-
│ ├── index.ts #
|
|
18
|
+
│ ├── index.ts # Entry point
|
|
59
19
|
│ ├── service.ts # Provider service implementation
|
|
60
20
|
│ ├── publish_quotes.ts # Quote publishing logic
|
|
61
21
|
│ ├── get_quote.ts # Quote retrieval logic
|
|
62
22
|
│ ├── submit_payment.ts # Payment submission logic
|
|
63
23
|
│ └── lib.ts # Utility functions
|
|
24
|
+
├── Dockerfile # Docker configuration
|
|
64
25
|
├── .env # Environment variables (with generated keys)
|
|
65
26
|
├── .env.example # Example environment file
|
|
66
|
-
├── .eslintrc.json
|
|
67
|
-
├── .gitignore
|
|
68
|
-
├── package.json
|
|
69
|
-
└── tsconfig.json
|
|
27
|
+
├── .eslintrc.json # ESLint configuration
|
|
28
|
+
├── .gitignore # Git ignore rules
|
|
29
|
+
├── package.json # Project dependencies
|
|
30
|
+
└── tsconfig.json # TypeScript configuration
|
|
70
31
|
```
|
|
71
32
|
|
|
72
|
-
##
|
|
73
|
-
|
|
74
|
-
The generated `.env` file includes:
|
|
75
|
-
|
|
76
|
-
| Variable | Description |
|
|
77
|
-
|----------|-------------|
|
|
78
|
-
| `NETWORK_PUBLIC_KEY` | t-0 Network's public key (pre-configured) |
|
|
79
|
-
| `PROVIDER_PRIVATE_KEY` | Your generated private key (keep secret!) |
|
|
80
|
-
| `PORT` | Server port (default: 3000) |
|
|
81
|
-
| `NODE_ENV` | Environment mode (default: development) |
|
|
82
|
-
| `TZERO_ENDPOINT` | t-0 Network API endpoint (default: sandbox) |
|
|
83
|
-
| `QUOTE_PUBLISHING_INTERVAL` | Quote publishing frequency in ms (optional) |
|
|
84
|
-
|
|
85
|
-
## Available Scripts
|
|
86
|
-
|
|
87
|
-
In your generated project, you can run:
|
|
88
|
-
|
|
89
|
-
### `npm run dev`
|
|
90
|
-
|
|
91
|
-
Runs the service in development mode using `ts-node`.
|
|
92
|
-
|
|
93
|
-
### `npm run build`
|
|
33
|
+
## Key Files to Modify
|
|
94
34
|
|
|
95
|
-
|
|
35
|
+
| File | Purpose |
|
|
36
|
+
|------|---------|
|
|
37
|
+
| `src/service.ts` | Implement your payment processing logic. Look for `TODO` comments. |
|
|
38
|
+
| `src/publish_quotes.ts` | Replace sample quotes with your FX rate source. |
|
|
96
39
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Runs the compiled production build from `dist/`.
|
|
100
|
-
|
|
101
|
-
### `npm run lint`
|
|
102
|
-
|
|
103
|
-
Lints TypeScript files in the `src/` directory using ESLint.
|
|
104
|
-
|
|
105
|
-
## Getting Started with Your Integration
|
|
106
|
-
|
|
107
|
-
After creating your project:
|
|
108
|
-
|
|
109
|
-
1. **Navigate to project directory:**
|
|
110
|
-
```bash
|
|
111
|
-
cd your-project-name
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
2. **Review the generated keys:**
|
|
115
|
-
- Open `.env` file
|
|
116
|
-
- Your private key is stored in `PROVIDER_PRIVATE_KEY`
|
|
117
|
-
- Your public key is shown as a comment (you'll need to share this)
|
|
118
|
-
|
|
119
|
-
3. **Share your public key with t-0 team:**
|
|
120
|
-
- Find your public key in the `.env` file (marked as "Step 1.2")
|
|
121
|
-
- Contact the t-0 team to register your provider
|
|
122
|
-
|
|
123
|
-
4. **Implement quote publishing:**
|
|
124
|
-
- Edit `src/publish_quotes.ts` to implement your quote publishing logic
|
|
125
|
-
- This determines how you provide exchange rate quotes to the network
|
|
40
|
+
## Environment Variables
|
|
126
41
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
42
|
+
| Variable | Required | Default | Description |
|
|
43
|
+
|----------|----------|---------|-------------|
|
|
44
|
+
| `PROVIDER_PRIVATE_KEY` | Yes | Auto-generated | Your secp256k1 private key (hex) |
|
|
45
|
+
| `NETWORK_PUBLIC_KEY` | Yes | Sandbox key | T-0 Network public key for signature verification |
|
|
46
|
+
| `TZERO_ENDPOINT` | No | `https://api-sandbox.t-0.network` | T-0 Network API endpoint |
|
|
47
|
+
| `PORT` | No | `3000` | Server port |
|
|
48
|
+
| `QUOTE_PUBLISHING_INTERVAL` | No | -- | Quote publishing frequency in milliseconds |
|
|
131
49
|
|
|
132
|
-
|
|
133
|
-
- Follow the TODO comments in `src/index.ts` for step-by-step guidance
|
|
134
|
-
- Test quote retrieval
|
|
135
|
-
- Test payment submission
|
|
136
|
-
- Verify payout endpoint
|
|
50
|
+
## Getting Started
|
|
137
51
|
|
|
52
|
+
### Phase 1: Quoting
|
|
138
53
|
|
|
139
|
-
|
|
54
|
+
1. Open `.env` and find your generated public key (marked as "Step 1.2"). Share it with the T-0 team to register your provider.
|
|
55
|
+
2. Implement your quote publishing logic in `src/publish_quotes.ts`.
|
|
56
|
+
3. Start the dev server (`npm run dev`) and verify quotes are published.
|
|
57
|
+
4. Confirm quote retrieval works by checking the output of `getQuote` in `src/index.ts`.
|
|
140
58
|
|
|
141
|
-
|
|
142
|
-
- **Automatic Key Generation** - Secure secp256k1 key pairs generated via OpenSSL
|
|
143
|
-
- **Pre-configured SDK** - t-0 Provider SDK integrated and ready to use
|
|
144
|
-
- **Development Ready** - Hot reload support with ts-node
|
|
145
|
-
- **Production Ready** - Optimized build configuration
|
|
146
|
-
- **Security First** - `.env` automatically excluded from git
|
|
147
|
-
- **Code Quality** - ESLint configured with TypeScript rules
|
|
59
|
+
### Phase 2: Payments
|
|
148
60
|
|
|
61
|
+
1. Implement `updatePayment` handler in `src/service.ts`.
|
|
62
|
+
2. Deploy your service and share the base URL with the T-0 team.
|
|
63
|
+
3. Implement `payOut` handler in `src/service.ts`.
|
|
64
|
+
4. Test payment submission by uncommenting the `submitPayment` call in `src/index.ts`.
|
|
65
|
+
5. Coordinate with the T-0 team to test end-to-end payment flows.
|
|
149
66
|
|
|
150
|
-
##
|
|
67
|
+
## Available Commands
|
|
151
68
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
69
|
+
```bash
|
|
70
|
+
npm run dev # Run in development mode with ts-node
|
|
71
|
+
npm run build # Compile TypeScript to dist/
|
|
72
|
+
npm start # Run compiled production build
|
|
73
|
+
npm run lint # Lint TypeScript source with ESLint
|
|
74
|
+
```
|
|
156
75
|
|
|
157
76
|
## Deployment
|
|
158
77
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
npm run build
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
2. **Set environment variables** on your hosting platform
|
|
78
|
+
```bash
|
|
79
|
+
docker build -t my-provider .
|
|
80
|
+
docker run -p 3000:3000 --env-file .env my-provider
|
|
81
|
+
```
|
|
167
82
|
|
|
168
|
-
|
|
83
|
+
## SDK Reference
|
|
169
84
|
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
npm start
|
|
173
|
-
```
|
|
85
|
+
For direct SDK usage (without the starter), see the [TypeScript SDK documentation](../sdk/README.md).
|
|
174
86
|
|
|
175
87
|
## Troubleshooting
|
|
176
88
|
|
|
177
|
-
|
|
178
|
-
The project directory name is already taken. Choose a different project name.
|
|
179
|
-
|
|
180
|
-
### "OpenSSL not found" Error
|
|
181
|
-
Install OpenSSL:
|
|
182
|
-
- **macOS:** `brew install openssl`
|
|
183
|
-
- **Ubuntu/Debian:** `sudo apt-get install openssl`
|
|
184
|
-
- **Windows:** Download from [openssl.org](https://www.openssl.org/)
|
|
89
|
+
**"Directory already exists"** -- Choose a different project name.
|
|
185
90
|
|
|
186
|
-
|
|
187
|
-
Ensure OpenSSL is installed and accessible in your PATH. Try running:
|
|
188
|
-
```bash
|
|
189
|
-
openssl version
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### npm install Fails
|
|
193
|
-
Check your Node.js and npm versions:
|
|
194
|
-
```bash
|
|
195
|
-
node --version # Should be >= 14
|
|
196
|
-
npm --version # Should be >= 6
|
|
197
|
-
```
|
|
91
|
+
**"OpenSSL not found"** -- Install OpenSSL (`brew install openssl` on macOS, `sudo apt-get install openssl` on Debian/Ubuntu).
|
|
198
92
|
|
|
199
|
-
|
|
93
|
+
**Key generation fails** -- Ensure OpenSSL is in your PATH: `openssl version`.
|
|
200
94
|
|
|
201
|
-
|
|
202
|
-
- Review the generated code comments and TODO markers
|
|
203
|
-
- Check the [t-0 Network documentation](https://t-0.network)
|
|
204
|
-
- Contact the t-0 team for integration support
|
|
95
|
+
**npm install fails** -- Check Node.js >= 18 and npm >= 8: `node --version && npm --version`.
|
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.7",
|
|
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,13 +31,14 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"chalk": "^5.6.2",
|
|
34
|
-
"
|
|
34
|
+
"commander": "^13.1.0",
|
|
35
|
+
"fs-extra": "^11.3.4",
|
|
35
36
|
"inquirer": "^13.3.0"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@types/fs-extra": "^11.0.4",
|
|
39
|
-
"@types/inquirer": "^
|
|
40
|
+
"@types/inquirer": "^9.0.9",
|
|
40
41
|
"@types/node": "^25.4.0",
|
|
41
|
-
"typescript": "^5.3
|
|
42
|
+
"typescript": "^5.9.3"
|
|
42
43
|
}
|
|
43
44
|
}
|