1
1
/* eslint-disable */
2
2
3
- const fs = require ( 'fs' ) ;
4
- const path = require ( 'path' ) ;
3
+ const { mkdirSync, writeFileSync } = require ( 'node:fs' ) ;
4
+ const { resolve } = require ( 'node:path' ) ;
5
+ const { exit } = require ( 'node:process' ) ;
5
6
6
- const rulesDir = path . resolve ( __dirname , '../src/rules' ) ;
7
+ const rulesDir = resolve ( __dirname , '../src/rules' ) ;
7
8
8
9
const ruleNameInput = process . argv [ 2 ] ;
9
10
if ( ! ruleNameInput ) {
10
11
console . warn ( 'No rule name provided' ) ;
11
- return ;
12
+ exit ( 1 ) ;
12
13
}
13
14
14
15
let ruleProvider = 'eslint' ;
@@ -29,11 +30,8 @@ function normalizeRuleProvider(provider) {
29
30
30
31
console . log ( { ruleName, ruleProvider } ) ;
31
32
32
- const ruleProviderDir = path . resolve (
33
- rulesDir ,
34
- normalizeRuleProvider ( ruleProvider ) ,
35
- ) ;
36
- const rulePath = path . resolve ( ruleProviderDir , `${ ruleName } .d.ts` ) ;
33
+ const ruleProviderDir = resolve ( rulesDir , normalizeRuleProvider ( ruleProvider ) ) ;
34
+ const rulePath = resolve ( ruleProviderDir , `${ ruleName } .d.ts` ) ;
37
35
38
36
/**
39
37
* @param {string } name
@@ -107,6 +105,6 @@ export interface ${PascalCase}Rule {
107
105
` ;
108
106
}
109
107
110
- fs . mkdirSync ( ruleProviderDir , { mode : 0o755 , recursive : true } ) ;
108
+ mkdirSync ( ruleProviderDir , { mode : 0o755 , recursive : true } ) ;
111
109
112
- fs . writeFileSync ( rulePath , generateRuleFileContent ( ruleName , ruleProvider ) ) ;
110
+ writeFileSync ( rulePath , generateRuleFileContent ( ruleName , ruleProvider ) ) ;
0 commit comments