infra-foundry 1.0.3 → 1.0.4
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/package.json +14 -8
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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "infra-foundry",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.4",
|
|
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
|
},
|