@flocoder93/base-project 0.0.0 → 0.0.3

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/API.md ADDED
@@ -0,0 +1,1385 @@
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
+
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
4
+
5
+ ### MyMonorepoProject <a name="MyMonorepoProject" id="@flocoder93/base-project.MyMonorepoProject"></a>
6
+
7
+ #### Initializers <a name="Initializers" id="@flocoder93/base-project.MyMonorepoProject.Initializer"></a>
8
+
9
+ ```typescript
10
+ import { MyMonorepoProject } from '@flocoder93/base-project'
11
+
12
+ new MyMonorepoProject()
13
+ ```
14
+
15
+ | **Name** | **Type** | **Description** |
16
+ | --- | --- | --- |
17
+
18
+ ---
19
+
20
+ #### Methods <a name="Methods" id="Methods"></a>
21
+
22
+ | **Name** | **Description** |
23
+ | --- | --- |
24
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.toString">toString</a></code> | Returns a string representation of this construct. |
25
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addExcludeFromCleanup">addExcludeFromCleanup</a></code> | Exclude the matching files from pre-synth cleanup. |
26
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addGitIgnore">addGitIgnore</a></code> | Adds a .gitignore pattern. |
27
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addPackageIgnore">addPackageIgnore</a></code> | Adds patterns to be ignored by npm. |
28
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addTask">addTask</a></code> | Adds a new task to this project. |
29
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addTip">addTip</a></code> | Prints a "tip" message during synthesis. |
30
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.annotateGenerated">annotateGenerated</a></code> | Marks the provided file(s) as being generated. |
31
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.postSynthesize">postSynthesize</a></code> | Called after all components are synthesized. |
32
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.preSynthesize">preSynthesize</a></code> | Called before all components are synthesized. |
33
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.removeTask">removeTask</a></code> | Removes a task from a project. |
34
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.runTaskCommand">runTaskCommand</a></code> | Returns the shell command to execute in order to run a task. |
35
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.synth">synth</a></code> | Synthesize all project files into `outdir`. |
36
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.tryFindFile">tryFindFile</a></code> | Finds a file at the specified relative path within this project and all its subprojects. |
37
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.tryFindJsonFile">tryFindJsonFile</a></code> | Finds a json file by name. |
38
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.tryFindObjectFile">tryFindObjectFile</a></code> | Finds an object file (like JsonFile, YamlFile, etc.) by name. |
39
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.tryRemoveFile">tryRemoveFile</a></code> | Finds a file at the specified relative path within this project and removes it. |
40
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addBins">addBins</a></code> | *No description.* |
41
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addBundledDeps">addBundledDeps</a></code> | Defines bundled dependencies. |
42
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addCompileCommand">addCompileCommand</a></code> | DEPRECATED. |
43
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addDeps">addDeps</a></code> | Defines normal dependencies. |
44
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addDevDeps">addDevDeps</a></code> | Defines development/test dependencies. |
45
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addFields">addFields</a></code> | Directly set fields in `package.json`. |
46
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addKeywords">addKeywords</a></code> | Adds keywords to package.json (deduplicated). |
47
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addPeerDeps">addPeerDeps</a></code> | Defines peer dependencies. |
48
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addScripts">addScripts</a></code> | Replaces the contents of multiple npm package.json scripts. |
49
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.addTestCommand">addTestCommand</a></code> | DEPRECATED. |
50
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.hasScript">hasScript</a></code> | Indicates if a script by the name name is defined. |
51
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.removeScript">removeScript</a></code> | Removes the npm script (always successful). |
52
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.renderWorkflowSetup">renderWorkflowSetup</a></code> | Returns the set of workflow steps which should be executed to bootstrap a workflow. |
53
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.setScript">setScript</a></code> | Replaces the contents of an npm package.json script. |
54
+
55
+ ---
56
+
57
+ ##### `toString` <a name="toString" id="@flocoder93/base-project.MyMonorepoProject.toString"></a>
58
+
59
+ ```typescript
60
+ public toString(): string
61
+ ```
62
+
63
+ Returns a string representation of this construct.
64
+
65
+ ##### `addExcludeFromCleanup` <a name="addExcludeFromCleanup" id="@flocoder93/base-project.MyMonorepoProject.addExcludeFromCleanup"></a>
66
+
67
+ ```typescript
68
+ public addExcludeFromCleanup(globs: ...string[]): void
69
+ ```
70
+
71
+ Exclude the matching files from pre-synth cleanup.
72
+
73
+ Can be used when, for example, some
74
+ source files include the projen marker and we don't want them to be erased during synth.
75
+
76
+ ###### `globs`<sup>Required</sup> <a name="globs" id="@flocoder93/base-project.MyMonorepoProject.addExcludeFromCleanup.parameter.globs"></a>
77
+
78
+ - *Type:* ...string[]
79
+
80
+ The glob patterns to match.
81
+
82
+ ---
83
+
84
+ ##### `addGitIgnore` <a name="addGitIgnore" id="@flocoder93/base-project.MyMonorepoProject.addGitIgnore"></a>
85
+
86
+ ```typescript
87
+ public addGitIgnore(pattern: string): void
88
+ ```
89
+
90
+ Adds a .gitignore pattern.
91
+
92
+ ###### `pattern`<sup>Required</sup> <a name="pattern" id="@flocoder93/base-project.MyMonorepoProject.addGitIgnore.parameter.pattern"></a>
93
+
94
+ - *Type:* string
95
+
96
+ The glob pattern to ignore.
97
+
98
+ ---
99
+
100
+ ##### `addPackageIgnore` <a name="addPackageIgnore" id="@flocoder93/base-project.MyMonorepoProject.addPackageIgnore"></a>
101
+
102
+ ```typescript
103
+ public addPackageIgnore(pattern: string): void
104
+ ```
105
+
106
+ Adds patterns to be ignored by npm.
107
+
108
+ ###### `pattern`<sup>Required</sup> <a name="pattern" id="@flocoder93/base-project.MyMonorepoProject.addPackageIgnore.parameter.pattern"></a>
109
+
110
+ - *Type:* string
111
+
112
+ The pattern to ignore.
113
+
114
+ ---
115
+
116
+ ##### `addTask` <a name="addTask" id="@flocoder93/base-project.MyMonorepoProject.addTask"></a>
117
+
118
+ ```typescript
119
+ public addTask(name: string, props?: TaskOptions): Task
120
+ ```
121
+
122
+ Adds a new task to this project.
123
+
124
+ This will fail if the project already has
125
+ a task with this name.
126
+
127
+ ###### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.addTask.parameter.name"></a>
128
+
129
+ - *Type:* string
130
+
131
+ The task name to add.
132
+
133
+ ---
134
+
135
+ ###### `props`<sup>Optional</sup> <a name="props" id="@flocoder93/base-project.MyMonorepoProject.addTask.parameter.props"></a>
136
+
137
+ - *Type:* projen.TaskOptions
138
+
139
+ Task properties.
140
+
141
+ ---
142
+
143
+ ##### ~~`addTip`~~ <a name="addTip" id="@flocoder93/base-project.MyMonorepoProject.addTip"></a>
144
+
145
+ ```typescript
146
+ public addTip(message: string): void
147
+ ```
148
+
149
+ Prints a "tip" message during synthesis.
150
+
151
+ ###### `message`<sup>Required</sup> <a name="message" id="@flocoder93/base-project.MyMonorepoProject.addTip.parameter.message"></a>
152
+
153
+ - *Type:* string
154
+
155
+ The message.
156
+
157
+ ---
158
+
159
+ ##### `annotateGenerated` <a name="annotateGenerated" id="@flocoder93/base-project.MyMonorepoProject.annotateGenerated"></a>
160
+
161
+ ```typescript
162
+ public annotateGenerated(glob: string): void
163
+ ```
164
+
165
+ Marks the provided file(s) as being generated.
166
+
167
+ This is achieved using the
168
+ github-linguist attributes. Generated files do not count against the
169
+ repository statistics and language breakdown.
170
+
171
+ > [https://github.com/github/linguist/blob/master/docs/overrides.md](https://github.com/github/linguist/blob/master/docs/overrides.md)
172
+
173
+ ###### `glob`<sup>Required</sup> <a name="glob" id="@flocoder93/base-project.MyMonorepoProject.annotateGenerated.parameter.glob"></a>
174
+
175
+ - *Type:* string
176
+
177
+ the glob pattern to match (could be a file path).
178
+
179
+ ---
180
+
181
+ ##### `postSynthesize` <a name="postSynthesize" id="@flocoder93/base-project.MyMonorepoProject.postSynthesize"></a>
182
+
183
+ ```typescript
184
+ public postSynthesize(): void
185
+ ```
186
+
187
+ Called after all components are synthesized.
188
+
189
+ Order is *not* guaranteed.
190
+
191
+ ##### `preSynthesize` <a name="preSynthesize" id="@flocoder93/base-project.MyMonorepoProject.preSynthesize"></a>
192
+
193
+ ```typescript
194
+ public preSynthesize(): void
195
+ ```
196
+
197
+ Called before all components are synthesized.
198
+
199
+ ##### `removeTask` <a name="removeTask" id="@flocoder93/base-project.MyMonorepoProject.removeTask"></a>
200
+
201
+ ```typescript
202
+ public removeTask(name: string): Task
203
+ ```
204
+
205
+ Removes a task from a project.
206
+
207
+ ###### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.removeTask.parameter.name"></a>
208
+
209
+ - *Type:* string
210
+
211
+ The name of the task to remove.
212
+
213
+ ---
214
+
215
+ ##### `runTaskCommand` <a name="runTaskCommand" id="@flocoder93/base-project.MyMonorepoProject.runTaskCommand"></a>
216
+
217
+ ```typescript
218
+ public runTaskCommand(task: Task): string
219
+ ```
220
+
221
+ Returns the shell command to execute in order to run a task.
222
+
223
+ This will
224
+ typically be `npx projen TASK`.
225
+
226
+ ###### `task`<sup>Required</sup> <a name="task" id="@flocoder93/base-project.MyMonorepoProject.runTaskCommand.parameter.task"></a>
227
+
228
+ - *Type:* projen.Task
229
+
230
+ The task for which the command is required.
231
+
232
+ ---
233
+
234
+ ##### `synth` <a name="synth" id="@flocoder93/base-project.MyMonorepoProject.synth"></a>
235
+
236
+ ```typescript
237
+ public synth(): void
238
+ ```
239
+
240
+ Synthesize all project files into `outdir`.
241
+
242
+ 1. Call "this.preSynthesize()"
243
+ 2. Delete all generated files
244
+ 3. Synthesize all subprojects
245
+ 4. Synthesize all components of this project
246
+ 5. Call "postSynthesize()" for all components of this project
247
+ 6. Call "this.postSynthesize()"
248
+
249
+ ##### `tryFindFile` <a name="tryFindFile" id="@flocoder93/base-project.MyMonorepoProject.tryFindFile"></a>
250
+
251
+ ```typescript
252
+ public tryFindFile(filePath: string): FileBase
253
+ ```
254
+
255
+ Finds a file at the specified relative path within this project and all its subprojects.
256
+
257
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@flocoder93/base-project.MyMonorepoProject.tryFindFile.parameter.filePath"></a>
258
+
259
+ - *Type:* string
260
+
261
+ The file path.
262
+
263
+ If this path is relative, it will be resolved
264
+ from the root of _this_ project.
265
+
266
+ ---
267
+
268
+ ##### ~~`tryFindJsonFile`~~ <a name="tryFindJsonFile" id="@flocoder93/base-project.MyMonorepoProject.tryFindJsonFile"></a>
269
+
270
+ ```typescript
271
+ public tryFindJsonFile(filePath: string): JsonFile
272
+ ```
273
+
274
+ Finds a json file by name.
275
+
276
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@flocoder93/base-project.MyMonorepoProject.tryFindJsonFile.parameter.filePath"></a>
277
+
278
+ - *Type:* string
279
+
280
+ The file path.
281
+
282
+ ---
283
+
284
+ ##### `tryFindObjectFile` <a name="tryFindObjectFile" id="@flocoder93/base-project.MyMonorepoProject.tryFindObjectFile"></a>
285
+
286
+ ```typescript
287
+ public tryFindObjectFile(filePath: string): ObjectFile
288
+ ```
289
+
290
+ Finds an object file (like JsonFile, YamlFile, etc.) by name.
291
+
292
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@flocoder93/base-project.MyMonorepoProject.tryFindObjectFile.parameter.filePath"></a>
293
+
294
+ - *Type:* string
295
+
296
+ The file path.
297
+
298
+ ---
299
+
300
+ ##### `tryRemoveFile` <a name="tryRemoveFile" id="@flocoder93/base-project.MyMonorepoProject.tryRemoveFile"></a>
301
+
302
+ ```typescript
303
+ public tryRemoveFile(filePath: string): FileBase
304
+ ```
305
+
306
+ Finds a file at the specified relative path within this project and removes it.
307
+
308
+ ###### `filePath`<sup>Required</sup> <a name="filePath" id="@flocoder93/base-project.MyMonorepoProject.tryRemoveFile.parameter.filePath"></a>
309
+
310
+ - *Type:* string
311
+
312
+ The file path.
313
+
314
+ If this path is relative, it will be
315
+ resolved from the root of _this_ project.
316
+
317
+ ---
318
+
319
+ ##### `addBins` <a name="addBins" id="@flocoder93/base-project.MyMonorepoProject.addBins"></a>
320
+
321
+ ```typescript
322
+ public addBins(bins: {[ key: string ]: string}): void
323
+ ```
324
+
325
+ ###### `bins`<sup>Required</sup> <a name="bins" id="@flocoder93/base-project.MyMonorepoProject.addBins.parameter.bins"></a>
326
+
327
+ - *Type:* {[ key: string ]: string}
328
+
329
+ ---
330
+
331
+ ##### `addBundledDeps` <a name="addBundledDeps" id="@flocoder93/base-project.MyMonorepoProject.addBundledDeps"></a>
332
+
333
+ ```typescript
334
+ public addBundledDeps(deps: ...string[]): void
335
+ ```
336
+
337
+ Defines bundled dependencies.
338
+
339
+ Bundled dependencies will be added as normal dependencies as well as to the
340
+ `bundledDependencies` section of your `package.json`.
341
+
342
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@flocoder93/base-project.MyMonorepoProject.addBundledDeps.parameter.deps"></a>
343
+
344
+ - *Type:* ...string[]
345
+
346
+ Names modules to install.
347
+
348
+ By default, the the dependency will
349
+ be installed in the next `npx projen` run and the version will be recorded
350
+ in your `package.json` file. You can upgrade manually or using `yarn
351
+ add/upgrade`. If you wish to specify a version range use this syntax:
352
+ `module@^7`.
353
+
354
+ ---
355
+
356
+ ##### ~~`addCompileCommand`~~ <a name="addCompileCommand" id="@flocoder93/base-project.MyMonorepoProject.addCompileCommand"></a>
357
+
358
+ ```typescript
359
+ public addCompileCommand(commands: ...string[]): void
360
+ ```
361
+
362
+ DEPRECATED.
363
+
364
+ ###### `commands`<sup>Required</sup> <a name="commands" id="@flocoder93/base-project.MyMonorepoProject.addCompileCommand.parameter.commands"></a>
365
+
366
+ - *Type:* ...string[]
367
+
368
+ ---
369
+
370
+ ##### `addDeps` <a name="addDeps" id="@flocoder93/base-project.MyMonorepoProject.addDeps"></a>
371
+
372
+ ```typescript
373
+ public addDeps(deps: ...string[]): void
374
+ ```
375
+
376
+ Defines normal dependencies.
377
+
378
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@flocoder93/base-project.MyMonorepoProject.addDeps.parameter.deps"></a>
379
+
380
+ - *Type:* ...string[]
381
+
382
+ Names modules to install.
383
+
384
+ By default, the the dependency will
385
+ be installed in the next `npx projen` run and the version will be recorded
386
+ in your `package.json` file. You can upgrade manually or using `yarn
387
+ add/upgrade`. If you wish to specify a version range use this syntax:
388
+ `module@^7`.
389
+
390
+ ---
391
+
392
+ ##### `addDevDeps` <a name="addDevDeps" id="@flocoder93/base-project.MyMonorepoProject.addDevDeps"></a>
393
+
394
+ ```typescript
395
+ public addDevDeps(deps: ...string[]): void
396
+ ```
397
+
398
+ Defines development/test dependencies.
399
+
400
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@flocoder93/base-project.MyMonorepoProject.addDevDeps.parameter.deps"></a>
401
+
402
+ - *Type:* ...string[]
403
+
404
+ Names modules to install.
405
+
406
+ By default, the the dependency will
407
+ be installed in the next `npx projen` run and the version will be recorded
408
+ in your `package.json` file. You can upgrade manually or using `yarn
409
+ add/upgrade`. If you wish to specify a version range use this syntax:
410
+ `module@^7`.
411
+
412
+ ---
413
+
414
+ ##### `addFields` <a name="addFields" id="@flocoder93/base-project.MyMonorepoProject.addFields"></a>
415
+
416
+ ```typescript
417
+ public addFields(fields: {[ key: string ]: any}): void
418
+ ```
419
+
420
+ Directly set fields in `package.json`.
421
+
422
+ ###### `fields`<sup>Required</sup> <a name="fields" id="@flocoder93/base-project.MyMonorepoProject.addFields.parameter.fields"></a>
423
+
424
+ - *Type:* {[ key: string ]: any}
425
+
426
+ The fields to set.
427
+
428
+ ---
429
+
430
+ ##### `addKeywords` <a name="addKeywords" id="@flocoder93/base-project.MyMonorepoProject.addKeywords"></a>
431
+
432
+ ```typescript
433
+ public addKeywords(keywords: ...string[]): void
434
+ ```
435
+
436
+ Adds keywords to package.json (deduplicated).
437
+
438
+ ###### `keywords`<sup>Required</sup> <a name="keywords" id="@flocoder93/base-project.MyMonorepoProject.addKeywords.parameter.keywords"></a>
439
+
440
+ - *Type:* ...string[]
441
+
442
+ The keywords to add.
443
+
444
+ ---
445
+
446
+ ##### `addPeerDeps` <a name="addPeerDeps" id="@flocoder93/base-project.MyMonorepoProject.addPeerDeps"></a>
447
+
448
+ ```typescript
449
+ public addPeerDeps(deps: ...string[]): void
450
+ ```
451
+
452
+ Defines peer dependencies.
453
+
454
+ When adding peer dependencies, a devDependency will also be added on the
455
+ pinned version of the declared peer. This will ensure that you are testing
456
+ your code against the minimum version required from your consumers.
457
+
458
+ ###### `deps`<sup>Required</sup> <a name="deps" id="@flocoder93/base-project.MyMonorepoProject.addPeerDeps.parameter.deps"></a>
459
+
460
+ - *Type:* ...string[]
461
+
462
+ Names modules to install.
463
+
464
+ By default, the the dependency will
465
+ be installed in the next `npx projen` run and the version will be recorded
466
+ in your `package.json` file. You can upgrade manually or using `yarn
467
+ add/upgrade`. If you wish to specify a version range use this syntax:
468
+ `module@^7`.
469
+
470
+ ---
471
+
472
+ ##### `addScripts` <a name="addScripts" id="@flocoder93/base-project.MyMonorepoProject.addScripts"></a>
473
+
474
+ ```typescript
475
+ public addScripts(scripts: {[ key: string ]: string}): void
476
+ ```
477
+
478
+ Replaces the contents of multiple npm package.json scripts.
479
+
480
+ ###### `scripts`<sup>Required</sup> <a name="scripts" id="@flocoder93/base-project.MyMonorepoProject.addScripts.parameter.scripts"></a>
481
+
482
+ - *Type:* {[ key: string ]: string}
483
+
484
+ The scripts to set.
485
+
486
+ ---
487
+
488
+ ##### ~~`addTestCommand`~~ <a name="addTestCommand" id="@flocoder93/base-project.MyMonorepoProject.addTestCommand"></a>
489
+
490
+ ```typescript
491
+ public addTestCommand(commands: ...string[]): void
492
+ ```
493
+
494
+ DEPRECATED.
495
+
496
+ ###### `commands`<sup>Required</sup> <a name="commands" id="@flocoder93/base-project.MyMonorepoProject.addTestCommand.parameter.commands"></a>
497
+
498
+ - *Type:* ...string[]
499
+
500
+ ---
501
+
502
+ ##### ~~`hasScript`~~ <a name="hasScript" id="@flocoder93/base-project.MyMonorepoProject.hasScript"></a>
503
+
504
+ ```typescript
505
+ public hasScript(name: string): boolean
506
+ ```
507
+
508
+ Indicates if a script by the name name is defined.
509
+
510
+ ###### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.hasScript.parameter.name"></a>
511
+
512
+ - *Type:* string
513
+
514
+ The name of the script.
515
+
516
+ ---
517
+
518
+ ##### `removeScript` <a name="removeScript" id="@flocoder93/base-project.MyMonorepoProject.removeScript"></a>
519
+
520
+ ```typescript
521
+ public removeScript(name: string): void
522
+ ```
523
+
524
+ Removes the npm script (always successful).
525
+
526
+ ###### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.removeScript.parameter.name"></a>
527
+
528
+ - *Type:* string
529
+
530
+ The name of the script.
531
+
532
+ ---
533
+
534
+ ##### `renderWorkflowSetup` <a name="renderWorkflowSetup" id="@flocoder93/base-project.MyMonorepoProject.renderWorkflowSetup"></a>
535
+
536
+ ```typescript
537
+ public renderWorkflowSetup(options?: RenderWorkflowSetupOptions): JobStep[]
538
+ ```
539
+
540
+ Returns the set of workflow steps which should be executed to bootstrap a workflow.
541
+
542
+ ###### `options`<sup>Optional</sup> <a name="options" id="@flocoder93/base-project.MyMonorepoProject.renderWorkflowSetup.parameter.options"></a>
543
+
544
+ - *Type:* projen.javascript.RenderWorkflowSetupOptions
545
+
546
+ Options.
547
+
548
+ ---
549
+
550
+ ##### `setScript` <a name="setScript" id="@flocoder93/base-project.MyMonorepoProject.setScript"></a>
551
+
552
+ ```typescript
553
+ public setScript(name: string, command: string): void
554
+ ```
555
+
556
+ Replaces the contents of an npm package.json script.
557
+
558
+ ###### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.setScript.parameter.name"></a>
559
+
560
+ - *Type:* string
561
+
562
+ The script name.
563
+
564
+ ---
565
+
566
+ ###### `command`<sup>Required</sup> <a name="command" id="@flocoder93/base-project.MyMonorepoProject.setScript.parameter.command"></a>
567
+
568
+ - *Type:* string
569
+
570
+ The command to execute.
571
+
572
+ ---
573
+
574
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
575
+
576
+ | **Name** | **Description** |
577
+ | --- | --- |
578
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
579
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.isProject">isProject</a></code> | Test whether the given construct is a project. |
580
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.of">of</a></code> | Find the closest ancestor project for given construct. |
581
+
582
+ ---
583
+
584
+ ##### `isConstruct` <a name="isConstruct" id="@flocoder93/base-project.MyMonorepoProject.isConstruct"></a>
585
+
586
+ ```typescript
587
+ import { MyMonorepoProject } from '@flocoder93/base-project'
588
+
589
+ MyMonorepoProject.isConstruct(x: any)
590
+ ```
591
+
592
+ Checks if `x` is a construct.
593
+
594
+ Use this method instead of `instanceof` to properly detect `Construct`
595
+ instances, even when the construct library is symlinked.
596
+
597
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
598
+ disk are seen as independent, completely different libraries. As a
599
+ consequence, the class `Construct` in each copy of the `constructs` library
600
+ is seen as a different class, and an instance of one class will not test as
601
+ `instanceof` the other class. `npm install` will not create installations
602
+ like this, but users may manually symlink construct libraries together or
603
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
604
+ library can be accidentally installed, and `instanceof` will behave
605
+ unpredictably. It is safest to avoid using `instanceof`, and using
606
+ this type-testing method instead.
607
+
608
+ ###### `x`<sup>Required</sup> <a name="x" id="@flocoder93/base-project.MyMonorepoProject.isConstruct.parameter.x"></a>
609
+
610
+ - *Type:* any
611
+
612
+ Any object.
613
+
614
+ ---
615
+
616
+ ##### `isProject` <a name="isProject" id="@flocoder93/base-project.MyMonorepoProject.isProject"></a>
617
+
618
+ ```typescript
619
+ import { MyMonorepoProject } from '@flocoder93/base-project'
620
+
621
+ MyMonorepoProject.isProject(x: any)
622
+ ```
623
+
624
+ Test whether the given construct is a project.
625
+
626
+ ###### `x`<sup>Required</sup> <a name="x" id="@flocoder93/base-project.MyMonorepoProject.isProject.parameter.x"></a>
627
+
628
+ - *Type:* any
629
+
630
+ ---
631
+
632
+ ##### `of` <a name="of" id="@flocoder93/base-project.MyMonorepoProject.of"></a>
633
+
634
+ ```typescript
635
+ import { MyMonorepoProject } from '@flocoder93/base-project'
636
+
637
+ MyMonorepoProject.of(construct: IConstruct)
638
+ ```
639
+
640
+ Find the closest ancestor project for given construct.
641
+
642
+ When given a project, this it the project itself.
643
+
644
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@flocoder93/base-project.MyMonorepoProject.of.parameter.construct"></a>
645
+
646
+ - *Type:* constructs.IConstruct
647
+
648
+ ---
649
+
650
+ #### Properties <a name="Properties" id="Properties"></a>
651
+
652
+ | **Name** | **Type** | **Description** |
653
+ | --- | --- | --- |
654
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
655
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.buildTask">buildTask</a></code> | <code>projen.Task</code> | *No description.* |
656
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.commitGenerated">commitGenerated</a></code> | <code>boolean</code> | Whether to commit the managed files by default. |
657
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.compileTask">compileTask</a></code> | <code>projen.Task</code> | *No description.* |
658
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.components">components</a></code> | <code>projen.Component[]</code> | Returns all the components within this project. |
659
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.deps">deps</a></code> | <code>projen.Dependencies</code> | Project dependencies. |
660
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.ejected">ejected</a></code> | <code>boolean</code> | Whether or not the project is being ejected. |
661
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.files">files</a></code> | <code>projen.FileBase[]</code> | All files in this project. |
662
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.gitattributes">gitattributes</a></code> | <code>projen.GitAttributesFile</code> | The .gitattributes file for this repository. |
663
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.gitignore">gitignore</a></code> | <code>projen.IgnoreFile</code> | .gitignore. |
664
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.logger">logger</a></code> | <code>projen.Logger</code> | Logging utilities. |
665
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.name">name</a></code> | <code>string</code> | Project name. |
666
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.outdir">outdir</a></code> | <code>string</code> | Absolute output directory of this project. |
667
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.packageTask">packageTask</a></code> | <code>projen.Task</code> | *No description.* |
668
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.postCompileTask">postCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
669
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.preCompileTask">preCompileTask</a></code> | <code>projen.Task</code> | *No description.* |
670
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.projectBuild">projectBuild</a></code> | <code>projen.ProjectBuild</code> | Manages the build process of the project. |
671
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.projenCommand">projenCommand</a></code> | <code>string</code> | The command to use in order to run the projen CLI. |
672
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.root">root</a></code> | <code>projen.Project</code> | The root project. |
673
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.subprojects">subprojects</a></code> | <code>projen.Project[]</code> | Returns all the subprojects within this project. |
674
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.tasks">tasks</a></code> | <code>projen.Tasks</code> | Project tasks. |
675
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.testTask">testTask</a></code> | <code>projen.Task</code> | *No description.* |
676
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.defaultTask">defaultTask</a></code> | <code>projen.Task</code> | This is the "default" task, the one that executes "projen". |
677
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.initProject">initProject</a></code> | <code>projen.InitProject</code> | The options used when this project is bootstrapped via `projen new`. |
678
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.parent">parent</a></code> | <code>projen.Project</code> | A parent project. |
679
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.projectType">projectType</a></code> | <code>projen.ProjectType</code> | *No description.* |
680
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.autoApprove">autoApprove</a></code> | <code>projen.github.AutoApprove</code> | Auto approve set up for this project. |
681
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.devContainer">devContainer</a></code> | <code>projen.vscode.DevContainer</code> | Access for .devcontainer.json (used for GitHub Codespaces). |
682
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.github">github</a></code> | <code>projen.github.GitHub</code> | Access all github components. |
683
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.gitpod">gitpod</a></code> | <code>projen.Gitpod</code> | Access for Gitpod. |
684
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.vscode">vscode</a></code> | <code>projen.vscode.VsCode</code> | Access all VSCode components. |
685
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.allowLibraryDependencies">allowLibraryDependencies</a></code> | <code>boolean</code> | *No description.* |
686
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.artifactsDirectory">artifactsDirectory</a></code> | <code>string</code> | The build output directory. |
687
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.artifactsJavascriptDirectory">artifactsJavascriptDirectory</a></code> | <code>string</code> | The location of the npm tarball after build (`${artifactsDirectory}/js`). |
688
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.bundler">bundler</a></code> | <code>projen.javascript.Bundler</code> | *No description.* |
689
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.entrypoint">entrypoint</a></code> | <code>string</code> | *No description.* |
690
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.manifest">manifest</a></code> | <code>any</code> | *No description.* |
691
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.npmrc">npmrc</a></code> | <code>projen.javascript.NpmConfig</code> | The .npmrc file. |
692
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.package">package</a></code> | <code>projen.javascript.NodePackage</code> | API for managing the node package. |
693
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.packageManager">packageManager</a></code> | <code>projen.javascript.NodePackageManager</code> | The package manager to use. |
694
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.runScriptCommand">runScriptCommand</a></code> | <code>string</code> | The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). |
695
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.autoMerge">autoMerge</a></code> | <code>projen.github.AutoMerge</code> | Component that sets up mergify for merging approved pull requests. |
696
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.biome">biome</a></code> | <code>projen.javascript.Biome</code> | *No description.* |
697
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.buildWorkflow">buildWorkflow</a></code> | <code>projen.build.BuildWorkflow</code> | The PR build GitHub workflow. |
698
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.buildWorkflowJobId">buildWorkflowJobId</a></code> | <code>string</code> | The job ID of the build workflow. |
699
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.jest">jest</a></code> | <code>projen.javascript.Jest</code> | The Jest configuration (if enabled). |
700
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.maxNodeVersion">maxNodeVersion</a></code> | <code>string</code> | Maximum node version supported by this package. |
701
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.minNodeVersion">minNodeVersion</a></code> | <code>string</code> | The minimum node version required by this package to function. |
702
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.npmignore">npmignore</a></code> | <code>projen.IgnoreFile</code> | The .npmignore file. |
703
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.prettier">prettier</a></code> | <code>projen.javascript.Prettier</code> | *No description.* |
704
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.publisher">publisher</a></code> | <code>projen.release.Publisher</code> | Package publisher. |
705
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.release">release</a></code> | <code>projen.release.Release</code> | Release management. |
706
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.upgradeWorkflow">upgradeWorkflow</a></code> | <code>projen.javascript.UpgradeDependencies</code> | The upgrade workflow. |
707
+
708
+ ---
709
+
710
+ ##### `node`<sup>Required</sup> <a name="node" id="@flocoder93/base-project.MyMonorepoProject.property.node"></a>
711
+
712
+ ```typescript
713
+ public readonly node: Node;
714
+ ```
715
+
716
+ - *Type:* constructs.Node
717
+
718
+ The tree node.
719
+
720
+ ---
721
+
722
+ ##### `buildTask`<sup>Required</sup> <a name="buildTask" id="@flocoder93/base-project.MyMonorepoProject.property.buildTask"></a>
723
+
724
+ ```typescript
725
+ public readonly buildTask: Task;
726
+ ```
727
+
728
+ - *Type:* projen.Task
729
+
730
+ ---
731
+
732
+ ##### `commitGenerated`<sup>Required</sup> <a name="commitGenerated" id="@flocoder93/base-project.MyMonorepoProject.property.commitGenerated"></a>
733
+
734
+ ```typescript
735
+ public readonly commitGenerated: boolean;
736
+ ```
737
+
738
+ - *Type:* boolean
739
+
740
+ Whether to commit the managed files by default.
741
+
742
+ ---
743
+
744
+ ##### `compileTask`<sup>Required</sup> <a name="compileTask" id="@flocoder93/base-project.MyMonorepoProject.property.compileTask"></a>
745
+
746
+ ```typescript
747
+ public readonly compileTask: Task;
748
+ ```
749
+
750
+ - *Type:* projen.Task
751
+
752
+ ---
753
+
754
+ ##### `components`<sup>Required</sup> <a name="components" id="@flocoder93/base-project.MyMonorepoProject.property.components"></a>
755
+
756
+ ```typescript
757
+ public readonly components: Component[];
758
+ ```
759
+
760
+ - *Type:* projen.Component[]
761
+
762
+ Returns all the components within this project.
763
+
764
+ ---
765
+
766
+ ##### `deps`<sup>Required</sup> <a name="deps" id="@flocoder93/base-project.MyMonorepoProject.property.deps"></a>
767
+
768
+ ```typescript
769
+ public readonly deps: Dependencies;
770
+ ```
771
+
772
+ - *Type:* projen.Dependencies
773
+
774
+ Project dependencies.
775
+
776
+ ---
777
+
778
+ ##### `ejected`<sup>Required</sup> <a name="ejected" id="@flocoder93/base-project.MyMonorepoProject.property.ejected"></a>
779
+
780
+ ```typescript
781
+ public readonly ejected: boolean;
782
+ ```
783
+
784
+ - *Type:* boolean
785
+
786
+ Whether or not the project is being ejected.
787
+
788
+ ---
789
+
790
+ ##### `files`<sup>Required</sup> <a name="files" id="@flocoder93/base-project.MyMonorepoProject.property.files"></a>
791
+
792
+ ```typescript
793
+ public readonly files: FileBase[];
794
+ ```
795
+
796
+ - *Type:* projen.FileBase[]
797
+
798
+ All files in this project.
799
+
800
+ ---
801
+
802
+ ##### `gitattributes`<sup>Required</sup> <a name="gitattributes" id="@flocoder93/base-project.MyMonorepoProject.property.gitattributes"></a>
803
+
804
+ ```typescript
805
+ public readonly gitattributes: GitAttributesFile;
806
+ ```
807
+
808
+ - *Type:* projen.GitAttributesFile
809
+
810
+ The .gitattributes file for this repository.
811
+
812
+ ---
813
+
814
+ ##### `gitignore`<sup>Required</sup> <a name="gitignore" id="@flocoder93/base-project.MyMonorepoProject.property.gitignore"></a>
815
+
816
+ ```typescript
817
+ public readonly gitignore: IgnoreFile;
818
+ ```
819
+
820
+ - *Type:* projen.IgnoreFile
821
+
822
+ .gitignore.
823
+
824
+ ---
825
+
826
+ ##### `logger`<sup>Required</sup> <a name="logger" id="@flocoder93/base-project.MyMonorepoProject.property.logger"></a>
827
+
828
+ ```typescript
829
+ public readonly logger: Logger;
830
+ ```
831
+
832
+ - *Type:* projen.Logger
833
+
834
+ Logging utilities.
835
+
836
+ ---
837
+
838
+ ##### `name`<sup>Required</sup> <a name="name" id="@flocoder93/base-project.MyMonorepoProject.property.name"></a>
839
+
840
+ ```typescript
841
+ public readonly name: string;
842
+ ```
843
+
844
+ - *Type:* string
845
+
846
+ Project name.
847
+
848
+ ---
849
+
850
+ ##### `outdir`<sup>Required</sup> <a name="outdir" id="@flocoder93/base-project.MyMonorepoProject.property.outdir"></a>
851
+
852
+ ```typescript
853
+ public readonly outdir: string;
854
+ ```
855
+
856
+ - *Type:* string
857
+
858
+ Absolute output directory of this project.
859
+
860
+ ---
861
+
862
+ ##### `packageTask`<sup>Required</sup> <a name="packageTask" id="@flocoder93/base-project.MyMonorepoProject.property.packageTask"></a>
863
+
864
+ ```typescript
865
+ public readonly packageTask: Task;
866
+ ```
867
+
868
+ - *Type:* projen.Task
869
+
870
+ ---
871
+
872
+ ##### `postCompileTask`<sup>Required</sup> <a name="postCompileTask" id="@flocoder93/base-project.MyMonorepoProject.property.postCompileTask"></a>
873
+
874
+ ```typescript
875
+ public readonly postCompileTask: Task;
876
+ ```
877
+
878
+ - *Type:* projen.Task
879
+
880
+ ---
881
+
882
+ ##### `preCompileTask`<sup>Required</sup> <a name="preCompileTask" id="@flocoder93/base-project.MyMonorepoProject.property.preCompileTask"></a>
883
+
884
+ ```typescript
885
+ public readonly preCompileTask: Task;
886
+ ```
887
+
888
+ - *Type:* projen.Task
889
+
890
+ ---
891
+
892
+ ##### `projectBuild`<sup>Required</sup> <a name="projectBuild" id="@flocoder93/base-project.MyMonorepoProject.property.projectBuild"></a>
893
+
894
+ ```typescript
895
+ public readonly projectBuild: ProjectBuild;
896
+ ```
897
+
898
+ - *Type:* projen.ProjectBuild
899
+
900
+ Manages the build process of the project.
901
+
902
+ ---
903
+
904
+ ##### `projenCommand`<sup>Required</sup> <a name="projenCommand" id="@flocoder93/base-project.MyMonorepoProject.property.projenCommand"></a>
905
+
906
+ ```typescript
907
+ public readonly projenCommand: string;
908
+ ```
909
+
910
+ - *Type:* string
911
+
912
+ The command to use in order to run the projen CLI.
913
+
914
+ ---
915
+
916
+ ##### `root`<sup>Required</sup> <a name="root" id="@flocoder93/base-project.MyMonorepoProject.property.root"></a>
917
+
918
+ ```typescript
919
+ public readonly root: Project;
920
+ ```
921
+
922
+ - *Type:* projen.Project
923
+
924
+ The root project.
925
+
926
+ ---
927
+
928
+ ##### `subprojects`<sup>Required</sup> <a name="subprojects" id="@flocoder93/base-project.MyMonorepoProject.property.subprojects"></a>
929
+
930
+ ```typescript
931
+ public readonly subprojects: Project[];
932
+ ```
933
+
934
+ - *Type:* projen.Project[]
935
+
936
+ Returns all the subprojects within this project.
937
+
938
+ ---
939
+
940
+ ##### `tasks`<sup>Required</sup> <a name="tasks" id="@flocoder93/base-project.MyMonorepoProject.property.tasks"></a>
941
+
942
+ ```typescript
943
+ public readonly tasks: Tasks;
944
+ ```
945
+
946
+ - *Type:* projen.Tasks
947
+
948
+ Project tasks.
949
+
950
+ ---
951
+
952
+ ##### `testTask`<sup>Required</sup> <a name="testTask" id="@flocoder93/base-project.MyMonorepoProject.property.testTask"></a>
953
+
954
+ ```typescript
955
+ public readonly testTask: Task;
956
+ ```
957
+
958
+ - *Type:* projen.Task
959
+
960
+ ---
961
+
962
+ ##### `defaultTask`<sup>Optional</sup> <a name="defaultTask" id="@flocoder93/base-project.MyMonorepoProject.property.defaultTask"></a>
963
+
964
+ ```typescript
965
+ public readonly defaultTask: Task;
966
+ ```
967
+
968
+ - *Type:* projen.Task
969
+
970
+ This is the "default" task, the one that executes "projen".
971
+
972
+ Undefined if
973
+ the project is being ejected.
974
+
975
+ ---
976
+
977
+ ##### `initProject`<sup>Optional</sup> <a name="initProject" id="@flocoder93/base-project.MyMonorepoProject.property.initProject"></a>
978
+
979
+ ```typescript
980
+ public readonly initProject: InitProject;
981
+ ```
982
+
983
+ - *Type:* projen.InitProject
984
+
985
+ The options used when this project is bootstrapped via `projen new`.
986
+
987
+ It
988
+ includes the original set of options passed to the CLI and also the JSII
989
+ FQN of the project type.
990
+
991
+ ---
992
+
993
+ ##### `parent`<sup>Optional</sup> <a name="parent" id="@flocoder93/base-project.MyMonorepoProject.property.parent"></a>
994
+
995
+ ```typescript
996
+ public readonly parent: Project;
997
+ ```
998
+
999
+ - *Type:* projen.Project
1000
+
1001
+ A parent project.
1002
+
1003
+ If undefined, this is the root project.
1004
+
1005
+ ---
1006
+
1007
+ ##### `projectType`<sup>Required</sup> <a name="projectType" id="@flocoder93/base-project.MyMonorepoProject.property.projectType"></a>
1008
+
1009
+ ```typescript
1010
+ public readonly projectType: ProjectType;
1011
+ ```
1012
+
1013
+ - *Type:* projen.ProjectType
1014
+
1015
+ ---
1016
+
1017
+ ##### `autoApprove`<sup>Optional</sup> <a name="autoApprove" id="@flocoder93/base-project.MyMonorepoProject.property.autoApprove"></a>
1018
+
1019
+ ```typescript
1020
+ public readonly autoApprove: AutoApprove;
1021
+ ```
1022
+
1023
+ - *Type:* projen.github.AutoApprove
1024
+
1025
+ Auto approve set up for this project.
1026
+
1027
+ ---
1028
+
1029
+ ##### `devContainer`<sup>Optional</sup> <a name="devContainer" id="@flocoder93/base-project.MyMonorepoProject.property.devContainer"></a>
1030
+
1031
+ ```typescript
1032
+ public readonly devContainer: DevContainer;
1033
+ ```
1034
+
1035
+ - *Type:* projen.vscode.DevContainer
1036
+
1037
+ Access for .devcontainer.json (used for GitHub Codespaces).
1038
+
1039
+ This will be `undefined` if devContainer boolean is false
1040
+
1041
+ ---
1042
+
1043
+ ##### `github`<sup>Optional</sup> <a name="github" id="@flocoder93/base-project.MyMonorepoProject.property.github"></a>
1044
+
1045
+ ```typescript
1046
+ public readonly github: GitHub;
1047
+ ```
1048
+
1049
+ - *Type:* projen.github.GitHub
1050
+
1051
+ Access all github components.
1052
+
1053
+ This will be `undefined` for subprojects.
1054
+
1055
+ ---
1056
+
1057
+ ##### `gitpod`<sup>Optional</sup> <a name="gitpod" id="@flocoder93/base-project.MyMonorepoProject.property.gitpod"></a>
1058
+
1059
+ ```typescript
1060
+ public readonly gitpod: Gitpod;
1061
+ ```
1062
+
1063
+ - *Type:* projen.Gitpod
1064
+
1065
+ Access for Gitpod.
1066
+
1067
+ This will be `undefined` if gitpod boolean is false
1068
+
1069
+ ---
1070
+
1071
+ ##### `vscode`<sup>Optional</sup> <a name="vscode" id="@flocoder93/base-project.MyMonorepoProject.property.vscode"></a>
1072
+
1073
+ ```typescript
1074
+ public readonly vscode: VsCode;
1075
+ ```
1076
+
1077
+ - *Type:* projen.vscode.VsCode
1078
+
1079
+ Access all VSCode components.
1080
+
1081
+ This will be `undefined` for subprojects.
1082
+
1083
+ ---
1084
+
1085
+ ##### ~~`allowLibraryDependencies`~~<sup>Required</sup> <a name="allowLibraryDependencies" id="@flocoder93/base-project.MyMonorepoProject.property.allowLibraryDependencies"></a>
1086
+
1087
+ - *Deprecated:* use `package.allowLibraryDependencies`
1088
+
1089
+ ```typescript
1090
+ public readonly allowLibraryDependencies: boolean;
1091
+ ```
1092
+
1093
+ - *Type:* boolean
1094
+
1095
+ ---
1096
+
1097
+ ##### `artifactsDirectory`<sup>Required</sup> <a name="artifactsDirectory" id="@flocoder93/base-project.MyMonorepoProject.property.artifactsDirectory"></a>
1098
+
1099
+ ```typescript
1100
+ public readonly artifactsDirectory: string;
1101
+ ```
1102
+
1103
+ - *Type:* string
1104
+
1105
+ The build output directory.
1106
+
1107
+ An npm tarball will be created under the `js`
1108
+ subdirectory. For example, if this is set to `dist` (the default), the npm
1109
+ tarball will be placed under `dist/js/boom-boom-1.2.3.tg`.
1110
+
1111
+ ---
1112
+
1113
+ ##### `artifactsJavascriptDirectory`<sup>Required</sup> <a name="artifactsJavascriptDirectory" id="@flocoder93/base-project.MyMonorepoProject.property.artifactsJavascriptDirectory"></a>
1114
+
1115
+ ```typescript
1116
+ public readonly artifactsJavascriptDirectory: string;
1117
+ ```
1118
+
1119
+ - *Type:* string
1120
+
1121
+ The location of the npm tarball after build (`${artifactsDirectory}/js`).
1122
+
1123
+ ---
1124
+
1125
+ ##### `bundler`<sup>Required</sup> <a name="bundler" id="@flocoder93/base-project.MyMonorepoProject.property.bundler"></a>
1126
+
1127
+ ```typescript
1128
+ public readonly bundler: Bundler;
1129
+ ```
1130
+
1131
+ - *Type:* projen.javascript.Bundler
1132
+
1133
+ ---
1134
+
1135
+ ##### ~~`entrypoint`~~<sup>Required</sup> <a name="entrypoint" id="@flocoder93/base-project.MyMonorepoProject.property.entrypoint"></a>
1136
+
1137
+ - *Deprecated:* use `package.entrypoint`
1138
+
1139
+ ```typescript
1140
+ public readonly entrypoint: string;
1141
+ ```
1142
+
1143
+ - *Type:* string
1144
+
1145
+ ---
1146
+
1147
+ ##### ~~`manifest`~~<sup>Required</sup> <a name="manifest" id="@flocoder93/base-project.MyMonorepoProject.property.manifest"></a>
1148
+
1149
+ - *Deprecated:* use `package.addField(x, y)`
1150
+
1151
+ ```typescript
1152
+ public readonly manifest: any;
1153
+ ```
1154
+
1155
+ - *Type:* any
1156
+
1157
+ ---
1158
+
1159
+ ##### `npmrc`<sup>Required</sup> <a name="npmrc" id="@flocoder93/base-project.MyMonorepoProject.property.npmrc"></a>
1160
+
1161
+ ```typescript
1162
+ public readonly npmrc: NpmConfig;
1163
+ ```
1164
+
1165
+ - *Type:* projen.javascript.NpmConfig
1166
+
1167
+ The .npmrc file.
1168
+
1169
+ ---
1170
+
1171
+ ##### `package`<sup>Required</sup> <a name="package" id="@flocoder93/base-project.MyMonorepoProject.property.package"></a>
1172
+
1173
+ ```typescript
1174
+ public readonly package: NodePackage;
1175
+ ```
1176
+
1177
+ - *Type:* projen.javascript.NodePackage
1178
+
1179
+ API for managing the node package.
1180
+
1181
+ ---
1182
+
1183
+ ##### ~~`packageManager`~~<sup>Required</sup> <a name="packageManager" id="@flocoder93/base-project.MyMonorepoProject.property.packageManager"></a>
1184
+
1185
+ - *Deprecated:* use `package.packageManager`
1186
+
1187
+ ```typescript
1188
+ public readonly packageManager: NodePackageManager;
1189
+ ```
1190
+
1191
+ - *Type:* projen.javascript.NodePackageManager
1192
+
1193
+ The package manager to use.
1194
+
1195
+ ---
1196
+
1197
+ ##### `runScriptCommand`<sup>Required</sup> <a name="runScriptCommand" id="@flocoder93/base-project.MyMonorepoProject.property.runScriptCommand"></a>
1198
+
1199
+ ```typescript
1200
+ public readonly runScriptCommand: string;
1201
+ ```
1202
+
1203
+ - *Type:* string
1204
+
1205
+ The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager).
1206
+
1207
+ ---
1208
+
1209
+ ##### `autoMerge`<sup>Optional</sup> <a name="autoMerge" id="@flocoder93/base-project.MyMonorepoProject.property.autoMerge"></a>
1210
+
1211
+ ```typescript
1212
+ public readonly autoMerge: AutoMerge;
1213
+ ```
1214
+
1215
+ - *Type:* projen.github.AutoMerge
1216
+
1217
+ Component that sets up mergify for merging approved pull requests.
1218
+
1219
+ ---
1220
+
1221
+ ##### `biome`<sup>Optional</sup> <a name="biome" id="@flocoder93/base-project.MyMonorepoProject.property.biome"></a>
1222
+
1223
+ ```typescript
1224
+ public readonly biome: Biome;
1225
+ ```
1226
+
1227
+ - *Type:* projen.javascript.Biome
1228
+
1229
+ ---
1230
+
1231
+ ##### `buildWorkflow`<sup>Optional</sup> <a name="buildWorkflow" id="@flocoder93/base-project.MyMonorepoProject.property.buildWorkflow"></a>
1232
+
1233
+ ```typescript
1234
+ public readonly buildWorkflow: BuildWorkflow;
1235
+ ```
1236
+
1237
+ - *Type:* projen.build.BuildWorkflow
1238
+
1239
+ The PR build GitHub workflow.
1240
+
1241
+ `undefined` if `buildWorkflow` is disabled.
1242
+
1243
+ ---
1244
+
1245
+ ##### `buildWorkflowJobId`<sup>Optional</sup> <a name="buildWorkflowJobId" id="@flocoder93/base-project.MyMonorepoProject.property.buildWorkflowJobId"></a>
1246
+
1247
+ ```typescript
1248
+ public readonly buildWorkflowJobId: string;
1249
+ ```
1250
+
1251
+ - *Type:* string
1252
+
1253
+ The job ID of the build workflow.
1254
+
1255
+ ---
1256
+
1257
+ ##### `jest`<sup>Optional</sup> <a name="jest" id="@flocoder93/base-project.MyMonorepoProject.property.jest"></a>
1258
+
1259
+ ```typescript
1260
+ public readonly jest: Jest;
1261
+ ```
1262
+
1263
+ - *Type:* projen.javascript.Jest
1264
+
1265
+ The Jest configuration (if enabled).
1266
+
1267
+ ---
1268
+
1269
+ ##### `maxNodeVersion`<sup>Optional</sup> <a name="maxNodeVersion" id="@flocoder93/base-project.MyMonorepoProject.property.maxNodeVersion"></a>
1270
+
1271
+ ```typescript
1272
+ public readonly maxNodeVersion: string;
1273
+ ```
1274
+
1275
+ - *Type:* string
1276
+
1277
+ Maximum node version supported by this package.
1278
+
1279
+ The value indicates the package is incompatible with newer versions.
1280
+
1281
+ ---
1282
+
1283
+ ##### `minNodeVersion`<sup>Optional</sup> <a name="minNodeVersion" id="@flocoder93/base-project.MyMonorepoProject.property.minNodeVersion"></a>
1284
+
1285
+ ```typescript
1286
+ public readonly minNodeVersion: string;
1287
+ ```
1288
+
1289
+ - *Type:* string
1290
+
1291
+ The minimum node version required by this package to function.
1292
+
1293
+ This value indicates the package is incompatible with older versions.
1294
+
1295
+ ---
1296
+
1297
+ ##### `npmignore`<sup>Optional</sup> <a name="npmignore" id="@flocoder93/base-project.MyMonorepoProject.property.npmignore"></a>
1298
+
1299
+ ```typescript
1300
+ public readonly npmignore: IgnoreFile;
1301
+ ```
1302
+
1303
+ - *Type:* projen.IgnoreFile
1304
+
1305
+ The .npmignore file.
1306
+
1307
+ ---
1308
+
1309
+ ##### `prettier`<sup>Optional</sup> <a name="prettier" id="@flocoder93/base-project.MyMonorepoProject.property.prettier"></a>
1310
+
1311
+ ```typescript
1312
+ public readonly prettier: Prettier;
1313
+ ```
1314
+
1315
+ - *Type:* projen.javascript.Prettier
1316
+
1317
+ ---
1318
+
1319
+ ##### ~~`publisher`~~<sup>Optional</sup> <a name="publisher" id="@flocoder93/base-project.MyMonorepoProject.property.publisher"></a>
1320
+
1321
+ - *Deprecated:* use `release.publisher`.
1322
+
1323
+ ```typescript
1324
+ public readonly publisher: Publisher;
1325
+ ```
1326
+
1327
+ - *Type:* projen.release.Publisher
1328
+
1329
+ Package publisher.
1330
+
1331
+ This will be `undefined` if the project does not have a
1332
+ release workflow.
1333
+
1334
+ ---
1335
+
1336
+ ##### `release`<sup>Optional</sup> <a name="release" id="@flocoder93/base-project.MyMonorepoProject.property.release"></a>
1337
+
1338
+ ```typescript
1339
+ public readonly release: Release;
1340
+ ```
1341
+
1342
+ - *Type:* projen.release.Release
1343
+
1344
+ Release management.
1345
+
1346
+ ---
1347
+
1348
+ ##### `upgradeWorkflow`<sup>Optional</sup> <a name="upgradeWorkflow" id="@flocoder93/base-project.MyMonorepoProject.property.upgradeWorkflow"></a>
1349
+
1350
+ ```typescript
1351
+ public readonly upgradeWorkflow: UpgradeDependencies;
1352
+ ```
1353
+
1354
+ - *Type:* projen.javascript.UpgradeDependencies
1355
+
1356
+ The upgrade workflow.
1357
+
1358
+ ---
1359
+
1360
+ #### Constants <a name="Constants" id="Constants"></a>
1361
+
1362
+ | **Name** | **Type** | **Description** |
1363
+ | --- | --- | --- |
1364
+ | <code><a href="#@flocoder93/base-project.MyMonorepoProject.property.DEFAULT_TASK">DEFAULT_TASK</a></code> | <code>string</code> | The name of the default task (the task executed when `projen` is run without arguments). |
1365
+
1366
+ ---
1367
+
1368
+ ##### `DEFAULT_TASK`<sup>Required</sup> <a name="DEFAULT_TASK" id="@flocoder93/base-project.MyMonorepoProject.property.DEFAULT_TASK"></a>
1369
+
1370
+ ```typescript
1371
+ public readonly DEFAULT_TASK: string;
1372
+ ```
1373
+
1374
+ - *Type:* string
1375
+
1376
+ The name of the default task (the task executed when `projen` is run without arguments).
1377
+
1378
+ Normally
1379
+ this task should synthesize the project files.
1380
+
1381
+ ---
1382
+
1383
+
1384
+
1385
+