@nikovirtala/projen-constructs 0.1.7 → 0.2.0

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/.jsii CHANGED
@@ -4190,7 +4190,7 @@
4190
4190
  },
4191
4191
  "name": "@nikovirtala/projen-constructs",
4192
4192
  "readme": {
4193
- "markdown": "# @nikovirtala/projen-constructs\n\nProjen project types with standard configuration for consistent project setup across all repositories.\n\n## Installation\n\n```bash\npnpm add -D @nikovirtala/projen-constructs projen constructs\n```\n\n## Standard Configuration\n\nAll project types include:\n\n- **Author**: Niko Virtala (niko.virtala@hey.com)\n- **Default Release Branch**: main\n- **Package Manager**: pnpm 10\n- **Node Version**: 22.21.1\n- **TypeScript**: 5.9.3\n- **Module Type**: ES modules (TypeScript and CDK App projects only; JSII projects use CommonJS)\n- **Code Quality**: Biome for formatting and linting\n- **Testing**: Vitest\n- **Auto-merge**: Enabled with auto-approve\n- **VSCode**: Recommended extensions and settings\n- **mise**: Node version management (via Homebrew)\n- **CDK Version**: 2.223.0 (for CDK projects)\n- **JSII Version**: ~5.9.3 (for JSII projects)\n\n## Customization\n\nOverride any option by passing it to the constructor:\n\n```typescript\nconst project = new JsiiProject({\n name: \"my-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-project.git\",\n minNodeVersion: \"20.0.0\",\n author: \"Custom Author\",\n authorAddress: \"custom@example.com\",\n mise: false,\n vitest: false,\n tsconfig: {\n compilerOptions: {\n noUnusedLocals: false,\n },\n },\n biomeOptions: {\n biomeConfig: {\n formatter: {\n lineWidth: 100,\n },\n },\n },\n});\n```\n\n## Usage\n\n### Projects\n\n#### AWS CDK Construct Library Project\n\n```typescript\nimport { AwsCdkConstructLibraryProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new AwsCdkConstructLibraryProject({\n name: \"my-cdk-construct\",\n repositoryUrl: \"https://github.com/nikovirtala/my-cdk-construct.git\",\n});\n\nproject.synth();\n```\n\n#### AWS CDK TypeScript App Project\n\n```typescript\nimport { AwsCdkTypeScriptAppProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new AwsCdkTypeScriptAppProject({\n name: \"my-cdk-app\",\n repositoryUrl: \"https://github.com/nikovirtala/my-cdk-app.git\",\n});\n\nproject.synth();\n```\n\n#### JSII Project\n\n```typescript\nimport { JsiiProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new JsiiProject({\n name: \"my-jsii-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-jsii-project.git\",\n});\n\nproject.synth();\n```\n\n#### TypeScript Project\n\n```typescript\nimport { TypeScriptProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new TypeScriptProject({\n name: \"my-typescript-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-typescript-project.git\",\n});\n\nproject.synth();\n```\n\n### Components\n\nThe package includes reusable components for common development tasks:\n\n#### Vitest\n\n[Vitest](https://vitest.dev) testing framework component.\n\n```typescript\nimport { Vitest } from \"@nikovirtala/projen-constructs\";\n\nnew Vitest(project, {\n vitestVersion: \"^4\",\n config: {\n coverageProvider: CoverageProvider.V8,\n coverageReporters: [CoverageReporter.TEXT, CoverageReporter.LCOV],\n },\n});\n```\n\n#### TypeDoc\n\n[TypeDoc](https://typedoc.org) documentation generation component.\n\n```typescript\nimport { TypeDoc, EntryPointStrategy } from \"@nikovirtala/projen-constructs\";\n\nnew TypeDoc(project, {\n version: \"^0.28\",\n typeDocConfig: {\n entryPointStrategy: EntryPointStrategy.EXPAND,\n out: \"docs/api\",\n exclude: [\"**/*.test.ts\"],\n },\n});\n```\n\n#### Mise\n\n[Mise](https://mise.jdx.dev) dev tools/runtimes management component.\n\n```typescript\nimport { Mise } from \"@nikovirtala/projen-constructs\";\n\nnew Mise(project, {\n nodeVersion: \"22.21.1\",\n});\n```\n\n#### Homebrew\n\n[Homebrew](https://brew.sh) package management component.\n\n```typescript\nimport { Homebrew } from \"@nikovirtala/projen-constructs\";\n\nconst homebrew = new Homebrew(project, {\n packages: [\"jq\", \"yq\"],\n});\n\nhomebrew.addPackage(\"gh\");\n```\n\n#### Colima\n\n[Colima](https://github.com/abiosoft/colima) container runtime component. Alternative for Docker.\n\n```typescript\nimport { Colima } from \"@nikovirtala/projen-constructs\";\n\nnew Colima(project);\n```\n\n#### LocalStack\n\n[LocalStack](https://www.localstack.cloud) AWS emulation component.\n\n```typescript\nimport { LocalStack } from \"@nikovirtala/projen-constructs\";\n\nnew LocalStack(project, {\n services: [\"s3\", \"lambda\", \"dynamodb\"],\n port: 4566,\n debug: true,\n});\n```\n\n#### LambdaFunctionConstructGenerator\n\nGenerates AWS CDK Lambda Function constructs and bundles their code.\n\n```typescript\nimport { LambdaFunctionConstructGenerator } from \"@nikovirtala/projen-constructs\";\n\nnew LambdaFunctionConstructGenerator(project, {\n sourceDir: \"src/handlers\",\n outputDir: \"src/constructs/lambda\",\n filePattern: \"*.lambda.ts\",\n esbuildOptions: {\n minify: true,\n sourcemap: true,\n },\n});\n```\n\n#### Bundler\n\nLow-level bundling utilities for Lambda functions.\n\n```typescript\nimport {\n Bundler,\n LambdaFunctionCodeBundle,\n} from \"@nikovirtala/projen-constructs\";\n\nconst bundler = new Bundler(project, {\n assetsDir: \"assets\",\n esbuildVersion: \"^0.25\",\n});\n\nnew LambdaFunctionCodeBundle(project, {\n entrypoint: \"src/my-function.lambda.ts\",\n extension: \".lambda.ts\",\n});\n```\n"
4193
+ "markdown": "# @nikovirtala/projen-constructs\n\nProjen project types with standard configuration for consistent project setup across all repositories.\n\n## Installation\n\n```bash\npnpm add -D @nikovirtala/projen-constructs projen constructs\n```\n\n## Features\n\n- **Standard Configuration**: Opinionated defaults for author, release branch, package manager, Node.js, TypeScript, and tooling\n- **Automatic Project Type Discovery**: Generates `ProjectType` enum from Projen's JSII manifest (18 project types)\n- **Component System**: Reusable components (Vitest, Mise, TypeDoc, LocalStack, etc.)\n- **Code Generation**: `ProjectGenerator` creates project classes with standard configuration\n- **ES Modules**: TypeScript and CDK App projects use ES modules (JSII uses CommonJS)\n- **Code Quality**: Biome for formatting and linting\n- **Testing**: Vitest with coverage\n- **Auto-merge**: Enabled with auto-approve\n- **VSCode**: Recommended extensions and settings\n- **mise**: Node version management\n\n## Standard Configuration\n\n- **Author**: Niko Virtala (niko.virtala@hey.com)\n- **Default Release Branch**: main\n- **Package Manager**: pnpm 10\n- **Node Version**: 22.21.1\n- **TypeScript**: 5.9.3\n- **CDK Version**: 2.223.0 (for CDK projects)\n- **JSII Version**: ~5.9.3 (for JSII projects)\n\n## Customization\n\nOverride any option by passing it to the constructor:\n\n```typescript\nconst project = new JsiiProject({\n name: \"my-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-project.git\",\n minNodeVersion: \"20.0.0\",\n author: \"Custom Author\",\n authorAddress: \"custom@example.com\",\n mise: false,\n vitest: false,\n tsconfig: {\n compilerOptions: {\n noUnusedLocals: false,\n },\n },\n biomeOptions: {\n biomeConfig: {\n formatter: {\n lineWidth: 100,\n },\n },\n },\n});\n```\n\n## Usage\n\n### Projects\n\n#### AWS CDK Construct Library Project\n\n```typescript\nimport { AwsCdkConstructLibraryProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new AwsCdkConstructLibraryProject({\n name: \"my-cdk-construct\",\n repositoryUrl: \"https://github.com/nikovirtala/my-cdk-construct.git\",\n});\n\nproject.synth();\n```\n\n#### AWS CDK TypeScript App Project\n\n```typescript\nimport { AwsCdkTypeScriptAppProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new AwsCdkTypeScriptAppProject({\n name: \"my-cdk-app\",\n repositoryUrl: \"https://github.com/nikovirtala/my-cdk-app.git\",\n});\n\nproject.synth();\n```\n\n#### JSII Project\n\n```typescript\nimport { JsiiProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new JsiiProject({\n name: \"my-jsii-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-jsii-project.git\",\n});\n\nproject.synth();\n```\n\n#### TypeScript Project\n\n```typescript\nimport { TypeScriptProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new TypeScriptProject({\n name: \"my-typescript-project\",\n repositoryUrl: \"https://github.com/nikovirtala/my-typescript-project.git\",\n});\n\nproject.synth();\n```\n\n### Components\n\nThe package includes reusable components for common development tasks:\n\n#### Vitest\n\n[Vitest](https://vitest.dev) testing framework component.\n\n```typescript\nimport { Vitest } from \"@nikovirtala/projen-constructs\";\n\nnew Vitest(project, {\n vitestVersion: \"^4\",\n config: {\n coverageProvider: CoverageProvider.V8,\n coverageReporters: [CoverageReporter.TEXT, CoverageReporter.LCOV],\n },\n});\n```\n\n#### TypeDoc\n\n[TypeDoc](https://typedoc.org) documentation generation component.\n\n```typescript\nimport { TypeDoc, EntryPointStrategy } from \"@nikovirtala/projen-constructs\";\n\nnew TypeDoc(project, {\n version: \"^0.28\",\n typeDocConfig: {\n entryPointStrategy: EntryPointStrategy.EXPAND,\n out: \"docs/api\",\n exclude: [\"**/*.test.ts\"],\n },\n});\n```\n\n#### Mise\n\n[Mise](https://mise.jdx.dev) dev tools/runtimes management component.\n\n```typescript\nimport { Mise } from \"@nikovirtala/projen-constructs\";\n\nnew Mise(project, {\n nodeVersion: \"22.21.1\",\n});\n```\n\n#### Homebrew\n\n[Homebrew](https://brew.sh) package management component.\n\n```typescript\nimport { Homebrew } from \"@nikovirtala/projen-constructs\";\n\nconst homebrew = new Homebrew(project, {\n packages: [\"jq\", \"yq\"],\n});\n\nhomebrew.addPackage(\"gh\");\n```\n\n#### Colima\n\n[Colima](https://github.com/abiosoft/colima) container runtime component. Alternative for Docker.\n\n```typescript\nimport { Colima } from \"@nikovirtala/projen-constructs\";\n\nnew Colima(project);\n```\n\n#### LocalStack\n\n[LocalStack](https://www.localstack.cloud) AWS emulation component.\n\n```typescript\nimport { LocalStack } from \"@nikovirtala/projen-constructs\";\n\nnew LocalStack(project, {\n services: [\"s3\", \"lambda\", \"dynamodb\"],\n port: 4566,\n debug: true,\n});\n```\n\n#### LambdaFunctionConstructGenerator\n\nGenerates AWS CDK Lambda Function constructs and bundles their code.\n\n```typescript\nimport { LambdaFunctionConstructGenerator } from \"@nikovirtala/projen-constructs\";\n\nnew LambdaFunctionConstructGenerator(project, {\n sourceDir: \"src/handlers\",\n outputDir: \"src/constructs/lambda\",\n filePattern: \"*.lambda.ts\",\n esbuildOptions: {\n minify: true,\n sourcemap: true,\n },\n});\n```\n\n#### Bundler\n\nLow-level bundling utilities for Lambda functions.\n\n```typescript\nimport {\n Bundler,\n LambdaFunctionCodeBundle,\n} from \"@nikovirtala/projen-constructs\";\n\nconst bundler = new Bundler(project, {\n assetsDir: \"assets\",\n esbuildVersion: \"^0.25\",\n});\n\nnew LambdaFunctionCodeBundle(project, {\n entrypoint: \"src/my-function.lambda.ts\",\n extension: \".lambda.ts\",\n});\n```\n\n#### ProjectGenerator\n\nGenerates TypeScript project classes with standard configuration.\n\n```typescript\nimport { ProjectGenerator, ProjectType } from \"@nikovirtala/projen-constructs\";\n\nnew ProjectGenerator(project, {\n name: \"TypeScriptProject\",\n projectType: ProjectType.TYPESCRIPT,\n filePath: \"./src/projects/typescript.generated.ts\",\n components: [\n { componentClass: Mise },\n { componentClass: Vitest }, // Auto-detects VitestOptions from JSII manifest\n ],\n});\n```\n\nFeatures:\n- Automatically generates the `ProjectType` enum from Projen's JSII manifest\n- Auto-detects component options types from JSII manifests\n- Validates paths to prevent directory traversal attacks\n- Structured error handling with custom error classes\n"
4194
4194
  },
