@@ -13,13 +13,16 @@ export async function typescriptStarter(
13
13
description,
14
14
domDefinitions,
15
15
email,
16
- install,
17
- projectName,
18
- nodeDefinitions,
19
- runner,
20
16
fullName,
21
17
githubUsername,
18
+ immutable,
19
+ install,
20
+ nodeDefinitions,
21
+ projectName,
22
22
repoURL,
23
+ runner,
24
+ strict,
25
+ vscode,
23
26
workingDirectory
24
27
} : TypescriptStarterOptions ,
25
28
tasks : Tasks
@@ -128,6 +131,7 @@ export async function typescriptStarter(
128
131
spinnerLicense . succeed ( ) ;
129
132
130
133
const spinnerDelete = ora ( 'Deleting unnecessary files' ) . start ( ) ;
134
+
131
135
await del ( [
132
136
join ( projectPath , 'examples' ) ,
133
137
join ( projectPath , 'CHANGELOG.md' ) ,
@@ -136,15 +140,25 @@ export async function typescriptStarter(
136
140
join ( projectPath , 'src' , 'cli' ) ,
137
141
join ( projectPath , 'src' , 'types' , 'cli.d.ts' )
138
142
] ) ;
143
+ if ( ! vscode ) {
144
+ del ( [ join ( projectPath , '.vscode' ) ] ) ;
145
+ }
139
146
spinnerDelete . succeed ( ) ;
140
147
141
- const spinnertsconfigModule = ora ( 'Removing traces of the CLI' ) . start ( ) ;
148
+ const spinnerTsconfigModule = ora ( 'Removing traces of the CLI' ) . start ( ) ;
142
149
await replace ( {
143
150
files : join ( projectPath , 'tsconfig.module.json' ) ,
144
151
from : / , \s + \/ \/ t y p e s c r i p t - s t a r t e r : [ \s \S ] * " s r c \/ c l i \/ \* \* \/ \* \. t s " / ,
145
152
to : ''
146
153
} ) ;
147
- spinnertsconfigModule . succeed ( ) ;
154
+ if ( vscode ) {
155
+ await replace ( {
156
+ files : join ( projectPath , '.vscode' , 'launch.json' ) ,
157
+ from : / , [ \s ] * \/ \/ - - - c u t h e r e - - - [ \s \S ] * ] / ,
158
+ to : ']'
159
+ } ) ;
160
+ }
161
+ spinnerTsconfigModule . succeed ( ) ;
148
162
149
163
const spinnerReadme = ora ( 'Creating README.md' ) . start ( ) ;
150
164
renameSync (
@@ -163,6 +177,16 @@ export async function typescriptStarter(
163
177
} ) ;
164
178
spinnerReadme . succeed ( ) ;
165
179
180
+ if ( ! strict ) {
181
+ const spinnerStrict = ora ( `tsconfig: disable strict` ) . start ( ) ;
182
+ await replace ( {
183
+ files : join ( projectPath , 'tsconfig.json' ) ,
184
+ from : '"strict": true' ,
185
+ to : '// "strict": true'
186
+ } ) ;
187
+ spinnerStrict . succeed ( ) ;
188
+ }
189
+
166
190
if ( ! domDefinitions ) {
167
191
const spinnerDom = ora ( `tsconfig: don't include "dom" lib` ) . start ( ) ;
168
192
await replace ( {
@@ -194,6 +218,16 @@ export async function typescriptStarter(
194
218
spinnerNode . succeed ( ) ;
195
219
}
196
220
221
+ if ( ! immutable ) {
222
+ const spinnerTslint = ora ( `tslint: disable tslint-immutable` ) . start ( ) ;
223
+ await replace ( {
224
+ files : join ( projectPath , 'tslint.json' ) ,
225
+ from : / , [ \s ] * \/ \* t s l i n t - i m m u t a b l e r u l e s \* \/ [ \s \S ] * \/ \* e n d t s l i n t - i m m u t a b l e r u l e s \* \/ / ,
226
+ to : ''
227
+ } ) ;
228
+ spinnerTslint . succeed ( ) ;
229
+ }
230
+
197
231
if ( install ) {
198
232
await tasks . install ( runner , projectPath ) ;
199
233
}
0 commit comments