@nikovirtala/projen-constructs 0.5.2 → 0.5.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/.jsii +3 -3
- package/AGENTS.md +41 -0
- package/CHANGELOG.md +43 -0
- package/CONTRIBUTING.md +66 -0
- package/README.md +28 -14
- package/SECURITY.md +29 -0
- package/docs/api/index.html +45 -12
- package/docs/api/media/index.html +45 -12
- package/lib/components/bundle-lambda-function-code.js +3 -3
- package/lib/components/colima.js +1 -1
- package/lib/components/homebrew.js +1 -1
- package/lib/components/lambda-function-construct-generator.js +1 -1
- package/lib/components/localstack.js +1 -1
- package/lib/components/mise.js +1 -1
- package/lib/components/typedoc.js +1 -1
- package/lib/components/vitest.js +1 -1
- package/lib/project-generator.js +1 -1
- package/lib/projects/awscdk-construct-library.generated.js +1 -1
- package/lib/projects/awscdk-typescript-app.generated.js +1 -1
- package/lib/projects/jsii.generated.js +1 -1
- package/lib/projects/typescript.generated.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -4196,7 +4196,7 @@
|
|
|
4196
4196
|
},
|
|
4197
4197
|
"name": "@nikovirtala/projen-constructs",
|
|
4198
4198
|
"readme": {
|
|
4199
|
-
"markdown": "# @nikovirtala/projen-constructs\n\nOpinionated projen project types that scaffold TypeScript, JSII and AWS CDK repositories with one shared config.\n\n[](https://www.npmjs.com/package/@nikovirtala/projen-constructs)\n[](https://github.com/nikovirtala/projen-constructs/actions/workflows/build.yml)\n[](./LICENSE)\n[](https://nodejs.org)\n[](https://projen.io)\n\n## Why this exists\n\nProjen gives you code-first project configuration, but wiring up a consistent setup across many\nTypeScript, JSII and AWS CDK repositories still means repeating the same choices. This library\npackages those choices into ready-made project types and reusable components, so every repository\nyou generate shares the same package manager, Node.js and TypeScript versions, testing, linting and\nrelease tooling.\n\nIt is for anyone in the projen and AWS CDK community who maintains more than one repository and wants\nthem to behave the same way without hand-copying configuration between them.\n\n## When not to use this\n\nReach for plain projen instead when:\n\n- you want unopinionated projen defaults and prefer to make each tooling choice yourself\n- your setup is not pnpm-based or cannot run Node.js 26\n- you build in languages beyond TypeScript, JSII and AWS CDK\n\n## Status and supported versions\n\nStability: **stable**. This library requires `projen` ^0.104.23, pnpm 12, and Node.js >= 26.13.0.\nThese values are maintained in `src/versions.json` and the project configuration; the numbers quoted\nacross this documentation track those sources.\n\n## Documentation\n\n| Guide | What it covers |\n| --- | --- |\n| [Configuration](./docs/configuration.md) | Standard defaults, pnpm settings, the TypeScript configs, native TypeScript, and how to customize any option |\n| [Components](./docs/components.md) | Reference for every component: Vitest, TypeDoc, Mise, Homebrew, Colima, LocalStack, LambdaFunctionConstructGenerator, Bundler, and ProjectGenerator |\n| [Migration](./docs/migration.md) | Moving from the deprecated standalone packages, including the name mapping and behaviour changes |\n| [Development](./docs/development.md) | Development commands and the build process diagram |\n| [API reference](./docs/api/index.html) | Generated TypeDoc API documentation |\n\nQuick links: [Quick start](#quick-start) · [Usage](#usage) · [Features](#features).\n\n## Quick start\n\
|
|
4199
|
+
"markdown": "# @nikovirtala/projen-constructs\n\nOpinionated projen project types that scaffold TypeScript, JSII and AWS CDK repositories with one shared config.\n\n[](https://www.npmjs.com/package/@nikovirtala/projen-constructs)\n[](https://github.com/nikovirtala/projen-constructs/actions/workflows/build.yml)\n[](./LICENSE)\n[](https://nodejs.org)\n[](https://projen.io)\n\n## Why this exists\n\nProjen gives you code-first project configuration, but wiring up a consistent setup across many\nTypeScript, JSII and AWS CDK repositories still means repeating the same choices. This library\npackages those choices into ready-made project types and reusable components, so every repository\nyou generate shares the same package manager, Node.js and TypeScript versions, testing, linting and\nrelease tooling.\n\nIt is for anyone in the projen and AWS CDK community who maintains more than one repository and wants\nthem to behave the same way without hand-copying configuration between them.\n\n## When not to use this\n\nReach for plain projen instead when:\n\n- you want unopinionated projen defaults and prefer to make each tooling choice yourself\n- your setup is not pnpm-based or cannot run Node.js 26\n- you build in languages beyond TypeScript, JSII and AWS CDK\n\n## Status and supported versions\n\nStability: **stable**. This library requires `projen` ^0.104.23, pnpm 12, and Node.js >= 26.13.0.\nThese values are maintained in `src/versions.json` and the project configuration; the numbers quoted\nacross this documentation track those sources.\n\n## Documentation\n\n| Guide | What it covers |\n| --- | --- |\n| [Configuration](./docs/configuration.md) | Standard defaults, pnpm settings, the TypeScript configs, native TypeScript, and how to customize any option |\n| [Components](./docs/components.md) | Reference for every component: Vitest, TypeDoc, Mise, Homebrew, Colima, LocalStack, LambdaFunctionConstructGenerator, Bundler, and ProjectGenerator |\n| [Migration](./docs/migration.md) | Moving from the deprecated standalone packages, including the name mapping and behaviour changes |\n| [Development](./docs/development.md) | Development commands and the build process diagram |\n| [API reference](./docs/api/index.html) | Generated TypeDoc API documentation |\n\nQuick links: [Quick start](#quick-start) · [Usage](#usage) · [Features](#features).\n\n## Quick start\n\nTo start a new project from scratch, run `projen new --from` in an empty directory. It installs the\nlibrary and writes a ready-to-use `.projenrc.ts` and the full project for you, with no manual setup:\n\n```bash\npnpm dlx projen new --from @nikovirtala/projen-constructs aws_cdk_construct_library\n```\n\n**Expected output**: projen installs `@nikovirtala/projen-constructs` and its peers, writes a\n`.projenrc.ts` that defines the project, and synthesizes the generated files into the directory:\n`package.json`, `tsconfig.json`, `pnpm-workspace.yaml`, the GitHub Actions workflows, the Vitest and\nBiome configuration, `mise.toml`, and the source and test scaffolding for your construct library.\n\nPass a different project type to scaffold one of the others this library provides:\n\n| Project type | `projen new --from` argument |\n| --- | --- |\n| AWS CDK construct library | `aws_cdk_construct_library` |\n| AWS CDK TypeScript app | `aws_cdk_type_script_app` |\n| JSII | `jsii_project` |\n| TypeScript | `type_script_project` |\n\n### Adding it to an existing project\n\nIf you already have a `.projenrc.ts`, install the library alongside its `projen` and `constructs`\npeers instead:\n\n```bash\npnpm add -D @nikovirtala/projen-constructs projen constructs\n```\n\nThen define a project in `.projenrc.ts`:\n\n```typescript\nimport { AwsCdkConstructLibraryProject } from \"@nikovirtala/projen-constructs\";\n\nconst project = new AwsCdkConstructLibraryProject({\n name: \"my-cdk-construct\",\n author: \"Your Name\",\n authorAddress: \"you@example.com\",\n repositoryUrl: \"https://github.com/your-org/my-cdk-construct.git\",\n cdkVersion: \"2.275.0\",\n});\n\nproject.synth();\n```\n\nRun synthesis to write or update the generated files:\n\n```bash\npnpm dlx projen\n```\n\nRe-running `projen` after you edit `.projenrc.ts` updates those files in place.\n\n## Features\n\n- **Standard configuration**: opinionated defaults for author, release branch, package manager,\n Node.js, TypeScript, and tooling\n- **Automatic project type discovery**: generates the `ProjectType` enum from projen's JSII manifest\n (<!-- generated:project-type-count-start -->21<!-- generated:project-type-count-end --> project types)\n- **Component system**: reusable components (Vitest, TypeDoc, Mise, Homebrew, Colima, LocalStack,\n Lambda bundling)\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## Usage\n\nEach project type applies the standard configuration and the shared components. See\n[Configuration](./docs/configuration.md) for the defaults and how to override them, and\n[Components](./docs/components.md) for the component reference.\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 author: \"Your Name\",\n authorAddress: \"you@example.com\",\n repositoryUrl: \"https://github.com/nikovirtala/my-cdk-construct.git\",\n cdkVersion: \"2.275.0\",\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 repository: \"https://github.com/nikovirtala/my-cdk-app.git\",\n cdkVersion: \"2.275.0\",\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 author: \"Your Name\",\n authorAddress: \"you@example.com\",\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 repository: \"https://github.com/nikovirtala/my-typescript-project.git\",\n});\n\nproject.synth();\n```\n\n## Contributing\n\nSee [Development](./docs/development.md) for the commands and the build process. Configuration\nchanges belong in `.projenrc.ts`, never in the generated files.\n\n## License\n\nApache-2.0. See [LICENSE](./LICENSE).\n"
|
|
4200
4200
|
},
|
|
4201
4201
|
"repository": {
|
|
4202
4202
|
"type": "git",
|
|
@@ -21397,6 +21397,6 @@
|
|
|
21397
21397
|
"symbolId": "src/components/vitest:VitestOptions"
|
|
21398
21398
|
}
|
|
21399
21399
|
},
|
|
21400
|
-
"version": "0.5.
|
|
21401
|
-
"fingerprint": "
|
|
21400
|
+
"version": "0.5.3",
|
|
21401
|
+
"fingerprint": "9ZXx2a7Wj9+u8ZpSRwZ7hp1KuPU9hkOQ0Xjh8OzPbws="
|
|
21402
21402
|
}
|
package/AGENTS.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
This file orients AI and code agents working in this repository. It is intentionally short and points to the authoritative docs rather than restating them.
|
|
4
|
+
|
|
5
|
+
## What this project is
|
|
6
|
+
|
|
7
|
+
`@nikovirtala/projen-constructs` is a JSII library of opinionated [projen](https://projen.io) project types (TypeScript, JSII, and AWS CDK) that scaffold repositories with one shared configuration. It is written in TypeScript, compiled with JSII, and published to npm.
|
|
8
|
+
|
|
9
|
+
## The single most important rule
|
|
10
|
+
|
|
11
|
+
**This project generates itself with projen. Never hand-edit generated files.** Make configuration changes in `.projenrc.ts` (or the helpers in `src/` it uses), then run `pnpm projen` to regenerate everything else.
|
|
12
|
+
|
|
13
|
+
Generated files carry a `~~ Generated by projen` header or are listed in `.projen/files.json`. That set includes `package.json`, `tsconfig*.json`, `vitest.config.ts`, `biome.jsonc`, `mise.toml`, the GitHub workflows, `src/project-type.ts`, and `src/projects/*.generated.ts`. Any manual edit to those is overwritten on the next synth.
|
|
14
|
+
|
|
15
|
+
## Where things live
|
|
16
|
+
|
|
17
|
+
- `.projenrc.ts` — the project definition and the only place to make config-level changes.
|
|
18
|
+
- `src/components/` — reusable projen components (Vitest, TypeDoc, Mise, Homebrew, Colima, LocalStack, Lambda helpers). Edit directly.
|
|
19
|
+
- `src/config.ts`, `src/errors.ts`, `src/utils.ts`, `src/versions.json` — editable core sources.
|
|
20
|
+
- `src/projects/` — **generated** project classes. Do not edit.
|
|
21
|
+
- `src/project-generator.ts` and `src/project-type.ts` — code generation (`project-type.ts` is generated).
|
|
22
|
+
- `test/` — mirrors `src/`; unit tests in `test/**`, integration tests in `test/integration/`.
|
|
23
|
+
- `docs/` — hand-written guides plus `docs/api/` (generated TypeDoc output).
|
|
24
|
+
|
|
25
|
+
## Build and test
|
|
26
|
+
|
|
27
|
+
- Runtime: Node.js `>= 26.13.0` (managed via mise) and pnpm 12.
|
|
28
|
+
- `pnpm install` — install dependencies.
|
|
29
|
+
- `pnpm projen` — regenerate projen-managed files after editing `.projenrc.ts`.
|
|
30
|
+
- `pnpm build` — full synth, JSII compile, tests, and docs.
|
|
31
|
+
- `pnpm test` — Vitest unit tests with tsc type checking.
|
|
32
|
+
- `pnpm biome` — format and lint.
|
|
33
|
+
|
|
34
|
+
Note on older Node: the engines require Node `>= 26.13.0`, but the build and unit tests also run on Node 24 (npm prints a harmless `EBADENGINE` warning). If you are in an environment where Homebrew cannot be installed, the projen `default` task and `pnpm build`/`pnpm projen` abort at the `install:homebrew` step; synthesize directly instead with `pnpm exec tsx --tsconfig test/tsconfig.json .projenrc.ts`, then compile with `pnpm exec jsii --silence-warnings=reserved-word`.
|
|
35
|
+
|
|
36
|
+
## Read these for depth (do not duplicate them)
|
|
37
|
+
|
|
38
|
+
- `.kiro/steering/product.md` — product overview and purpose.
|
|
39
|
+
- `.kiro/steering/tech.md` — technology stack, tooling, and conventions.
|
|
40
|
+
- `.kiro/steering/structure.md` — directory layout and file ownership.
|
|
41
|
+
- `CONTRIBUTING.md` — setup, key commands, Conventional Commits, PR-title linting, and how to propose changes.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
Releases are published automatically with [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) from Conventional Commit history. GitHub also hosts auto-generated release notes for every tag at [the releases page](https://github.com/nikovirtala/projen-constructs/releases); the entries below summarize the breaking and otherwise notable changes.
|
|
9
|
+
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
Nothing yet.
|
|
13
|
+
|
|
14
|
+
## [0.5.0] - 2026-11-03
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **BREAKING:** Generated TypeScript and AWS CDK app projects now run `.projenrc.ts` and the app itself with `node` using native type stripping instead of `tsx`. Project code must use only erasable TypeScript syntax, mark type-only imports with `import type`, import relative files with their `.ts` extension, and can no longer rely on `tsconfig` path aliases (#248).
|
|
19
|
+
|
|
20
|
+
### Removed
|
|
21
|
+
|
|
22
|
+
- **BREAKING:** Dropped the `tsx` fallback for Node.js versions that lack native type stripping. Running these projects now requires a Node.js version with type-stripping support (#248).
|
|
23
|
+
|
|
24
|
+
## [0.4.1] - 2026-11-03
|
|
25
|
+
|
|
26
|
+
Maintenance release. No notable changes.
|
|
27
|
+
|
|
28
|
+
## [0.4.0] - 2026-11-02
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **BREAKING:** Default to Node.js 26 LTS. Generated projects now require Node.js `>= 26.13.0` and receive `@types/node ^26` unless `minNodeVersion` is set explicitly (#242).
|
|
33
|
+
- **BREAKING:** Default to pnpm 12. Generated projects pin pnpm `12.16.1` unless `pnpmVersion` is set. A globally installed pnpm older than 11 cannot switch to this version, and `--frozen-lockfile false` and `--resolution-only` are no longer accepted flags (#243).
|
|
34
|
+
- **BREAKING:** Default to Vitest 5. It requires Node.js `>= 22.12` and Vite `>= 6.4`, enables `clearMocks` by default, and throws when `vi.mock` is called outside the top level of a module. Set `vitestVersion: '^4'` to stay on Vitest 4 (#241).
|
|
35
|
+
|
|
36
|
+
## Earlier releases
|
|
37
|
+
|
|
38
|
+
Releases before `0.4.0` (the `0.3.x` line and earlier) are not detailed here. See the [automated GitHub release notes](https://github.com/nikovirtala/projen-constructs/releases) for the full history of older tags.
|
|
39
|
+
|
|
40
|
+
[Unreleased]: https://github.com/nikovirtala/projen-constructs/compare/v0.5.0...HEAD
|
|
41
|
+
[0.5.0]: https://github.com/nikovirtala/projen-constructs/compare/v0.4.1...v0.5.0
|
|
42
|
+
[0.4.1]: https://github.com/nikovirtala/projen-constructs/compare/v0.4.0...v0.4.1
|
|
43
|
+
[0.4.0]: https://github.com/nikovirtala/projen-constructs/compare/v0.3.0...v0.4.0
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for your interest in improving `@nikovirtala/projen-constructs`. This guide covers how the repository is built, how to set it up locally, and how to propose changes.
|
|
4
|
+
|
|
5
|
+
## This project generates itself with projen
|
|
6
|
+
|
|
7
|
+
The repository is managed by [projen](https://projen.io). `.projenrc.ts` is the single source of truth: it defines the project using the `JsiiProject` type from this very library, and running projen regenerates the rest of the configuration (`package.json`, `tsconfig*.json`, `vitest.config.ts`, `biome.jsonc`, `mise.toml`, the GitHub workflows, and more).
|
|
8
|
+
|
|
9
|
+
Because of this, there is one rule that matters more than any other:
|
|
10
|
+
|
|
11
|
+
> **Never hand-edit generated files.** Change `.projenrc.ts` (or the helpers in `src/` it uses) and run `pnpm projen` to regenerate.
|
|
12
|
+
|
|
13
|
+
Generated and linguist-generated files carry a `~~ Generated by projen` header or are listed in `.projen/files.json`. This also includes `src/project-type.ts` and everything under `src/projects/*.generated.ts`, which are produced by the `ProjectGenerator` component during synthesis. Editing any of these by hand is pointless: the next synth overwrites your change.
|
|
14
|
+
|
|
15
|
+
Files you *can* edit directly include `.projenrc.ts`, the non-generated sources under `src/` (`src/components/*.ts`, `src/config.ts`, `src/errors.ts`, `src/utils.ts`, `src/versions.json`), the tests under `test/`, and the hand-written docs (`README.md`, `docs/*.md`, `.kiro/steering/*.md`, and the root markdown files like this one).
|
|
16
|
+
|
|
17
|
+
## Local setup
|
|
18
|
+
|
|
19
|
+
- **Node.js** `>= 26.13.0`. The version is managed with [mise](https://mise.jdx.dev) via `mise.toml`; run `mise install` to get the pinned toolchain.
|
|
20
|
+
- **pnpm 12** is the package manager (pinned to `12.16.1`). `corepack enable` will resolve it automatically from `package.json`.
|
|
21
|
+
|
|
22
|
+
Install dependencies:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm install
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Key commands
|
|
29
|
+
|
|
30
|
+
| Command | What it does |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `pnpm projen` | Regenerate all projen-managed files from `.projenrc.ts`. Run this after any config change. |
|
|
33
|
+
| `pnpm build` | Full build: synth, compile with JSII, run tests, and generate docs. |
|
|
34
|
+
| `pnpm test` | Run the Vitest unit tests (with tsc type checking). |
|
|
35
|
+
| `pnpm biome` | Format and lint with Biome. |
|
|
36
|
+
| `pnpm docgen` | Regenerate `API.md` with jsii-docgen. |
|
|
37
|
+
| `pnpm update-versions` | Refresh `src/versions.json` with the latest AWS CDK, Node.js, and TypeScript versions. |
|
|
38
|
+
|
|
39
|
+
## Running tests
|
|
40
|
+
|
|
41
|
+
Unit tests live in `test/**` and run with [Vitest](https://vitest.dev):
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pnpm test
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Integration tests under `test/integration/` build and pack the package into a temporary directory and exercise the generated projects. They are heavier and environment-sensitive, so run the unit suite for day-to-day work and rely on CI for the full matrix.
|
|
48
|
+
|
|
49
|
+
## Commits, PR titles, and releases
|
|
50
|
+
|
|
51
|
+
- Follow [Conventional Commits](https://www.conventionalcommits.org). The commit type drives the changelog and the next version number.
|
|
52
|
+
- **Pull request titles are linted** by the `pull-request-lint` workflow and must also follow Conventional Commits. Use `feat!:` / `fix!:` (or a `BREAKING CHANGE:` footer) for breaking changes.
|
|
53
|
+
- Releases are automated with [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) from the merged commit history. You do not bump versions or edit `CHANGELOG.md` by hand for a release.
|
|
54
|
+
|
|
55
|
+
## Proposing a change
|
|
56
|
+
|
|
57
|
+
1. Fork the repository and create a feature branch off `main`.
|
|
58
|
+
2. Make your change in `.projenrc.ts` and/or the editable sources, then run `pnpm projen` so the generated files are in sync.
|
|
59
|
+
3. Run `pnpm build` (or at least `pnpm test` and `pnpm biome`) and commit every file the workflow touched, including regenerated output.
|
|
60
|
+
4. Open a pull request with a Conventional Commit style title and a clear description of the change.
|
|
61
|
+
|
|
62
|
+
## Where to learn more
|
|
63
|
+
|
|
64
|
+
- `.kiro/steering/product.md`, `.kiro/steering/tech.md`, and `.kiro/steering/structure.md` describe the product, tech stack, and directory layout in depth.
|
|
65
|
+
- `docs/*.md` holds the longer-form reference material and guides.
|
|
66
|
+
- `AGENTS.md` is a short orientation for AI/code agents working in the repository.
|
package/README.md
CHANGED
|
@@ -47,13 +47,37 @@ Quick links: [Quick start](#quick-start) · [Usage](#usage) · [Features](#featu
|
|
|
47
47
|
|
|
48
48
|
## Quick start
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
To start a new project from scratch, run `projen new --from` in an empty directory. It installs the
|
|
51
|
+
library and writes a ready-to-use `.projenrc.ts` and the full project for you, with no manual setup:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pnpm dlx projen new --from @nikovirtala/projen-constructs aws_cdk_construct_library
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Expected output**: projen installs `@nikovirtala/projen-constructs` and its peers, writes a
|
|
58
|
+
`.projenrc.ts` that defines the project, and synthesizes the generated files into the directory:
|
|
59
|
+
`package.json`, `tsconfig.json`, `pnpm-workspace.yaml`, the GitHub Actions workflows, the Vitest and
|
|
60
|
+
Biome configuration, `mise.toml`, and the source and test scaffolding for your construct library.
|
|
61
|
+
|
|
62
|
+
Pass a different project type to scaffold one of the others this library provides:
|
|
63
|
+
|
|
64
|
+
| Project type | `projen new --from` argument |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| AWS CDK construct library | `aws_cdk_construct_library` |
|
|
67
|
+
| AWS CDK TypeScript app | `aws_cdk_type_script_app` |
|
|
68
|
+
| JSII | `jsii_project` |
|
|
69
|
+
| TypeScript | `type_script_project` |
|
|
70
|
+
|
|
71
|
+
### Adding it to an existing project
|
|
72
|
+
|
|
73
|
+
If you already have a `.projenrc.ts`, install the library alongside its `projen` and `constructs`
|
|
74
|
+
peers instead:
|
|
51
75
|
|
|
52
76
|
```bash
|
|
53
77
|
pnpm add -D @nikovirtala/projen-constructs projen constructs
|
|
54
78
|
```
|
|
55
79
|
|
|
56
|
-
|
|
80
|
+
Then define a project in `.projenrc.ts`:
|
|
57
81
|
|
|
58
82
|
```typescript
|
|
59
83
|
import { AwsCdkConstructLibraryProject } from "@nikovirtala/projen-constructs";
|
|
@@ -69,23 +93,13 @@ const project = new AwsCdkConstructLibraryProject({
|
|
|
69
93
|
project.synth();
|
|
70
94
|
```
|
|
71
95
|
|
|
72
|
-
|
|
96
|
+
Run synthesis to write or update the generated files:
|
|
73
97
|
|
|
74
98
|
```bash
|
|
75
99
|
pnpm dlx projen
|
|
76
100
|
```
|
|
77
101
|
|
|
78
|
-
|
|
79
|
-
working directory: `package.json`, `tsconfig.json`, `pnpm-workspace.yaml`, the GitHub Actions
|
|
80
|
-
workflows, the Vitest and Biome configuration, `mise.toml`, and the source and test scaffolding for
|
|
81
|
-
your construct library. Re-running the command after you edit `.projenrc.ts` updates those files in
|
|
82
|
-
place.
|
|
83
|
-
|
|
84
|
-
To start a project from scratch without writing `.projenrc.ts` yourself:
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
pnpm dlx projen new --from @nikovirtala/projen-constructs aws_cdk_construct_library
|
|
88
|
-
```
|
|
102
|
+
Re-running `projen` after you edit `.projenrc.ts` updates those files in place.
|
|
89
103
|
|
|
90
104
|
## Features
|
|
91
105
|
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported versions
|
|
4
|
+
|
|
5
|
+
Security fixes are provided for the latest published release line of `@nikovirtala/projen-constructs`. Older versions are not maintained; please upgrade to the most recent release to receive fixes.
|
|
6
|
+
|
|
7
|
+
| Version | Supported |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Latest release line | ✅ |
|
|
10
|
+
| Older releases | ❌ |
|
|
11
|
+
|
|
12
|
+
## Reporting a vulnerability
|
|
13
|
+
|
|
14
|
+
Please report security vulnerabilities privately rather than opening a public issue.
|
|
15
|
+
|
|
16
|
+
- **Preferred:** open a [private security advisory](https://github.com/nikovirtala/projen-constructs/security/advisories/new) on GitHub.
|
|
17
|
+
- **Alternatively:** email the maintainer at [niko.virtala@hey.com](mailto:niko.virtala@hey.com).
|
|
18
|
+
|
|
19
|
+
Please include enough detail to reproduce the issue (affected version, steps, and impact).
|
|
20
|
+
|
|
21
|
+
## Response expectations
|
|
22
|
+
|
|
23
|
+
- You can expect an acknowledgement of your report within a few business days.
|
|
24
|
+
- Once triaged, the maintainer will work on a fix and coordinate a disclosure timeline with you.
|
|
25
|
+
- You will be credited for the report unless you prefer to remain anonymous.
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
This project is licensed under the [Apache License 2.0](./LICENSE).
|
package/docs/api/index.html
CHANGED
|
@@ -67,27 +67,57 @@ across this documentation track those sources.</p>
|
|
|
67
67
|
</table>
|
|
68
68
|
<p>Quick links: <a href="#quick-start">Quick start</a> · <a href="#usage">Usage</a> · <a href="#features">Features</a>.</p>
|
|
69
69
|
<h2 id="quick-start" class="tsd-anchor-link">Quick start<a href="#quick-start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
70
|
-
<p>
|
|
70
|
+
<p>To start a new project from scratch, run <code>projen new --from</code> in an empty directory. It installs the
|
|
71
|
+
library and writes a ready-to-use <code>.projenrc.ts</code> and the full project for you, with no manual setup:</p>
|
|
72
|
+
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-3">--from</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">aws_cdk_construct_library</span>
|
|
73
|
+
</code><button type="button">Copy</button></pre>
|
|
74
|
+
|
|
75
|
+
<p><strong>Expected output</strong>: projen installs <code>@nikovirtala/projen-constructs</code> and its peers, writes a
|
|
76
|
+
<code>.projenrc.ts</code> that defines the project, and synthesizes the generated files into the directory:
|
|
77
|
+
<code>package.json</code>, <code>tsconfig.json</code>, <code>pnpm-workspace.yaml</code>, the GitHub Actions workflows, the Vitest and
|
|
78
|
+
Biome configuration, <code>mise.toml</code>, and the source and test scaffolding for your construct library.</p>
|
|
79
|
+
<p>Pass a different project type to scaffold one of the others this library provides:</p>
|
|
80
|
+
<table>
|
|
81
|
+
<thead>
|
|
82
|
+
<tr>
|
|
83
|
+
<th>Project type</th>
|
|
84
|
+
<th><code>projen new --from</code> argument</th>
|
|
85
|
+
</tr>
|
|
86
|
+
</thead>
|
|
87
|
+
<tbody>
|
|
88
|
+
<tr>
|
|
89
|
+
<td>AWS CDK construct library</td>
|
|
90
|
+
<td><code>aws_cdk_construct_library</code></td>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td>AWS CDK TypeScript app</td>
|
|
94
|
+
<td><code>aws_cdk_type_script_app</code></td>
|
|
95
|
+
</tr>
|
|
96
|
+
<tr>
|
|
97
|
+
<td>JSII</td>
|
|
98
|
+
<td><code>jsii_project</code></td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td>TypeScript</td>
|
|
102
|
+
<td><code>type_script_project</code></td>
|
|
103
|
+
</tr>
|
|
104
|
+
</tbody>
|
|
105
|
+
</table>
|
|
106
|
+
<h3 id="adding-it-to-an-existing-project" class="tsd-anchor-link">Adding it to an existing project<a href="#adding-it-to-an-existing-project" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
107
|
+
<p>If you already have a <code>.projenrc.ts</code>, install the library alongside its <code>projen</code> and <code>constructs</code>
|
|
108
|
+
peers instead:</p>
|
|
71
109
|
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">add</span><span class="hl-1"> </span><span class="hl-3">-D</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">constructs</span>
|
|
72
110
|
</code><button type="button">Copy</button></pre>
|
|
73
111
|
|
|
74
|
-
<p>
|
|
112
|
+
<p>Then define a project in <code>.projenrc.ts</code>:</p>
|
|
75
113
|
<pre><code class="typescript"><span class="hl-4">import</span><span class="hl-1"> { </span><span class="hl-5">AwsCdkConstructLibraryProject</span><span class="hl-1"> } </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">"@nikovirtala/projen-constructs"</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-6">project</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">AwsCdkConstructLibraryProject</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">"my-cdk-construct"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">author:</span><span class="hl-1"> </span><span class="hl-2">"Your Name"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">authorAddress:</span><span class="hl-1"> </span><span class="hl-2">"you@example.com"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">repositoryUrl:</span><span class="hl-1"> </span><span class="hl-2">"https://github.com/your-org/my-cdk-construct.git"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">cdkVersion:</span><span class="hl-1"> </span><span class="hl-2">"2.275.0"</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">project</span><span class="hl-1">.</span><span class="hl-0">synth</span><span class="hl-1">();</span>
|
|
76
114
|
</code><button type="button">Copy</button></pre>
|
|
77
115
|
|
|
78
|
-
<p>
|
|
116
|
+
<p>Run synthesis to write or update the generated files:</p>
|
|
79
117
|
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span>
|
|
80
118
|
</code><button type="button">Copy</button></pre>
|
|
81
119
|
|
|
82
|
-
<p
|
|
83
|
-
working directory: <code>package.json</code>, <code>tsconfig.json</code>, <code>pnpm-workspace.yaml</code>, the GitHub Actions
|
|
84
|
-
workflows, the Vitest and Biome configuration, <code>mise.toml</code>, and the source and test scaffolding for
|
|
85
|
-
your construct library. Re-running the command after you edit <code>.projenrc.ts</code> updates those files in
|
|
86
|
-
place.</p>
|
|
87
|
-
<p>To start a project from scratch without writing <code>.projenrc.ts</code> yourself:</p>
|
|
88
|
-
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-3">--from</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">aws_cdk_construct_library</span>
|
|
89
|
-
</code><button type="button">Copy</button></pre>
|
|
90
|
-
|
|
120
|
+
<p>Re-running <code>projen</code> after you edit <code>.projenrc.ts</code> updates those files in place.</p>
|
|
91
121
|
<h2 id="features" class="tsd-anchor-link">Features<a href="#features" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
92
122
|
<ul>
|
|
93
123
|
<li><strong>Standard configuration</strong>: opinionated defaults for author, release branch, package manager,
|
|
@@ -151,6 +181,9 @@ changes belong in <code>.projenrc.ts</code>, never in the generated files.</p>
|
|
|
151
181
|
<li><a href="#status-and-supported-versions"><span>Status and supported versions</span></a></li>
|
|
152
182
|
<li><a href="#documentation"><span>Documentation</span></a></li>
|
|
153
183
|
<li><a href="#quick-start"><span>Quick start</span></a></li>
|
|
184
|
+
<li>
|
|
185
|
+
<ul>
|
|
186
|
+
<li><a href="#adding-it-to-an-existing-project"><span>Adding it to an existing project</span></a></li></ul></li>
|
|
154
187
|
<li><a href="#features"><span>Features</span></a></li>
|
|
155
188
|
<li><a href="#usage"><span>Usage</span></a></li>
|
|
156
189
|
<li>
|
|
@@ -67,27 +67,57 @@ across this documentation track those sources.</p>
|
|
|
67
67
|
</table>
|
|
68
68
|
<p>Quick links: <a href="#quick-start">Quick start</a> · <a href="#usage">Usage</a> · <a href="#features">Features</a>.</p>
|
|
69
69
|
<h2 id="quick-start" class="tsd-anchor-link">Quick start<a href="#quick-start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
70
|
-
<p>
|
|
70
|
+
<p>To start a new project from scratch, run <code>projen new --from</code> in an empty directory. It installs the
|
|
71
|
+
library and writes a ready-to-use <code>.projenrc.ts</code> and the full project for you, with no manual setup:</p>
|
|
72
|
+
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-3">--from</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">aws_cdk_construct_library</span>
|
|
73
|
+
</code><button type="button">Copy</button></pre>
|
|
74
|
+
|
|
75
|
+
<p><strong>Expected output</strong>: projen installs <code>@nikovirtala/projen-constructs</code> and its peers, writes a
|
|
76
|
+
<code>.projenrc.ts</code> that defines the project, and synthesizes the generated files into the directory:
|
|
77
|
+
<code>package.json</code>, <code>tsconfig.json</code>, <code>pnpm-workspace.yaml</code>, the GitHub Actions workflows, the Vitest and
|
|
78
|
+
Biome configuration, <code>mise.toml</code>, and the source and test scaffolding for your construct library.</p>
|
|
79
|
+
<p>Pass a different project type to scaffold one of the others this library provides:</p>
|
|
80
|
+
<table>
|
|
81
|
+
<thead>
|
|
82
|
+
<tr>
|
|
83
|
+
<th>Project type</th>
|
|
84
|
+
<th><code>projen new --from</code> argument</th>
|
|
85
|
+
</tr>
|
|
86
|
+
</thead>
|
|
87
|
+
<tbody>
|
|
88
|
+
<tr>
|
|
89
|
+
<td>AWS CDK construct library</td>
|
|
90
|
+
<td><code>aws_cdk_construct_library</code></td>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td>AWS CDK TypeScript app</td>
|
|
94
|
+
<td><code>aws_cdk_type_script_app</code></td>
|
|
95
|
+
</tr>
|
|
96
|
+
<tr>
|
|
97
|
+
<td>JSII</td>
|
|
98
|
+
<td><code>jsii_project</code></td>
|
|
99
|
+
</tr>
|
|
100
|
+
<tr>
|
|
101
|
+
<td>TypeScript</td>
|
|
102
|
+
<td><code>type_script_project</code></td>
|
|
103
|
+
</tr>
|
|
104
|
+
</tbody>
|
|
105
|
+
</table>
|
|
106
|
+
<h3 id="adding-it-to-an-existing-project" class="tsd-anchor-link">Adding it to an existing project<a href="#adding-it-to-an-existing-project" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
107
|
+
<p>If you already have a <code>.projenrc.ts</code>, install the library alongside its <code>projen</code> and <code>constructs</code>
|
|
108
|
+
peers instead:</p>
|
|
71
109
|
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">add</span><span class="hl-1"> </span><span class="hl-3">-D</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">constructs</span>
|
|
72
110
|
</code><button type="button">Copy</button></pre>
|
|
73
111
|
|
|
74
|
-
<p>
|
|
112
|
+
<p>Then define a project in <code>.projenrc.ts</code>:</p>
|
|
75
113
|
<pre><code class="typescript"><span class="hl-4">import</span><span class="hl-1"> { </span><span class="hl-5">AwsCdkConstructLibraryProject</span><span class="hl-1"> } </span><span class="hl-4">from</span><span class="hl-1"> </span><span class="hl-2">"@nikovirtala/projen-constructs"</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-6">project</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-0">AwsCdkConstructLibraryProject</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-5">name:</span><span class="hl-1"> </span><span class="hl-2">"my-cdk-construct"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">author:</span><span class="hl-1"> </span><span class="hl-2">"Your Name"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">authorAddress:</span><span class="hl-1"> </span><span class="hl-2">"you@example.com"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">repositoryUrl:</span><span class="hl-1"> </span><span class="hl-2">"https://github.com/your-org/my-cdk-construct.git"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">cdkVersion:</span><span class="hl-1"> </span><span class="hl-2">"2.275.0"</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-5">project</span><span class="hl-1">.</span><span class="hl-0">synth</span><span class="hl-1">();</span>
|
|
76
114
|
</code><button type="button">Copy</button></pre>
|
|
77
115
|
|
|
78
|
-
<p>
|
|
116
|
+
<p>Run synthesis to write or update the generated files:</p>
|
|
79
117
|
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span>
|
|
80
118
|
</code><button type="button">Copy</button></pre>
|
|
81
119
|
|
|
82
|
-
<p
|
|
83
|
-
working directory: <code>package.json</code>, <code>tsconfig.json</code>, <code>pnpm-workspace.yaml</code>, the GitHub Actions
|
|
84
|
-
workflows, the Vitest and Biome configuration, <code>mise.toml</code>, and the source and test scaffolding for
|
|
85
|
-
your construct library. Re-running the command after you edit <code>.projenrc.ts</code> updates those files in
|
|
86
|
-
place.</p>
|
|
87
|
-
<p>To start a project from scratch without writing <code>.projenrc.ts</code> yourself:</p>
|
|
88
|
-
<pre><code class="bash"><span class="hl-0">pnpm</span><span class="hl-1"> </span><span class="hl-2">dlx</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-3">--from</span><span class="hl-1"> </span><span class="hl-2">@nikovirtala/projen-constructs</span><span class="hl-1"> </span><span class="hl-2">aws_cdk_construct_library</span>
|
|
89
|
-
</code><button type="button">Copy</button></pre>
|
|
90
|
-
|
|
120
|
+
<p>Re-running <code>projen</code> after you edit <code>.projenrc.ts</code> updates those files in place.</p>
|
|
91
121
|
<h2 id="features" class="tsd-anchor-link">Features<a href="#features" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
92
122
|
<ul>
|
|
93
123
|
<li><strong>Standard configuration</strong>: opinionated defaults for author, release branch, package manager,
|
|
@@ -151,6 +181,9 @@ changes belong in <code>.projenrc.ts</code>, never in the generated files.</p>
|
|
|
151
181
|
<li><a href="#status-and-supported-versions"><span>Status and supported versions</span></a></li>
|
|
152
182
|
<li><a href="#documentation"><span>Documentation</span></a></li>
|
|
153
183
|
<li><a href="#quick-start"><span>Quick start</span></a></li>
|
|
184
|
+
<li>
|
|
185
|
+
<ul>
|
|
186
|
+
<li><a href="#adding-it-to-an-existing-project"><span>Adding it to an existing project</span></a></li></ul></li>
|
|
154
187
|
<li><a href="#features"><span>Features</span></a></li>
|
|
155
188
|
<li><a href="#usage"><span>Usage</span></a></li>
|
|
156
189
|
<li>
|
|
@@ -67,7 +67,7 @@ function convertToPosixPath(p) {
|
|
|
67
67
|
* single file.
|
|
68
68
|
*/
|
|
69
69
|
class Bundler extends projen_1.Component {
|
|
70
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Bundler", version: "0.5.
|
|
70
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Bundler", version: "0.5.3" };
|
|
71
71
|
/**
|
|
72
72
|
* Returns the `Bundler` instance associated with a project or `undefined` if
|
|
73
73
|
* there is no Bundler.
|
|
@@ -221,7 +221,7 @@ exports.Bundler = Bundler;
|
|
|
221
221
|
* });
|
|
222
222
|
*/
|
|
223
223
|
class LambdaFunctionCodeBundle extends projen_1.Component {
|
|
224
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundle", version: "0.5.
|
|
224
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundle", version: "0.5.3" };
|
|
225
225
|
/**
|
|
226
226
|
* Defines a pre-bundled AWS Lambda Function code asset from handler code.
|
|
227
227
|
*
|
|
@@ -273,7 +273,7 @@ exports.LambdaFunctionCodeBundle = LambdaFunctionCodeBundle;
|
|
|
273
273
|
* Creates Lambda Function code bundles from entrypoints discovered in the project's source tree.
|
|
274
274
|
*/
|
|
275
275
|
class LambdaFunctionCodeBundler extends projen_1.cdk.AutoDiscoverBase {
|
|
276
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundler", version: "0.5.
|
|
276
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundler", version: "0.5.3" };
|
|
277
277
|
constructor(project, options) {
|
|
278
278
|
super(project, {
|
|
279
279
|
projectdir: options.srcdir,
|
package/lib/components/colima.js
CHANGED
|
@@ -11,7 +11,7 @@ const homebrew_1 = require("./homebrew");
|
|
|
11
11
|
* Adds Colima support to your project with automatic installation and startup.
|
|
12
12
|
*/
|
|
13
13
|
class Colima extends component_1.Component {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Colima", version: "0.5.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Colima", version: "0.5.3" };
|
|
15
15
|
constructor(scope) {
|
|
16
16
|
super(scope);
|
|
17
17
|
const project = this.project;
|
|
@@ -14,7 +14,7 @@ function tapOf(packageName) {
|
|
|
14
14
|
return parts.length === 3 ? `${parts[0]}/${parts[1]}` : undefined;
|
|
15
15
|
}
|
|
16
16
|
class Homebrew extends component_1.Component {
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Homebrew", version: "0.5.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Homebrew", version: "0.5.3" };
|
|
18
18
|
static of(project) {
|
|
19
19
|
const isHomebrew = (c) => c instanceof Homebrew;
|
|
20
20
|
return project.components.find(isHomebrew);
|
|
@@ -44,7 +44,7 @@ const utils_1 = require("../utils");
|
|
|
44
44
|
* The bundling happens during projen execution, not during CDK synth, enabling a "build once, deploy many" pattern.
|
|
45
45
|
*/
|
|
46
46
|
class LambdaFunctionConstructGenerator extends projen_1.Component {
|
|
47
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionConstructGenerator", version: "0.5.
|
|
47
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionConstructGenerator", version: "0.5.3" };
|
|
48
48
|
sourceDir;
|
|
49
49
|
outputDir;
|
|
50
50
|
filePattern;
|
|
@@ -12,7 +12,7 @@ const homebrew_1 = require("./homebrew");
|
|
|
12
12
|
* Adds LocalStack support to your project with automatic Docker/Colima setup.
|
|
13
13
|
*/
|
|
14
14
|
class LocalStack extends component_1.Component {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LocalStack", version: "0.5.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LocalStack", version: "0.5.3" };
|
|
16
16
|
constructor(scope, options = {}) {
|
|
17
17
|
super(scope);
|
|
18
18
|
const project = javascript_1.NodeProject.of(this);
|
package/lib/components/mise.js
CHANGED
|
@@ -7,7 +7,7 @@ const component_1 = require("projen/lib/component");
|
|
|
7
7
|
const textfile_1 = require("projen/lib/textfile");
|
|
8
8
|
const homebrew_1 = require("./homebrew");
|
|
9
9
|
class Mise extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Mise", version: "0.5.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Mise", version: "0.5.3" };
|
|
11
11
|
static of(project) {
|
|
12
12
|
const isMise = (c) => c instanceof Mise;
|
|
13
13
|
return project.components.find(isMise);
|
|
@@ -34,7 +34,7 @@ const DEFAULT_CONFIG = {
|
|
|
34
34
|
* TypeDoc component for projen projects
|
|
35
35
|
*/
|
|
36
36
|
class TypeDoc extends component_1.Component {
|
|
37
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeDoc", version: "0.5.
|
|
37
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeDoc", version: "0.5.3" };
|
|
38
38
|
static of(project) {
|
|
39
39
|
const isTypeDoc = (c) => c instanceof TypeDoc;
|
|
40
40
|
return project.components.find(isTypeDoc);
|
package/lib/components/vitest.js
CHANGED
|
@@ -141,7 +141,7 @@ var CoverageReporter;
|
|
|
141
141
|
CoverageReporter["TEXT"] = "text";
|
|
142
142
|
})(CoverageReporter || (exports.CoverageReporter = CoverageReporter = {}));
|
|
143
143
|
class Vitest extends component_1.Component {
|
|
144
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.5.
|
|
144
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Vitest", version: "0.5.3" };
|
|
145
145
|
static of(project) {
|
|
146
146
|
const isVitest = (c) => c instanceof Vitest;
|
|
147
147
|
return project.components.find(isVitest);
|
package/lib/project-generator.js
CHANGED
|
@@ -428,7 +428,7 @@ class TypeScriptClassRenderer {
|
|
|
428
428
|
*/
|
|
429
429
|
class ProjectGenerator extends projen.Component {
|
|
430
430
|
options;
|
|
431
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.ProjectGenerator", version: "0.5.
|
|
431
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.ProjectGenerator", version: "0.5.3" };
|
|
432
432
|
renderer;
|
|
433
433
|
static enumGenerated = false;
|
|
434
434
|
/**
|
|
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
|
|
|
15
15
|
* Extends Projen's base class with opinionated defaults and automatic component setup.
|
|
16
16
|
*/
|
|
17
17
|
class AwsCdkConstructLibraryProject extends projen_1.awscdk.AwsCdkConstructLibrary {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.5.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkConstructLibraryProject", version: "0.5.3" };
|
|
19
19
|
/**
|
|
20
20
|
* @param options - Project configuration
|
|
21
21
|
*/
|
|
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
|
|
|
15
15
|
* Extends Projen's base class with opinionated defaults and automatic component setup.
|
|
16
16
|
*/
|
|
17
17
|
class AwsCdkTypeScriptAppProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.5.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.AwsCdkTypeScriptAppProject", version: "0.5.3" };
|
|
19
19
|
/**
|
|
20
20
|
* @param options - Project configuration
|
|
21
21
|
*/
|
|
@@ -16,7 +16,7 @@ const utils_1 = require("../utils");
|
|
|
16
16
|
* Extends Projen's base class with opinionated defaults and automatic component setup.
|
|
17
17
|
*/
|
|
18
18
|
class JsiiProject extends projen_1.cdk.JsiiProject {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.5.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.JsiiProject", version: "0.5.3" };
|
|
20
20
|
/**
|
|
21
21
|
* @param options - Project configuration
|
|
22
22
|
*/
|
|
@@ -15,7 +15,7 @@ const utils_1 = require("../utils");
|
|
|
15
15
|
* Extends Projen's base class with opinionated defaults and automatic component setup.
|
|
16
16
|
*/
|
|
17
17
|
class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.5.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeScriptProject", version: "0.5.3" };
|
|
19
19
|
/**
|
|
20
20
|
* @param options - Project configuration
|
|
21
21
|
*/
|