infra-foundry 1.0.3 → 1.1.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/README.md +3 -86
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/vercel/component.d.ts +13 -0
- package/dist/vercel/component.d.ts.map +1 -0
- package/dist/vercel/component.js +50 -0
- package/dist/vercel/component.js.map +1 -0
- package/dist/vercel/index.d.ts +3 -0
- package/dist/vercel/index.d.ts.map +1 -0
- package/dist/vercel/index.js +19 -0
- package/dist/vercel/index.js.map +1 -0
- package/dist/vercel/types.d.ts +16 -0
- package/dist/vercel/types.d.ts.map +1 -0
- package/dist/vercel/types.js +3 -0
- package/dist/vercel/types.js.map +1 -0
- package/package.json +20 -9
package/README.md
CHANGED
|
@@ -23,17 +23,9 @@ A platform-agnostic cloud infrastructure components library for modern applicati
|
|
|
23
23
|
- In your infra project repo
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
# or add as dependency in package.json
|
|
30
|
-
"dependencies": {
|
|
31
|
-
...
|
|
32
|
-
"infra-foundry": "git+ssh://git@github.com/0xhssn/infra-foundry.git",
|
|
33
|
-
...
|
|
34
|
-
}
|
|
35
|
-
# and then install
|
|
36
|
-
yarn install
|
|
26
|
+
npm install infra-foundry
|
|
27
|
+
# or
|
|
28
|
+
yarn add infra-foundry
|
|
37
29
|
```
|
|
38
30
|
|
|
39
31
|
- Create a Pulumi Organisation via Pulumi console
|
|
@@ -85,81 +77,6 @@ src/
|
|
|
85
77
|
└── utils/ # Shared utilities
|
|
86
78
|
```
|
|
87
79
|
|
|
88
|
-
## 🛠️ Development
|
|
89
|
-
|
|
90
|
-
### Prerequisites
|
|
91
|
-
|
|
92
|
-
- Node.js >= 20.0.0
|
|
93
|
-
- TypeScript >= 5.0.0
|
|
94
|
-
- Pulumi CLI
|
|
95
|
-
|
|
96
|
-
### Setup
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Clone the repository
|
|
100
|
-
git clone https://github.com/0xhssn/infra-foundry.git
|
|
101
|
-
cd infra-foundry
|
|
102
|
-
|
|
103
|
-
# Install dependencies
|
|
104
|
-
yarn install
|
|
105
|
-
|
|
106
|
-
# Build the project
|
|
107
|
-
yarn build
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Code Quality
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Run linting
|
|
114
|
-
yarn lint
|
|
115
|
-
|
|
116
|
-
# Fix linting issues
|
|
117
|
-
yarn lint:fix
|
|
118
|
-
|
|
119
|
-
# Format code
|
|
120
|
-
yarn format
|
|
121
|
-
|
|
122
|
-
# Check formatting
|
|
123
|
-
yarn format:check
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 🚀 Release Automation
|
|
127
|
-
|
|
128
|
-
Infra Foundry uses [semantic-release](https://semantic-release.gitbook.io/) for fully automated version management and package publishing. Versions are determined automatically based on commit messages following [Conventional Commits](https://www.conventionalcommits.org/).
|
|
129
|
-
|
|
130
|
-
### How It Works
|
|
131
|
-
|
|
132
|
-
1. **Commit Analysis**: Commits are analyzed to determine the next version bump
|
|
133
|
-
2. **Changelog Generation**: CHANGELOG.md is automatically updated
|
|
134
|
-
3. **NPM Publishing**: Package is published to npm registry
|
|
135
|
-
4. **GitHub Release**: A GitHub release is created with release notes
|
|
136
|
-
|
|
137
|
-
### Release Channels
|
|
138
|
-
|
|
139
|
-
| Branch | Channel | Example Version |
|
|
140
|
-
| ------- | ----------- | --------------- |
|
|
141
|
-
| `main` | Stable | `1.2.3` |
|
|
142
|
-
| `beta` | Pre-release | `1.2.3-beta.1` |
|
|
143
|
-
| `alpha` | Pre-release | `1.2.3-alpha.1` |
|
|
144
|
-
|
|
145
|
-
### Setting Up NPM_TOKEN
|
|
146
|
-
|
|
147
|
-
To enable automated npm publishing, add the `NPM_TOKEN` secret to your repository:
|
|
148
|
-
|
|
149
|
-
1. Go to [npmjs.com](https://www.npmjs.com/) → Access Tokens
|
|
150
|
-
2. Generate New Token → Select "Automation" type
|
|
151
|
-
3. Copy the token
|
|
152
|
-
4. In GitHub: Repository → Settings → Secrets and variables → Actions
|
|
153
|
-
5. Add new secret: Name = `NPM_TOKEN`, Value = your token
|
|
154
|
-
|
|
155
|
-
### Version Bump Rules
|
|
156
|
-
|
|
157
|
-
| Commit Type | Example | Version Bump |
|
|
158
|
-
| --------------- | ------------------- | ------------- |
|
|
159
|
-
| Breaking change | `feat(s3)!: ...` | Major (1.0.0) |
|
|
160
|
-
| Feature | `feat(ecs): ...` | Minor (0.1.0) |
|
|
161
|
-
| Fix | `fix(amplify): ...` | Patch (0.0.1) |
|
|
162
|
-
|
|
163
80
|
## 🤝 Contributing
|
|
164
81
|
|
|
165
82
|
We welcome contributions! Please see our [Contributing Guidelines](./CONTRIBUTING.md) for details.
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -33,8 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.context = exports.commonTags = exports.addEnvSuffix = exports.EnvironmentUtils = exports.domainUtils = exports.secret = exports.image = exports.ecr = exports.vpc = exports.ecs = exports.ses = exports.route53 = exports.s3 = exports.cloudflare = exports.amplify = void 0;
|
|
36
|
+
exports.context = exports.commonTags = exports.addEnvSuffix = exports.EnvironmentUtils = exports.domainUtils = exports.secret = exports.image = exports.ecr = exports.vpc = exports.ecs = exports.ses = exports.route53 = exports.s3 = exports.cloudflare = exports.vercel = exports.amplify = void 0;
|
|
37
37
|
exports.amplify = __importStar(require("./amplify"));
|
|
38
|
+
exports.vercel = __importStar(require("./vercel"));
|
|
38
39
|
exports.cloudflare = __importStar(require("./cloudflare"));
|
|
39
40
|
exports.s3 = __importStar(require("./s3"));
|
|
40
41
|
exports.route53 = __importStar(require("./route53"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAoC;AACpC,2DAA0C;AAC1C,2CAA0B;AAC1B,qDAAoC;AACpC,6CAA4B;AAC5B,6CAA4B;AAC5B,6CAA4B;AAC5B,6CAA4B;AAC5B,iDAAgC;AAChC,mDAAkC;AAElC,8DAA6C;AAC7C,wEAAuD;AAEvD,qDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,2CAAkD;AAAhC,kGAAA,OAAO,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAoC;AACpC,mDAAkC;AAClC,2DAA0C;AAC1C,2CAA0B;AAC1B,qDAAoC;AACpC,6CAA4B;AAC5B,6CAA4B;AAC5B,6CAA4B;AAC5B,6CAA4B;AAC5B,iDAAgC;AAChC,mDAAkC;AAElC,8DAA6C;AAC7C,wEAAuD;AAEvD,qDAAmD;AAA1C,4GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,2CAAkD;AAAhC,kGAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ComponentResource, ComponentResourceOptions, Output } from '@pulumi/pulumi';
|
|
2
|
+
import { Project, ProjectEnvironmentVariable, ProjectDomain } from '@pulumiverse/vercel';
|
|
3
|
+
import { VercelProjectConfig } from './types';
|
|
4
|
+
export declare class VercelProject extends ComponentResource {
|
|
5
|
+
readonly project: Project;
|
|
6
|
+
readonly environmentVariables: ProjectEnvironmentVariable[];
|
|
7
|
+
readonly domainResource?: ProjectDomain;
|
|
8
|
+
readonly projectId: Output<string>;
|
|
9
|
+
readonly projectName: Output<string>;
|
|
10
|
+
readonly domain: Output<string>;
|
|
11
|
+
constructor(name: string, config: VercelProjectConfig, opts?: ComponentResourceOptions);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/vercel/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,oBAAoB,EAAE,0BAA0B,EAAE,CAAA;IAClE,SAAgB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9C,SAAgB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACzC,SAAgB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBAE1B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,wBAAwB;CAiEvF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VercelProject = void 0;
|
|
4
|
+
const pulumi_1 = require("@pulumi/pulumi");
|
|
5
|
+
const vercel_1 = require("@pulumiverse/vercel");
|
|
6
|
+
class VercelProject extends pulumi_1.ComponentResource {
|
|
7
|
+
constructor(name, config, opts) {
|
|
8
|
+
super('infra-foundry:vercel:VercelProject', name, {}, opts);
|
|
9
|
+
const { framework = 'nextjs', teamId, customDomain, gitRepo, environmentVariables = [], } = config;
|
|
10
|
+
this.project = new vercel_1.Project(name, {
|
|
11
|
+
name: config.name,
|
|
12
|
+
framework,
|
|
13
|
+
...(gitRepo ? { gitRepository: { type: 'github', repo: gitRepo } } : {}),
|
|
14
|
+
...(teamId ? { teamId } : {}),
|
|
15
|
+
}, { parent: this });
|
|
16
|
+
this.environmentVariables = environmentVariables.map((envVar) => {
|
|
17
|
+
const resourceName = `${name}-env-${envVar.key.toLowerCase().replace(/_/g, '-')}-${envVar.targets.join('-')}`;
|
|
18
|
+
return new vercel_1.ProjectEnvironmentVariable(resourceName, {
|
|
19
|
+
projectId: this.project.id,
|
|
20
|
+
key: envVar.key,
|
|
21
|
+
value: envVar.value,
|
|
22
|
+
targets: envVar.targets,
|
|
23
|
+
...(envVar.sensitive ? { sensitive: envVar.sensitive } : {}),
|
|
24
|
+
...(teamId ? { teamId } : {}),
|
|
25
|
+
}, { parent: this.project });
|
|
26
|
+
});
|
|
27
|
+
if (customDomain) {
|
|
28
|
+
this.domainResource = new vercel_1.ProjectDomain(`${name}-domain`, {
|
|
29
|
+
projectId: this.project.id,
|
|
30
|
+
domain: customDomain,
|
|
31
|
+
...(teamId ? { teamId } : {}),
|
|
32
|
+
}, { parent: this.project });
|
|
33
|
+
}
|
|
34
|
+
this.projectId = this.project.id;
|
|
35
|
+
this.projectName = this.project.name;
|
|
36
|
+
this.domain = this.domainResource
|
|
37
|
+
? this.domainResource.domain
|
|
38
|
+
: pulumi_1.Output.create(`${config.name}.vercel.app`);
|
|
39
|
+
this.registerOutputs({
|
|
40
|
+
project: this.project,
|
|
41
|
+
environmentVariables: this.environmentVariables,
|
|
42
|
+
domainResource: this.domainResource,
|
|
43
|
+
projectId: this.projectId,
|
|
44
|
+
projectName: this.projectName,
|
|
45
|
+
domain: this.domain,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.VercelProject = VercelProject;
|
|
50
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/vercel/component.ts"],"names":[],"mappings":";;;AAAA,2CAAoF;AACpF,gDAAwF;AAIxF,MAAa,aAAc,SAAQ,0BAAiB;IAQlD,YAAY,IAAY,EAAE,MAA2B,EAAE,IAA+B;QACpF,KAAK,CAAC,oCAAoC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QAE3D,MAAM,EACJ,SAAS,GAAG,QAAQ,EACpB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,oBAAoB,GAAG,EAAE,GAC1B,GAAG,MAAM,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CACxB,IAAI,EACJ;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;QAED,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9D,MAAM,YAAY,GAAG,GAAG,IAAI,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;YAC7G,OAAO,IAAI,mCAA0B,CACnC,YAAY,EACZ;gBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CACzB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAa,CACrC,GAAG,IAAI,SAAS,EAChB;gBACE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,MAAM,EAAE,YAAY;gBACpB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CACzB,CAAA;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc;YAC/B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM;YAC5B,CAAC,CAAC,eAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE9C,IAAI,CAAC,eAAe,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;CACF;AAzED,sCAyEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./component"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vercel/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,0CAAuB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Input } from '@pulumi/pulumi';
|
|
2
|
+
export interface VercelEnvVar {
|
|
3
|
+
key: string;
|
|
4
|
+
value: Input<string>;
|
|
5
|
+
targets: Array<'production' | 'preview' | 'development'>;
|
|
6
|
+
sensitive?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface VercelProjectConfig {
|
|
9
|
+
name: string;
|
|
10
|
+
framework?: string;
|
|
11
|
+
teamId?: string;
|
|
12
|
+
customDomain?: string;
|
|
13
|
+
gitRepo?: string;
|
|
14
|
+
environmentVariables?: VercelEnvVar[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vercel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACpB,OAAO,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vercel/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "infra-foundry",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Production-ready cloud infrastructure components for modern applications, built with TypeScript and Pulumi.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -10,14 +10,20 @@
|
|
|
10
10
|
"LICENSE"
|
|
11
11
|
],
|
|
12
12
|
"keywords": [
|
|
13
|
-
"cloud",
|
|
14
|
-
"infrastructure",
|
|
15
13
|
"pulumi",
|
|
16
14
|
"aws",
|
|
17
15
|
"cloudflare",
|
|
18
|
-
"
|
|
19
|
-
"iac"
|
|
16
|
+
"infrastructure",
|
|
17
|
+
"iac",
|
|
18
|
+
"devops",
|
|
19
|
+
"typescript",
|
|
20
|
+
"cloud",
|
|
21
|
+
"ecs",
|
|
22
|
+
"s3",
|
|
23
|
+
"vpc",
|
|
24
|
+
"route53"
|
|
20
25
|
],
|
|
26
|
+
"author": "Hamza Hassan <hassanhamza0101@gmail.com> (https://linkedin.com/in/hhssnn)",
|
|
21
27
|
"contributors": [
|
|
22
28
|
{
|
|
23
29
|
"name": "Hamza Hassan",
|
|
@@ -26,9 +32,9 @@
|
|
|
26
32
|
],
|
|
27
33
|
"repository": {
|
|
28
34
|
"type": "git",
|
|
29
|
-
"url": "git+
|
|
35
|
+
"url": "git+https://github.com/0xhssn/infra-foundry.git"
|
|
30
36
|
},
|
|
31
|
-
"homepage": "https://github.com/0xhssn/infra-foundry
|
|
37
|
+
"homepage": "https://github.com/0xhssn/infra-foundry",
|
|
32
38
|
"bugs": {
|
|
33
39
|
"url": "https://github.com/0xhssn/infra-foundry/issues"
|
|
34
40
|
},
|
|
@@ -41,14 +47,19 @@
|
|
|
41
47
|
"@pulumi/aws": "^6.0.0",
|
|
42
48
|
"@pulumi/awsx": "^2.0.0",
|
|
43
49
|
"@pulumi/cloudflare": "^6.0.0",
|
|
44
|
-
"@pulumi/pulumi": "^3.0.0"
|
|
50
|
+
"@pulumi/pulumi": "^3.0.0",
|
|
51
|
+
"@pulumiverse/vercel": "^1.0.0"
|
|
45
52
|
},
|
|
46
53
|
"peerDependenciesMeta": {
|
|
47
54
|
"@pulumi/cloudflare": {
|
|
48
55
|
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"@pulumiverse/vercel": {
|
|
58
|
+
"optional": true
|
|
49
59
|
}
|
|
50
60
|
},
|
|
51
61
|
"dependencies": {
|
|
62
|
+
"@pulumiverse/vercel": "^4.6.1",
|
|
52
63
|
"typescript": "^5.0.0"
|
|
53
64
|
},
|
|
54
65
|
"devDependencies": {
|