4195
4195
  "repository": {
4196
4196
  "type": "git",
@@ -4218,7 +4218,7 @@
4218
4218
  },
4219
4219
  "locationInModule": {
4220
4220
  "filename": "src/projects/awscdk-construct-library.generated.ts",
4221
- "line": 22
4221
+ "line": 20
4222
4222
  },
4223
4223
  "parameters": [
4224
4224
  {
@@ -4235,7 +4235,7 @@
4235
4235
  "kind": "class",
4236
4236
  "locationInModule": {
4237
4237
  "filename": "src/projects/awscdk-construct-library.generated.ts",
4238
- "line": 18
4238
+ "line": 16
4239
4239
  },
4240
4240
  "name": "AwsCdkConstructLibraryProject",
4241
4241
  "symbolId": "src/projects/awscdk-construct-library.generated:AwsCdkConstructLibraryProject"
@@ -7353,7 +7353,7 @@
7353
7353
  },
7354
7354
  "locationInModule": {
7355
7355
  "filename": "src/projects/awscdk-typescript-app.generated.ts",
7356
- "line": 22
7356
+ "line": 20
7357
7357
  },
7358
7358
  "parameters": [
7359
7359
  {
@@ -7370,7 +7370,7 @@
7370
7370
  "kind": "class",
7371
7371
  "locationInModule": {
7372
7372
  "filename": "src/projects/awscdk-typescript-app.generated.ts",
7373
- "line": 18
7373
+ "line": 16
7374
7374
  },
7375
7375
  "name": "AwsCdkTypeScriptAppProject",
7376
7376
  "symbolId": "src/projects/awscdk-typescript-app.generated:AwsCdkTypeScriptAppProject"
@@ -10373,6 +10373,140 @@
10373
10373
  ],
10374
10374
  "symbolId": "src/projects/awscdk-typescript-app-options.generated:AwsCdkTypeScriptAppProjectOptions"
10375
10375
  },
10376
+ "@nikovirtala/projen-constructs.Component": {
10377
+ "assembly": "@nikovirtala/projen-constructs",
10378
+ "datatype": true,
10379
+ "docs": {
10380
+ "stability": "stable",
10381
+ "summary": "Configuration for a component to be integrated into a generated project."
10382
+ },
10383
+ "fqn": "@nikovirtala/projen-constructs.Component",
10384
+ "kind": "interface",
10385
+ "locationInModule": {
10386
+ "filename": "src/project-generator.ts",
10387
+ "line": 36
10388
+ },
10389
+ "name": "Component",
10390
+ "properties": [
10391
+ {
10392
+ "abstract": true,
10393
+ "docs": {
10394
+ "remarks": "Optional - auto-detected by searching JSII manifests.",
10395
+ "stability": "stable",
10396
+ "summary": "Fully qualified name of the component class."
10397
+ },
10398
+ "immutable": true,
10399
+ "locationInModule": {
10400
+ "filename": "src/project-generator.ts",
10401
+ "line": 49
10402
+ },
10403
+ "name": "fqn",
10404
+ "optional": true,
10405
+ "type": {
10406
+ "primitive": "string"
10407
+ }
10408
+ },
10409
+ {
10410
+ "abstract": true,
10411
+ "docs": {
10412
+ "remarks": "Optional - auto-detected from component constructor.\nSet to false to disable options property generation.\nSet to string or object to customize the property name.",
10413
+ "stability": "stable",
10414
+ "summary": "Options property configuration for the generated options interface."
10415
+ },
10416
+ "immutable": true,
10417
+ "locationInModule": {
10418
+ "filename": "src/project-generator.ts",
10419
+ "line": 58
10420
+ },
10421
+ "name": "optionsProperty",
10422
+ "optional": true,
10423
+ "type": {
10424
+ "union": {
10425
+ "types": [
10426
+ {
10427
+ "primitive": "string"
10428
+ },
10429
+ {
10430
+ "primitive": "boolean"
10431
+ },
10432
+ {
10433
+ "fqn": "@nikovirtala/projen-constructs.ComponentOptions"
10434
+ }
10435
+ ]
10436
+ }
10437
+ }
10438
+ }
10439
+ ],
10440
+ "symbolId": "src/project-generator:Component"
10441
+ },
10442
+ "@nikovirtala/projen-constructs.ComponentOptions": {
10443
+ "assembly": "@nikovirtala/projen-constructs",
10444
+ "datatype": true,
10445
+ "docs": {
10446
+ "stability": "stable",
10447
+ "summary": "Options property configuration."
10448
+ },
10449
+ "fqn": "@nikovirtala/projen-constructs.ComponentOptions",
10450
+ "kind": "interface",
10451
+ "locationInModule": {
10452
+ "filename": "src/project-generator.ts",
10453
+ "line": 64
10454
+ },
10455
+ "name": "ComponentOptions",
10456
+ "properties": [
10457
+ {
10458
+ "abstract": true,
10459
+ "docs": {
10460
+ "stability": "stable",
10461
+ "summary": "Name of the options property."
10462
+ },
10463
+ "immutable": true,
10464
+ "locationInModule": {
10465
+ "filename": "src/project-generator.ts",
10466
+ "line": 68
10467
+ },
10468
+ "name": "name",
10469
+ "type": {
10470
+ "primitive": "string"
10471
+ }
10472
+ },
10473
+ {
10474
+ "abstract": true,
10475
+ "docs": {
10476
+ "stability": "stable",
10477
+ "summary": "Documentation summary (optional, auto-detected from component constructor)."
10478
+ },
10479
+ "immutable": true,
10480
+ "locationInModule": {
10481
+ "filename": "src/project-generator.ts",
10482
+ "line": 76
10483
+ },
10484
+ "name": "docs",
10485
+ "optional": true,
10486
+ "type": {
10487
+ "primitive": "string"
10488
+ }
10489
+ },
10490
+ {
10491
+ "abstract": true,
10492
+ "docs": {
10493
+ "stability": "stable",
10494
+ "summary": "Fully qualified type name (optional, auto-detected from component constructor)."
10495
+ },
10496
+ "immutable": true,
10497
+ "locationInModule": {
10498
+ "filename": "src/project-generator.ts",
10499
+ "line": 72
10500
+ },
10501
+ "name": "type",
10502
+ "optional": true,
10503
+ "type": {
10504
+ "primitive": "string"
10505
+ }
10506
+ }
10507
+ ],
10508
+ "symbolId": "src/project-generator:ComponentOptions"
10509
+ },
10376
10510
  "@nikovirtala/projen-constructs.CoverageProvider": {
10377
10511
  "assembly": "@nikovirtala/projen-constructs",
10378
10512
  "docs": {
@@ -10382,18 +10516,22 @@
10382
10516
  "kind": "enum",
10383
10517
  "locationInModule": {
10384
10518
  "filename": "src/components/vitest.ts",
10385
- "line": 21
10519
+ "line": 72
10386
10520
  },
10387
10521
  "members": [
10388
10522
  {
10389
10523
  "docs": {
10390
- "stability": "stable"
10524
+ "see": "https://istanbul.js.org",
10525
+ "stability": "stable",
10526
+ "summary": "Provide coverage report using istanbul."
10391
10527
  },
10392
10528
  "name": "ISTANBUL"
10393
10529
  },
10394
10530
  {
10395
10531
  "docs": {
10396
- "stability": "stable"
10532
+ "see": "https://v8.dev/blog/javascript-code-coverage",
10533
+ "stability": "stable",
10534
+ "summary": "Provide coverage reports using v8."
10397
10535
  },
10398
10536
  "name": "V8"
10399
10537
  }
@@ -10410,36 +10548,41 @@
10410
10548
  "kind": "enum",
10411
10549
  "locationInModule": {
10412
10550
  "filename": "src/components/vitest.ts",
10413
- "line": 26
10551
+ "line": 88
10414
10552
  },
10415
10553
  "members": [
10416
10554
  {
10417
10555
  "docs": {
10418
- "stability": "stable"
10556
+ "stability": "stable",
10557
+ "summary": "Provides `clover` report."
10419
10558
  },
10420
10559
  "name": "CLOVER"
10421
10560
  },
10422
10561
  {
10423
10562
  "docs": {
10424
- "stability": "stable"
10563
+ "stability": "stable",
10564
+ "summary": "Provides `HTML` report."
10425
10565
  },
10426
10566
  "name": "HTML"
10427
10567
  },
10428
10568
  {
10429
10569
  "docs": {
10430
- "stability": "stable"
10570
+ "stability": "stable",
10571
+ "summary": "Provides `JSON` report."
10431
10572
  },
10432
10573
  "name": "JSON"
10433
10574
  },
10434
10575
  {
10435
10576
  "docs": {
10436
- "stability": "stable"
10577
+ "stability": "stable",
10578
+ "summary": "Provides `LCOV` report."
10437
10579
  },
10438
10580
  "name": "LCOV"
10439
10581
  },
10440
10582
  {
10441
10583
  "docs": {
10442
- "stability": "stable"
10584
+ "stability": "stable",
10585
+ "summary": "Provides `text` report."
10443
10586
  },
10444
10587
  "name": "TEXT"
10445
10588
  }
@@ -10461,25 +10604,32 @@
10461
10604
  "members": [
10462
10605
  {
10463
10606
  "docs": {
10464
- "stability": "stable"
10607
+ "see": "https://edge-runtime.vercel.app/packages/vm",
10608
+ "stability": "stable",
10609
+ "summary": "Run tests in Vercel's Edge Runtime VM."
10465
10610
  },
10466
10611
  "name": "EDGE_RUNTIME"
10467
10612
  },
10468
10613
  {
10469
10614
  "docs": {
10470
- "stability": "stable"
10615
+ "see": "https://github.com/capricorn86/happy-dom",
10616
+ "stability": "stable",
10617
+ "summary": "Run tests in `happy-dom` environment."
10471
10618
  },
10472
10619
  "name": "HAPPY_DOM"
10473
10620
  },
10474
10621
  {
10475
10622
  "docs": {
10476
- "stability": "stable"
10623
+ "see": "https://github.com/jsdom/jsdom",
10624
+ "stability": "stable",
10625
+ "summary": "Run tests in `jsdom` environment."
10477
10626
  },
10478
10627
  "name": "JSDOM"
10479
10628
  },
10480
10629
  {
10481
10630
  "docs": {
10482
- "stability": "stable"
10631
+ "stability": "stable",
10632
+ "summary": "Run tests in a Node.js environment."
10483
10633
  },
10484
10634
  "name": "NODE"
10485
10635
  }
@@ -10502,7 +10652,7 @@
10502
10652
  },
10503
10653
  "locationInModule": {
10504
10654
  "filename": "src/projects/jsii.generated.ts",
10505
- "line": 22
10655
+ "line": 20
10506
10656
  },
10507
10657
  "parameters": [
10508
10658
  {
@@ -10519,7 +10669,7 @@
10519
10669
  "kind": "class",
10520
10670
  "locationInModule": {
10521
10671
  "filename": "src/projects/jsii.generated.ts",
10522
- "line": 18
10672
+ "line": 16
10523
10673
  },
10524
10674
  "name": "JsiiProject",
10525
10675
  "symbolId": "src/projects/jsii.generated:JsiiProject"
@@ -13413,30 +13563,40 @@
13413
13563
  "kind": "enum",
13414
13564
  "locationInModule": {
13415
13565
  "filename": "src/components/vitest.ts",
13416
- "line": 14
13566
+ "line": 35
13417
13567
  },
13418
13568
  "members": [
13419
13569
  {
13420
13570
  "docs": {
13421
- "stability": "stable"
13571
+ "remarks": "Test isolation (when enabled) is done by spawning a new child process for each test file.",
13572
+ "see": "https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options",
13573
+ "stability": "stable",
13574
+ "summary": "Run tests in `node:child_process` using fork()."
13422
13575
  },
13423
13576
  "name": "FORKS"
13424
13577
  },
13425
13578
  {
13426
13579
  "docs": {
13427
- "stability": "stable"
13580
+ "remarks": "Test isolation (when enabled) is done by spawning a new thread for each test file.",
13581
+ "stability": "stable",
13582
+ "summary": "Run tests in `node:worker_threads`."
13428
13583
  },
13429
13584
  "name": "THREADS"
13430
13585
  },
13431
13586
  {
13432
13587
  "docs": {
13433
- "stability": "stable"
13588
+ "remarks": "Test files are run parallel using `node:child_process` fork()\n\nThis makes tests run faster, but VM module is unstable. Your tests might leak memory.",
13589
+ "see": "https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options",
13590
+ "stability": "stable",
13591
+ "summary": "Run tests in isolated `node:vm`."
13434
13592
  },
13435
13593
  "name": "VMFORKS"
13436
13594
  },
13437
13595
  {
13438
13596
  "docs": {
13439
- "stability": "stable"
13597
+ "remarks": "This makes tests run faster, but VM module is unstable. Your tests might leak memory.",
13598
+ "stability": "stable",
13599
+ "summary": "Run tests in isolated `node:vm`. Test files are run parallel using `node:worker_threads`."
13440
13600
  },
13441
13601
  "name": "VMTHREADS"
13442
13602
  }
@@ -13444,6 +13604,357 @@
13444
13604
  "name": "Pool",
13445
13605
  "symbolId": "src/components/vitest:Pool"
13446
13606
  },
13607
+ "@nikovirtala/projen-constructs.ProjectGenerator": {
13608
+ "assembly": "@nikovirtala/projen-constructs",
13609
+ "base": "projen.Component",
13610
+ "docs": {
13611
+ "remarks": "This component automates the creation of project classes that extend Projen base classes\nwith opinionated defaults and component integration.",
13612
+ "stability": "stable",
13613
+ "summary": "Projen component that generates TypeScript project classes with standard configuration."
13614
+ },
13615
+ "fqn": "@nikovirtala/projen-constructs.ProjectGenerator",
13616
+ "initializer": {
13617
+ "docs": {
13618
+ "stability": "stable"
13619
+ },
13620
+ "locationInModule": {
13621
+ "filename": "src/project-generator.ts",
13622
+ "line": 559
13623
+ },
13624
+ "parameters": [
13625
+ {
13626
+ "docs": {
13627
+ "summary": "- Projen project instance."
13628
+ },
13629
+ "name": "project",
13630
+ "type": {
13631
+ "fqn": "projen.Project"
13632
+ }
13633
+ },
13634
+ {
13635
+ "docs": {
13636
+ "summary": "- Generator configuration."
13637
+ },
13638
+ "name": "options",
13639
+ "type": {
13640
+ "fqn": "@nikovirtala/projen-constructs.ProjectGeneratorOptions"
13641
+ }
13642
+ }
13643
+ ]
13644
+ },
13645
+ "kind": "class",
13646
+ "locationInModule": {
13647
+ "filename": "src/project-generator.ts",
13648
+ "line": 551
13649
+ },
13650
+ "methods": [
13651
+ {
13652
+ "docs": {
13653
+ "remarks": "Called by Projen during the synthesis phase to generate the project class file.\nThe file is marked as readonly to prevent manual editing.",
13654
+ "stability": "stable",
13655
+ "summary": "Generates the TypeScript class file during Projen synthesis."
13656
+ },
13657
+ "locationInModule": {
13658
+ "filename": "src/project-generator.ts",
13659
+ "line": 688
13660
+ },
13661
+ "name": "preSynthesize",
13662
+ "overrides": "projen.Component"
13663
+ }
13664
+ ],
13665
+ "name": "ProjectGenerator",
13666
+ "symbolId": "src/project-generator:ProjectGenerator"
13667
+ },
13668
+ "@nikovirtala/projen-constructs.ProjectGeneratorOptions": {
13669
+ "assembly": "@nikovirtala/projen-constructs",
13670
+ "datatype": true,
13671
+ "docs": {
13672
+ "remarks": "Configures the generation of a TypeScript project class that extends a Projen base class\nwith standard configuration and component integration.",
13673
+ "stability": "stable",
13674
+ "summary": "Options for ProjectGenerator component."
13675
+ },
13676
+ "fqn": "@nikovirtala/projen-constructs.ProjectGeneratorOptions",
13677
+ "interfaces": [
13678
+ "projen.SourceCodeOptions"
13679
+ ],
13680
+ "kind": "interface",
13681
+ "locationInModule": {
13682
+ "filename": "src/project-generator.ts",
13683
+ "line": 85
13684
+ },
13685
+ "name": "ProjectGeneratorOptions",
13686
+ "properties": [
13687
+ {
13688
+ "abstract": true,
13689
+ "docs": {
13690
+ "example": "\"src/projects/typescript.generated.ts\"",
13691
+ "remarks": "Must contain a directory separator. The options interface will be generated\nin the same directory with a \".generated.ts\" suffix.",
13692
+ "stability": "stable",
13693
+ "summary": "Output file path for the generated class."
13694
+ },
13695
+ "immutable": true,
13696
+ "locationInModule": {
13697
+ "filename": "src/project-generator.ts",
13698
+ "line": 111
13699
+ },
13700
+ "name": "filePath",
13701
+ "type": {
13702
+ "primitive": "string"
13703
+ }
13704
+ },
13705
+ {
13706
+ "abstract": true,
13707
+ "docs": {
13708
+ "remarks": "The options interface will be named `${name}Options`.",
13709
+ "stability": "stable",
13710
+ "summary": "Name of the generated class (e.g., \"TypeScriptProject\")."
13711
+ },
13712
+ "immutable": true,
13713
+ "locationInModule": {
13714
+ "filename": "src/project-generator.ts",
13715
+ "line": 91
13716
+ },
13717
+ "name": "name",
13718
+ "type": {
13719
+ "primitive": "string"
13720
+ }
13721
+ },
13722
+ {
13723
+ "abstract": true,
13724
+ "docs": {
13725
+ "example": "ProjectType.JSII",
13726
+ "remarks": "Specifies which Projen base class to extend and which default configuration to apply.",
13727
+ "stability": "stable",
13728
+ "summary": "Project type identifier."
13729
+ },
13730
+ "immutable": true,
13731
+ "locationInModule": {
13732
+ "filename": "src/project-generator.ts",
13733
+ "line": 101
13734
+ },
13735
+ "name": "projectType",
13736
+ "type": {
13737
+ "fqn": "@nikovirtala/projen-constructs.ProjectType"
13738
+ }
13739
+ },
13740
+ {
13741
+ "abstract": true,
13742
+ "docs": {
13743
+ "default": "[{ component: Mise }, { component: Vitest, optionsProperty: { name: \"vitestOptions\", type: \"...\", docs: \"...\" } }]",
13744
+ "remarks": "Each component will be instantiated during project construction and can be\nconfigured via an optional options property in the generated interface.",
13745
+ "stability": "stable",
13746
+ "summary": "Components to integrate into the project."
13747
+ },
13748
+ "immutable": true,
13749
+ "locationInModule": {
13750
+ "filename": "src/project-generator.ts",
13751
+ "line": 121
13752
+ },
13753
+ "name": "components",
13754
+ "optional": true,
13755
+ "type": {
13756
+ "collection": {
13757
+ "elementtype": {
13758
+ "fqn": "@nikovirtala/projen-constructs.Component"
13759
+ },
13760
+ "kind": "array"
13761
+ }
13762
+ }
13763
+ },
13764
+ {
13765
+ "abstract": true,
13766
+ "docs": {
13767
+ "remarks": "Use this to hide base class options that should not be configurable\nin the generated project type.",
13768
+ "stability": "stable",
13769
+ "summary": "Property names to omit from the base options interface."
13770
+ },
13771
+ "immutable": true,
13772
+ "locationInModule": {
13773
+ "filename": "src/project-generator.ts",
13774
+ "line": 139
13775
+ },
13776
+ "name": "omitOptions",
13777
+ "optional": true,
13778
+ "type": {
13779
+ "collection": {
13780
+ "elementtype": {
13781
+ "primitive": "string"
13782
+ },
13783
+ "kind": "array"
13784
+ }
13785
+ }
13786
+ }
13787
+ ],
13788
+ "symbolId": "src/project-generator:ProjectGeneratorOptions"
13789
+ },
13790
+ "@nikovirtala/projen-constructs.ProjectType": {
13791
+ "assembly": "@nikovirtala/projen-constructs",
13792
+ "docs": {
13793
+ "custom": {
13794
+ "generated": "Automatically generated from Projen's JSII manifest"
13795
+ },
13796
+ "remarks": "Each project type corresponds to a generated project class and its configuration\nin the defaultOptions structure.",
13797
+ "stability": "stable",
13798
+ "summary": "Enum defining all supported project types."
13799
+ },
13800
+ "fqn": "@nikovirtala/projen-constructs.ProjectType",
13801
+ "kind": "enum",
13802
+ "locationInModule": {
13803
+ "filename": "src/project-type.ts",
13804
+ "line": 9
13805
+ },
13806
+ "members": [
13807
+ {
13808
+ "docs": {
13809
+ "stability": "stable",
13810
+ "summary": "AWS CDK construct library project."
13811
+ },
13812
+ "name": "AWS_CDK_CONSTRUCT_LIBRARY"
13813
+ },
13814
+ {
13815
+ "docs": {
13816
+ "stability": "stable",
13817
+ "summary": "AWS CDK app in Java."
13818
+ },
13819
+ "name": "AWS_CDK_JAVA_APP"
13820
+ },
13821
+ {
13822
+ "docs": {
13823
+ "stability": "stable",
13824
+ "summary": "AWS CDK app in Python."
13825
+ },
13826
+ "name": "AWS_CDK_PYTHON_APP"
13827
+ },
13828
+ {
13829
+ "docs": {
13830
+ "stability": "stable",
13831
+ "summary": "AWS CDK app in TypeScript."
13832
+ },
13833
+ "name": "AWS_CDK_TYPE_SCRIPT_APP"
13834
+ },
13835
+ {
13836
+ "docs": {
13837
+ "stability": "stable",
13838
+ "summary": "CDK8s app in Python."
13839
+ },
13840
+ "name": "CDK8S_PYTHON_APP"
13841
+ },
13842
+ {
13843
+ "docs": {
13844
+ "stability": "stable",
13845
+ "summary": "CDK8s app in TypeScript."
13846
+ },
13847
+ "name": "CDK8S_TYPE_SCRIPT_APP"
13848
+ },
13849
+ {
13850
+ "docs": {
13851
+ "stability": "stable",
13852
+ "summary": "ConstructLibraryAws."
13853
+ },
13854
+ "name": "CONSTRUCT_LIBRARY_AWS"
13855
+ },
13856
+ {
13857
+ "docs": {
13858
+ "stability": "stable",
13859
+ "summary": "CDK8s construct library project."
13860
+ },
13861
+ "name": "CONSTRUCT_LIBRARY_CDK8S"
13862
+ },
13863
+ {
13864
+ "docs": {
13865
+ "stability": "stable",
13866
+ "summary": "CDKTF construct library project."
13867
+ },
13868
+ "name": "CONSTRUCT_LIBRARY_CDKTF"
13869
+ },
13870
+ {
13871
+ "docs": {
13872
+ "stability": "stable",
13873
+ "summary": "GitHub-based project."
13874
+ },
13875
+ "name": "GIT_HUB_PROJECT"
13876
+ },
13877
+ {
13878
+ "docs": {
13879
+ "stability": "stable",
13880
+ "summary": "Java project."
13881
+ },
13882
+ "name": "JAVA_PROJECT"
13883
+ },
13884
+ {
13885
+ "docs": {
13886
+ "stability": "stable",
13887
+ "summary": "Multi-language jsii library project."
13888
+ },
13889
+ "name": "JSII_PROJECT"
13890
+ },
13891
+ {
13892
+ "docs": {
13893
+ "stability": "stable",
13894
+ "summary": "Next.js project using JavaScript."
13895
+ },
13896
+ "name": "NEXT_JS_PROJECT"
13897
+ },
13898
+ {
13899
+ "docs": {
13900
+ "stability": "stable",
13901
+ "summary": "Next.js project using TypeScript."
13902
+ },
13903
+ "name": "NEXT_JS_TYPE_SCRIPT_PROJECT"
13904
+ },
13905
+ {
13906
+ "docs": {
13907
+ "stability": "stable",
13908
+ "summary": "Node.js project."
13909
+ },
13910
+ "name": "NODE_PROJECT"
13911
+ },
13912
+ {
13913
+ "docs": {
13914
+ "stability": "stable",
13915
+ "summary": "Python project."
13916
+ },
13917
+ "name": "PYTHON_PROJECT"
13918
+ },
13919
+ {
13920
+ "docs": {
13921
+ "stability": "stable",
13922
+ "summary": "React project using JavaScript."
13923
+ },
13924
+ "name": "REACT_PROJECT"
13925
+ },
13926
+ {
13927
+ "docs": {
13928
+ "stability": "stable",
13929
+ "summary": "React project using TypeScript."
13930
+ },
13931
+ "name": "REACT_TYPE_SCRIPT_PROJECT"
13932
+ },
13933
+ {
13934
+ "docs": {
13935
+ "stability": "stable",
13936
+ "summary": "TypeScript app."
13937
+ },
13938
+ "name": "TYPE_SCRIPT_APP_PROJECT"
13939
+ },
13940
+ {
13941
+ "docs": {
13942
+ "stability": "stable",
13943
+ "summary": "TypeScriptLibraryProject."
13944
+ },
13945
+ "name": "TYPE_SCRIPT_LIBRARY_PROJECT"
13946
+ },
13947
+ {
13948
+ "docs": {
13949
+ "stability": "stable",
13950
+ "summary": "TypeScript project."
13951
+ },
13952
+ "name": "TYPE_SCRIPT_PROJECT"
13953
+ }
13954
+ ],
13955
+ "name": "ProjectType",
13956
+ "symbolId": "src/project-type:ProjectType"
13957
+ },
13447
13958
  "@nikovirtala/projen-constructs.TypeScriptProject": {
13448
13959
  "assembly": "@nikovirtala/projen-constructs",
13449
13960
  "base": "projen.typescript.TypeScriptProject",
@@ -13459,7 +13970,7 @@
13459
13970
  },
13460
13971
  "locationInModule": {
13461
13972
  "filename": "src/projects/typescript.generated.ts",
13462
- "line": 22
13973
+ "line": 20
13463
13974
  },
13464
13975
  "parameters": [
13465
13976
  {
@@ -13476,7 +13987,7 @@
13476
13987
  "kind": "class",
13477
13988
  "locationInModule": {
13478
13989
  "filename": "src/projects/typescript.generated.ts",
13479
- "line": 18
13990
+ "line": 16
13480
13991
  },
13481
13992
  "name": "TypeScriptProject",
13482
13993
  "symbolId": "src/projects/typescript.generated:TypeScriptProject"
@@ -16116,7 +16627,7 @@
16116
16627
  },
16117
16628
  "locationInModule": {
16118
16629
  "filename": "src/components/vitest.ts",
16119
- "line": 88
16630
+ "line": 315
16120
16631
  },
16121
16632
  "parameters": [
16122
16633
  {
@@ -16137,7 +16648,7 @@
16137
16648
  "kind": "class",
16138
16649
  "locationInModule": {
16139
16650
  "filename": "src/components/vitest.ts",
16140
- "line": 61
16651
+ "line": 288
16141
16652
  },
16142
16653
  "methods": [
16143
16654
  {
@@ -16146,7 +16657,7 @@
16146
16657
  },
16147
16658
  "locationInModule": {
16148
16659
  "filename": "src/components/vitest.ts",
16149
- "line": 62
16660
+ "line": 289
16150
16661
  },
16151
16662
  "name": "of",
16152
16663
  "parameters": [
@@ -16171,7 +16682,7 @@
16171
16682
  },
16172
16683
  "locationInModule": {
16173
16684
  "filename": "src/components/vitest.ts",
16174
- "line": 150
16685
+ "line": 377
16175
16686
  },
16176
16687
  "name": "addExclude",
16177
16688
  "parameters": [
@@ -16189,7 +16700,7 @@
16189
16700
  },
16190
16701
  "locationInModule": {
16191
16702
  "filename": "src/components/vitest.ts",
16192
- "line": 145
16703
+ "line": 372
16193
16704
  },
16194
16705
  "name": "addInclude",
16195
16706
  "parameters": [
@@ -16207,7 +16718,7 @@
16207
16718
  },
16208
16719
  "locationInModule": {
16209
16720
  "filename": "src/components/vitest.ts",
16210
- "line": 160
16721
+ "line": 387
16211
16722
  },
16212
16723
  "name": "configureCoverageProvider",
16213
16724
  "parameters": [
@@ -16225,7 +16736,7 @@
16225
16736
  },
16226
16737
  "locationInModule": {
16227
16738
  "filename": "src/components/vitest.ts",
16228
- "line": 179
16739
+ "line": 406
16229
16740
  },
16230
16741
  "name": "configureCoverageReporters",
16231
16742
  "parameters": [
@@ -16248,7 +16759,7 @@
16248
16759
  },
16249
16760
  "locationInModule": {
16250
16761
  "filename": "src/components/vitest.ts",
16251
- "line": 155
16762
+ "line": 382
16252
16763
  },
16253
16764
  "name": "configureEnvironment",
16254
16765
  "parameters": [
@@ -16266,7 +16777,7 @@
16266
16777
  },
16267
16778
  "locationInModule": {
16268
16779
  "filename": "src/components/vitest.ts",
16269
- "line": 184
16780
+ "line": 411
16270
16781
  },
16271
16782
  "name": "configureGlobals"
16272
16783
  },
@@ -16277,7 +16788,7 @@
16277
16788
  },
16278
16789
  "locationInModule": {
16279
16790
  "filename": "src/components/vitest.ts",
16280
- "line": 135
16791
+ "line": 362
16281
16792
  },
16282
16793
  "name": "preSynthesize",
16283
16794
  "overrides": "projen.Component"
@@ -16290,25 +16801,30 @@
16290
16801
  "assembly": "@nikovirtala/projen-constructs",
16291
16802
  "datatype": true,
16292
16803
  "docs": {
16293
- "stability": "stable"
16804
+ "see": "https://vitest.dev/config/",
16805
+ "stability": "stable",
16806
+ "summary": "Vitest Config."
16294
16807
  },
16295
16808
  "fqn": "@nikovirtala/projen-constructs.VitestConfigOptions",
16296
16809
  "kind": "interface",
16297
16810
  "locationInModule": {
16298
16811
  "filename": "src/components/vitest.ts",
16299
- "line": 34
16812
+ "line": 120
16300
16813
  },
16301
16814
  "name": "VitestConfigOptions",
16302
16815
  "properties": [
16303
16816
  {
16304
16817
  "abstract": true,
16305
16818
  "docs": {
16306
- "stability": "stable"
16819
+ "default": "0",
16820
+ "see": "https://vitest.dev/config/#bail",
16821
+ "stability": "stable",
16822
+ "summary": "Stop running tests after certain number of failures."
16307
16823
  },
16308
16824
  "immutable": true,
16309
16825
  "locationInModule": {
16310
16826
  "filename": "src/components/vitest.ts",
16311
- "line": 49
16827
+ "line": 240
16312
16828
  },
16313
16829
  "name": "bail",
16314
16830
  "optional": true,
@@ -16319,12 +16835,14 @@
16319
16835
  {
16320
16836
  "abstract": true,
16321
16837
  "docs": {
16322
- "stability": "stable"
16838
+ "default": "\"coverage\"",
16839
+ "stability": "stable",
16840
+ "summary": "Coverage output directory."
16323
16841
  },
16324
16842
  "immutable": true,
16325
16843
  "locationInModule": {
16326
16844
  "filename": "src/components/vitest.ts",
16327
- "line": 44
16845
+ "line": 200
16328
16846
  },
16329
16847
  "name": "coverageDirectory",
16330
16848
  "optional": true,
@@ -16335,12 +16853,15 @@
16335
16853
  {
16336
16854
  "abstract": true,
16337
16855
  "docs": {
16338
- "stability": "stable"
16856
+ "default": "true",
16857
+ "see": "https://vitest.dev/config/#coverage-enabled",
16858
+ "stability": "stable",
16859
+ "summary": "Coverage enabled."
16339
16860
  },
16340
16861
  "immutable": true,
16341
16862
  "locationInModule": {
16342
16863
  "filename": "src/components/vitest.ts",
16343
- "line": 41
16864
+ "line": 177
16344
16865
  },
16345
16866
  "name": "coverageEnabled",
16346
16867
  "optional": true,
@@ -16351,12 +16872,15 @@
16351
16872
  {
16352
16873
  "abstract": true,
16353
16874
  "docs": {
16354
- "stability": "stable"
16875
+ "default": "\"v8\"",
16876
+ "see": "https://vitest.dev/config/#coverage-provider",
16877
+ "stability": "stable",
16878
+ "summary": "Coverage provider type."
16355
16879
  },
16356
16880
  "immutable": true,
16357
16881
  "locationInModule": {
16358
16882
  "filename": "src/components/vitest.ts",
16359
- "line": 42
16883
+ "line": 185
16360
16884
  },
16361
16885
  "name": "coverageProvider",
16362
16886
  "optional": true,
@@ -16367,12 +16891,15 @@
16367
16891
  {
16368
16892
  "abstract": true,
16369
16893
  "docs": {
16370
- "stability": "stable"
16894
+ "default": "'[\"text\", \"lcov\"]'",
16895
+ "see": "https://vitest.dev/config/#coverage-reporter",
16896
+ "stability": "stable",
16897
+ "summary": "Coverage reporters."
16371
16898
  },
16372
16899
  "immutable": true,
16373
16900
  "locationInModule": {
16374
16901
  "filename": "src/components/vitest.ts",
16375
- "line": 43
16902
+ "line": 193
16376
16903
  },
16377
16904
  "name": "coverageReporters",
16378
16905
  "optional": true,
@@ -16388,12 +16915,15 @@
16388
16915
  {
16389
16916
  "abstract": true,
16390
16917
  "docs": {
16391
- "stability": "stable"
16918
+ "default": "\"node\"",
16919
+ "see": "https://vitest.dev/config/#environment",
16920
+ "stability": "stable",
16921
+ "summary": "The environment that will be used for testing."
16392
16922
  },
16393
16923
  "immutable": true,
16394
16924
  "locationInModule": {
16395
16925
  "filename": "src/components/vitest.ts",
16396
- "line": 37
16926
+ "line": 143
16397
16927
  },
16398
16928
  "name": "environment",
16399
16929
  "optional": true,
@@ -16404,12 +16934,15 @@
16404
16934
  {
16405
16935
  "abstract": true,
16406
16936
  "docs": {
16407
- "stability": "stable"
16937
+ "default": "- Vitest's `configDefaults.exclude`",
16938
+ "see": "https://vitest.dev/config/#exclude",
16939
+ "stability": "stable",
16940
+ "summary": "A list of glob patterns that should be excluded from your test files."
16408
16941
  },
16409
16942
  "immutable": true,
16410
16943
  "locationInModule": {
16411
16944
  "filename": "src/components/vitest.ts",
16412
- "line": 36
16945
+ "line": 135
16413
16946
  },
16414
16947
  "name": "exclude",
16415
16948
  "optional": true,
@@ -16425,12 +16958,16 @@
16425
16958
  {
16426
16959
  "abstract": true,
16427
16960
  "docs": {
16428
- "stability": "stable"
16961
+ "default": "false",
16962
+ "remarks": "If you prefer to use the APIs globally like Jest, set to `true`.",
16963
+ "see": "https://vitest.dev/config/#globals",
16964
+ "stability": "stable",
16965
+ "summary": "Register apis globally."
16429
16966
  },
16430
16967
  "immutable": true,
16431
16968
  "locationInModule": {
16432
16969
  "filename": "src/components/vitest.ts",
16433
- "line": 40
16970
+ "line": 169
16434
16971
  },
16435
16972
  "name": "globals",
16436
16973
  "optional": true,
@@ -16441,12 +16978,15 @@
16441
16978
  {
16442
16979
  "abstract": true,
16443
16980
  "docs": {
16444
- "stability": "stable"
16981
+ "default": "- Vitest's `configDefaults.include`",
16982
+ "see": "https://vitest.dev/config/#include",
16983
+ "stability": "stable",
16984
+ "summary": "A list of glob patterns that match your test files."
16445
16985
  },
16446
16986
  "immutable": true,
16447
16987
  "locationInModule": {
16448
16988
  "filename": "src/components/vitest.ts",
16449
- "line": 35
16989
+ "line": 127
16450
16990
  },
16451
16991
  "name": "include",
16452
16992
  "optional": true,
@@ -16462,12 +17002,16 @@
16462
17002
  {
16463
17003
  "abstract": true,
16464
17004
  "docs": {
16465
- "stability": "stable"
17005
+ "default": "true",
17006
+ "remarks": "Disabling this option might improve performance if your code doesn't rely on side effects.",
17007
+ "see": "https://vitest.dev/config/#isolate",
17008
+ "stability": "stable",
17009
+ "summary": "Run tests in an isolated environment. This option has no effect on vmThreads pool."
16466
17010
  },
16467
17011
  "immutable": true,
16468
17012
  "locationInModule": {
16469
17013
  "filename": "src/components/vitest.ts",
16470
- "line": 38
17014
+ "line": 153
16471
17015
  },
16472
17016
  "name": "isolate",
16473
17017
  "optional": true,
@@ -16478,12 +17022,15 @@
16478
17022
  {
16479
17023
  "abstract": true,
16480
17024
  "docs": {
16481
- "stability": "stable"
17025
+ "default": "true",
17026
+ "see": "https://vitest.dev/config/#passwithnotests",
17027
+ "stability": "stable",
17028
+ "summary": "Vitest will not fail, if no tests will be found."
16482
17029
  },
16483
17030
  "immutable": true,
16484
17031
  "locationInModule": {
16485
17032
  "filename": "src/components/vitest.ts",
16486
- "line": 48
17033
+ "line": 232
16487
17034
  },
16488
17035
  "name": "passWithNoTests",
16489
17036
  "optional": true,
@@ -16494,12 +17041,15 @@
16494
17041
  {
16495
17042
  "abstract": true,
16496
17043
  "docs": {
16497
- "stability": "stable"
17044
+ "default": "\"forks\"",
17045
+ "see": "https://vitest.dev/config/#pool",
17046
+ "stability": "stable",
17047
+ "summary": "Pool used to run tests in."
16498
17048
  },
16499
17049
  "immutable": true,
16500
17050
  "locationInModule": {
16501
17051
  "filename": "src/components/vitest.ts",
16502
- "line": 39
17052
+ "line": 161
16503
17053
  },
16504
17054
  "name": "pool",
16505
17055
  "optional": true,
@@ -16510,12 +17060,15 @@
16510
17060
  {
16511
17061
  "abstract": true,
16512
17062
  "docs": {
16513
- "stability": "stable"
17063
+ "default": "true",
17064
+ "see": "https://vitest.dev/config/#consoletrace",
17065
+ "stability": "stable",
17066
+ "summary": "Always print console traces when calling any console method."
16514
17067
  },
16515
17068
  "immutable": true,
16516
17069
  "locationInModule": {
16517
17070
  "filename": "src/components/vitest.ts",
16518
- "line": 51
17071
+ "line": 256
16519
17072
  },
16520
17073
  "name": "printConsoleTrace",
16521
17074
  "optional": true,
@@ -16526,12 +17079,15 @@
16526
17079
  {
16527
17080
  "abstract": true,
16528
17081
  "docs": {
16529
- "stability": "stable"
17082
+ "default": "300",
17083
+ "see": "https://vitest.dev/config/#slowtestthreshold",
17084
+ "stability": "stable",
17085
+ "summary": "The number of milliseconds after which a test or suite is considered slow."
16530
17086
  },
16531
17087
  "immutable": true,
16532
17088
  "locationInModule": {
16533
17089
  "filename": "src/components/vitest.ts",
16534
- "line": 52
17090
+ "line": 264
16535
17091
  },
16536
17092
  "name": "slowTestThreshold",
16537
17093
  "optional": true,
@@ -16542,12 +17098,16 @@
16542
17098
  {
16543
17099
  "abstract": true,
16544
17100
  "docs": {
16545
- "stability": "stable"
17101
+ "default": "\"tsc --noEmit\"",
17102
+ "remarks": "Checker should implement the same output format as `tsc`.",
17103
+ "see": "https://vitest.dev/config/#typecheck-checker",
17104
+ "stability": "stable",
17105
+ "summary": "Tool to use for type checking."
16546
17106
  },
16547
17107
  "immutable": true,
16548
17108
  "locationInModule": {
16549
17109
  "filename": "src/components/vitest.ts",
16550
- "line": 46
17110
+ "line": 216
16551
17111
  },
16552
17112
  "name": "typecheckChecker",
16553
17113
  "optional": true,
@@ -16558,12 +17118,15 @@
16558
17118
  {
16559
17119
  "abstract": true,
16560
17120
  "docs": {
16561
- "stability": "stable"
17121
+ "default": "true (for TypeScript projects)",
17122
+ "see": "https://vitest.dev/config/#typecheck-enabled",
17123
+ "stability": "stable",
17124
+ "summary": "Enable typechecking alongside your regular tests."
16562
17125
  },
16563
17126
  "immutable": true,
16564
17127
  "locationInModule": {
16565
17128
  "filename": "src/components/vitest.ts",
16566
- "line": 45
17129
+ "line": 208
16567
17130
  },
16568
17131
  "name": "typecheckEnabled",
16569
17132
  "optional": true,
@@ -16574,12 +17137,15 @@
16574
17137
  {
16575
17138
  "abstract": true,
16576
17139
  "docs": {
16577
- "stability": "stable"
17140
+ "default": "\"tsconfig.dev.json\"",
17141
+ "see": "https://vitest.dev/config/#typecheck-tsconfig",
17142
+ "stability": "stable",
17143
+ "summary": "Path to custom tsconfig, relative to the project root."
16578
17144
  },
16579
17145
  "immutable": true,
16580
17146
  "locationInModule": {
16581
17147
  "filename": "src/components/vitest.ts",
16582
- "line": 47
17148
+ "line": 224
16583
17149
  },
16584
17150
  "name": "typecheckTsconfig",
16585
17151
  "optional": true,
@@ -16590,12 +17156,16 @@
16590
17156
  {
16591
17157
  "abstract": true,
16592
17158
  "docs": {
16593
- "stability": "stable"
17159
+ "default": "true",
17160
+ "remarks": "This will update all changed snapshots and delete obsolete ones.",
17161
+ "see": "https://vitest.dev/guide/snapshot.html#updating-snapshots",
17162
+ "stability": "stable",
17163
+ "summary": "Update snapshot files."
16594
17164
  },
16595
17165
  "immutable": true,
16596
17166
  "locationInModule": {
16597
17167
  "filename": "src/components/vitest.ts",
16598
- "line": 50
17168
+ "line": 248
16599
17169
  },
16600
17170
  "name": "updateSnapshots",
16601
17171
  "optional": true,
@@ -16616,19 +17186,20 @@
16616
17186
  "kind": "interface",
16617
17187
  "locationInModule": {
16618
17188
  "filename": "src/components/vitest.ts",
16619
- "line": 55
17189
+ "line": 267
16620
17190
  },
16621
17191
  "name": "VitestOptions",
16622
17192
  "properties": [
16623
17193
  {
16624
17194
  "abstract": true,
16625
17195
  "docs": {
16626
- "stability": "stable"
17196
+ "stability": "stable",
17197
+ "summary": "Initial config options."
16627
17198
  },
16628
17199
  "immutable": true,
16629
17200
  "locationInModule": {
16630
17201
  "filename": "src/components/vitest.ts",
16631
- "line": 57
17202
+ "line": 278
16632
17203
  },
16633
17204
  "name": "config",
16634
17205
  "optional": true,
@@ -16639,12 +17210,14 @@
16639
17210
  {
16640
17211
  "abstract": true,
16641
17212
  "docs": {
16642
- "stability": "stable"
17213
+ "default": "\"vitest.config.ts\"",
17214
+ "stability": "stable",
17215
+ "summary": "Config file path."
16643
17216
  },
16644
17217
  "immutable": true,
16645
17218
  "locationInModule": {
16646
17219
  "filename": "src/components/vitest.ts",
16647
- "line": 56
17220
+ "line": 273
16648
17221
  },
16649
17222
  "name": "configFilePath",
16650
17223
  "optional": true,
@@ -16655,12 +17228,14 @@
16655
17228
  {
16656
17229
  "abstract": true,
16657
17230
  "docs": {
16658
- "stability": "stable"
17231
+ "default": "\"^4\"",
17232
+ "stability": "stable",
17233
+ "summary": "Vitest version."
16659
17234
  },
16660
17235
  "immutable": true,
16661
17236
  "locationInModule": {
16662
17237
  "filename": "src/components/vitest.ts",
16663
- "line": 58
17238
+ "line": 285
16664
17239
  },
16665
17240
  "name": "vitestVersion",
16666
17241
  "optional": true,
@@ -16672,6 +17247,6 @@
16672
17247
  "symbolId": "src/components/vitest:VitestOptions"
16673
17248
  }
16674
17249
  },
16675
- "version": "0.1.7",
16676
- "fingerprint": "fKIdAUpYpzQgCvKH5RNjCoO//0A0M6fktW7nqaXLR6E="
17250
+ "version": "0.2.0",
17251
+ "fingerprint": "xuX563zrmTKL1EVuZhYRywKnsCFqGf4m29DJkKiXN64="
16677
17252
  }