@amazon-codecatalyst/blueprint-component.environments

中文文档
0.3.159发布于 2026/08/24Apache-2.0TypeScriptCommonJS近 30 天下载 6828

这是代号分析环境的体现.

中文使用文档
文档目录4 节
  1. 实例1:创造发展环境
  2. 示例2:一个简单的模拟界面
  3. 例3:更复杂的模拟界面
  4. 例4:一个完整的模拟界面
import {...} from '@amazon-codecatalyst/blueprint-component.environments'

环境部分可以找到 这里。 。 。 .

蓝图向导由 : Options 界面通过 [[wizard-|https://github.com/aws/codecatalyst-blueprints/wiki/Wizard]]]. 蓝图支持从曝光类型生成UI组件.

实例1:创造发展环境

export interface Options extends ParentOptions {
    ...
    myNewEnvironment:  EnvironmentDefinition<{
        thisIsMyFirstAccountConnection: AccountConnection<{
            thisIsARole: Role<['lambda', 's3', 'dynamo']>;
        }>;
    }>;
}

这使得作者可以向"云"部署自己的申请.

上述界面将生成一个要求新建环境的 UI 组件 myNewEnvironment 单账户连接 thisIsMyFirstAccountConnection 和这个账户连接上的角色 thisIsARole 与 ['lambda', 's3', 'dynamo'] 作为最低要求的作用 能力。 由于并非所有用户都将拥有账户连接,因此必须检查用户没有连接账户的情况,以及 也不将账户与角色连接。 这在类型定义中得到准确反映.

角色还可以附加说明 @inlinePolicies 百分比 这里的文件。 。 。 .

环境部分要求 name 还有一个 environmentType。所需的最小默认形状看起来是这样的:

{
  ...
  "myNewEnvironment": {
    "name": "myProductionEnvironment",
    "environmentType": "PRODUCTION"
  },
}

然后,UI组件将促使用户进入各个字段,当用户填入这些字段时,蓝图将得到一个完全扩展的形状。 没错 有时有助于将完整的 “ mock” 包含在 defaults.json 用于测试和开发目的.

示例2:一个简单的模拟界面

{
    ...
    "thisIsMyEnvironment": {
        "name": "myProductionEnvironment",
        "environmentType": "PRODUCTION",
        "thisIsMySecondAccountConnection": {
            "id": "12345678910",
            "name": "my-account-connection-name",
            "secondAdminRole": {
                "arn": "arn:aws:iam::12345678910:role/ConnectedCodecatalystRole",
                "name": "ConnectedCodecatalystRole",
                "capabilities": [
                    "lambda",
                    "s3",
                    "dynamo"
                ]
            }
        }
    }
}

例3:更复杂的模拟界面

export interface Options extends ParentOptions {
  /**
   * The name of an environment
   * @displayName This is a Environment Name
   * @collapsed
   */
  thisIsMyEnvironment: EnvironmentDefinition<{
    /**
     * blah blah blah some comments about the account that i'm deploying into
     * @displayName This account connection has an overriden name
     * @collapsed
     */
    thisIsMyFirstAccountConnection: AccountConnection<{
      /**
       * Blah blah some information about the role that I expect
       * e.g. here's a copy-pastable policy: [to a link]
       * @displayName This role has an overriden name
       */
      adminRole: Role<['admin', 'lambda', 's3', 'cloudfront']>;
      /**
       * Blah blah some information about the second role that I expect
       * e.g. here's a copy-pastable policy: [to a link]
       */
      lambdaRole: Role<['lambda', 's3']>;
    }>;
    /**
     * blah blah blah some comments about the account that i'm deploying into
     */
    thisIsMySecondAccountConnection: AccountConnection<{
      /**
         * Blah blah some information about the role that I expect
         * e.g. here's a copy-pastable policy: [to a link]
         */
      secondAdminRole: Role<['admin', 'lambda', 's3', 'cloudfront']>;
      /**
         * Blah blah some information about the second role that I expect
         * e.g. here's a copy-pastable policy: [to a link]
         */
      secondLambdaRole: Role<['lambda', 's3']>;
    }>;
  }>;
}

例4:一个完整的模拟界面

{
  ...
  "thisIsMyEnvironment": {
    "name": "my-production-environment",
    "environmentType": "PRODUCTION",
    "thisIsMySecondAccountConnection": {
      "id": "12345678910",
      "name": "my-connected-account",
      "secondAdminRole": {
        "name": "LambdaCodecatalystRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaCodecatalystRole",
        "capabilities": [
          "admin",
          "lambda",
          "s3",
          "cloudfront"
        ]
      },
      "secondLambdaRole": {
        "name": "LambdaCodecatalystRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaCodecatalystRole",
        "capabilities": [
          "lambda",
          "s3"
        ]
      }
    },
    "thisIsMyFirstAccountConnection": {
      "id": "12345678910",
      "name": "my-connected-account",
      "adminRole": {
        "name": "LambdaCodecatalystRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaCodecatalystRole",
        "capabilities": [
          "admin",
          "lambda",
          "s3",
          "cloudfront"
        ]
      },
      "lambdaRole": {
        "name": "LambdaCodecatalystRole",
        "arn": "arn:aws:iam::12345678910:role/LambdaCodecatalystRole",
        "capabilities": [
          "lambda",
          "s3"
        ]
      }
    }
  },
}

版本与发布记录

@amazon-codecatalyst/blueprint-component.environments 共发布 159 个版本,首次发布于 2023/09/26;过去 12 个月发布了 4 个版本。

版本发布日期距今
0.3.159latest2026/08/242 个月前
0.3.1582026/08/222 个月前
0.3.1572026/08/152 个月前
0.3.1562026/07/074 个月前
0.3.1552025/01/081.8 年前
0.3.1542024/10/022 年前

关于 @amazon-codecatalyst/blueprint-component.environments 的常见问题

@amazon-codecatalyst/blueprint-component.environments 是什么?

这是代号分析环境的体现.

如何安装 @amazon-codecatalyst/blueprint-component.environments?

在项目目录运行 npm install @amazon-codecatalyst/blueprint-component.environments,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@amazon-codecatalyst/blueprints.blueprint(*)、projen(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@amazon-codecatalyst/blueprint-component.environments 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@amazon-codecatalyst/blueprint-component.environments 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@amazon-codecatalyst/blueprint-component.environments 可以商用吗?

@amazon-codecatalyst/blueprint-component.environments 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@amazon-codecatalyst/blueprint-component.environments 的下载量有多少?

根据 npm 官方下载统计,@amazon-codecatalyst/blueprint-component.environments 在 2026/10/06 – 2026/11/04 这 30 天内被下载 6,828 次,日均约 228 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@amazon-codecatalyst/blueprint-component.environments 还在维护吗?

最新版本 0.3.159 发布于 2026/08/24(2 个月前);至今共发布 159 个版本,其中过去 12 个月发布了 4 个;首次发布于 2023/09/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。