Projen项目
意见 projen 语录 aWS CDK 构建库、 jsii 库和 TypeScript 软件包的项目类型.
特征
ProjenCdkConstructLibrary- 一个AwsCdkConstructLibrary带有共享默认值的包装ProjenJsiiProjecta 包括:JsiiProject带有相同共享默认的包装ProjenTypeScriptProjecta 包括:TypeScriptProject带有相同共享默认的包装- 仅需要
name财务报告和审定财务报表repositoryUrl开始( n)cdkVersioncDK 库也需要) - 共享作者, 节点( N)
>= 20),类型脚本(6.0.x页:16.0.x, jsii / CDK 库)设置 - GitHub App 工作流程认证证书
- 每周依赖性升级,自动批准/自动合并标签
- 生成一致
.editorconfig设置 ESLintmax-len改为160 - 运行游戏
--silent所以测试日志保持安静 - 启用类型脚本
strict正在开发 tsconfig - 默认发现 AWS Lambda 处理器到节点 24, 带有
@aws-sdk/*外部和来源地图 - 生成
.devcontainer/devcontainer.json与工作流程节点一致24.x
安装
无
npm install @gammarers/projen-projects
线条
yarn add @gammarers/projen-projects
小时
pnpm add @gammarers/projen-projects
使用量
创建一个 .projenrc.ts 用于 ProjenCdkConstructLibrary数字 :
import { ProjenCdkConstructLibrary } from '@gammarers/projen-projects';
const project = new ProjenCdkConstructLibrary({
name: '@example/my-cdk-construct',
repositoryUrl: 'https://github.com/example/my-cdk-construct.git',
cdkVersion: '2.170.0',
});
project.synth();
或使用 ProjenJsiiProject 多语言的 jsii 库:
import { ProjenJsiiProject } from '@gammarers/projen-projects';
const project = new ProjenJsiiProject({
name: '@example/my-jsii-library',
repositoryUrl: 'https://github.com/example/my-jsii-library.git',
});
project.synth();
或使用 ProjenTypeScriptProject 用于类型脚本包 :
import { ProjenTypeScriptProject } from '@gammarers/projen-projects';
const project = new ProjenTypeScriptProject({
name: '@example/my-typescript-project',
repositoryUrl: 'https://github.com/example/my-typescript-project.git',
});
project.synth();
然后生成工程文件 :
npx projen
选项
ProjenCdkConstructLibrary 接受 ProjenCdkConstructLibraryOptions,扩展
AwsCdkConstructLibraryOptions (大多数字段可选),同时要求:
| 选项 | 类型 | 需求 | 说明 |
|---|---|---|---|
name | string | 对 | 软件包名称 |
repositoryUrl | string | 对 | Git 寄存器 URL( jsii 生成) repository 从此值) |
cdkVersion | string | 对 | AWS CDK 版本 |
可选亮点 :
| 选项 | 说明 |
|---|---|
其它 AwsCdkConstructLibrary 选项 | 已经通过并可以覆盖内置默认值,包括 lambdaOptions。 。 。 . devContainer 留下来 false |
内建默认包含作者 yicr作为软件包管理器, releaseToNpm: false, (中文(简体) ),
公开 npm 访问, 工作流程节点 24.x,以及基于 GitHub App 的 projen 证书.
发现的Lambda处理器使用节点24,不包括 @aws-sdk/* 从捆绑,发射源地图.
通过 lambdaOptions 替换默认值。 没有Lambda处理器的图书馆没有变化.
ProjenJsiiProject 接受 ProjenJsiiProjectOptions,扩展
JsiiProjectOptions (大多数字段可选),同时要求:
| 选项 | 类型 | 需求 | 说明 |
|---|---|---|---|
name | string | 对 | 软件包名称 |
repositoryUrl | string | 对 | Git 寄存器 URL( jsii 生成) repository 从此值) |
其它 JsiiProject 选项通过,并可以覆盖内置默认值.
devContainer 留下来 false。同一作者,节点,类型脚本,jsii(6.0.x), npm,和 (中文(简体) )
GitHub App 默认为 ProjenCdkConstructLibrary 应用(没有 CDK / Lambda 设置).
ProjenTypeScriptProject 接受 ProjenTypeScriptProjectOptions,扩展
TypeScriptProjectOptions (大多数字段可选),同时要求:
| 选项 | 类型 | 需求 | 说明 |
|---|---|---|---|
name | string | 对 | 软件包名称 |
repositoryUrl | string | 对 | Git 寄存器 URL( 作为 projen 通过) repository(中文(简体) ) |
其它 TypeScriptProject 选项通过,并可以覆盖内置默认值.
devContainer 留下来 false。同一作者、节点、类型脚本、 npm 和 GitHub App 默认
作为 ProjenCdkConstructLibrary 应用( e)jsiiVersion 没有设置,因为该类型不是一个jsii项目.
所有三种类型都写 .devcontainer/devcontainer.json 添加 /.devcontainer 改为 .npmignore。 。 。 .
jsii 项目(包括 CDK 构建库) 也安装了 .NET、 Python 和 Java
Dev集装箱特性. 在容器创建后,它将确定该容器的所有权
node_modules ,将工作空间标记为 Git 安全目录,并运行工程的
不可移动的安装命令( n)npm ci 与默认的软件包管理器).
所需资源
- 节点.js
>= 20.0.0
许可证
这个项目根据Apache-2.0许可证获得许可证.