puls-dev 0.2.2 → 0.2.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 CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  [Live Documentation](https://pulsdev.io/) | Discord: **pulsdev.io** ([Join](https://discord.gg/CjgRayuH))
6
6
 
7
+ > [!IMPORTANT]
8
+ > **Active Pre-1.0 Development**
9
+ > `pulsdev.io` is currently undergoing **active development**. While the framework features exhaustive 100% test coverage and strict production safety locks (such as dry-run planning and protected resource decorators), APIs and features are actively evolving.
10
+ > We are aggressively rolling out new resources and provider integrations. We welcome your feedback, bug reports, and contributions!
11
+
7
12
  ```typescript
8
13
  @Deploy({ proxmox: CONFIG.STAGING })
9
14
  class GameInfra extends Stack {
@@ -36,11 +41,14 @@ Running the same stack twice is always safe - existing resources are detected an
36
41
 
37
42
  ## Providers
38
43
 
39
- | Provider | Resources |
40
- |----------|-----------|
41
- | [DigitalOcean](docs/providers/digitalocean.md) | Droplet, Domain, Firewall, Certificate, LoadBalancer |
42
- | [AWS](docs/providers/aws.md) | Route53, ACM (wildcard SSL), CloudFront, S3 |
43
- | [Proxmox](docs/providers/proxmox.md) | VM (clone, cloud-init, provision, replace) |
44
+ | Provider | Resources | Status |
45
+ |----------|-----------|--------|
46
+ | [Google Cloud Platform (GCP)](docs/providers/gcp.md) | Cloud Run, Cloud SQL, Secret Manager, Pub/Sub, Cloud DNS, IAM (Service Accounts & Bindings) | **Completed** |
47
+ | [AWS](docs/providers/aws.md) | Route53, ACM (wildcard SSL), CloudFront, S3 | **Completed** |
48
+ | [Firebase](docs/providers/firebase.md) | Hosting, Functions, Firestore (Indexes & Rules), Storage (Rules/CORS), Auth, Remote Config, App Check | **Completed** |
49
+ | [DigitalOcean](docs/providers/digitalocean.md) | Droplet, Domain, Firewall, Certificate, LoadBalancer | **Completed** |
50
+ | [Proxmox](docs/providers/proxmox.md) | VM (clone, cloud-init, provision, cluster-aware node selection, replace) | **Completed** |
51
+
44
52
 
45
53
  ---
46
54
 
@@ -1,8 +1,5 @@
1
1
  import "reflect-metadata";
2
2
  import { Config } from "./config.js";
3
- import { listProxmoxVMs } from "../providers/proxmox/list.js";
4
- import { listDoResources } from "../providers/do/list.js";
5
- import { listAwsResources } from "../providers/aws/list.js";
6
3
  function clip(text, width) {
7
4
  return text.length > width
8
5
  ? text.slice(0, width - 1) + "…"
@@ -135,7 +132,8 @@ export class Checker {
135
132
  const tasks = [];
136
133
  console.log(`\nšŸ” Checking infrastructure...`);
137
134
  if (cfg.providers.proxmox?.url && cfg.providers.proxmox?.tokenSecret) {
138
- tasks.push(listProxmoxVMs()
135
+ tasks.push(import("../providers/proxmox/list.js")
136
+ .then((m) => m.listProxmoxVMs())
139
137
  .then((inv) => {
140
138
  result.proxmox = inv;
141
139
  })
@@ -144,7 +142,8 @@ export class Checker {
144
142
  }));
145
143
  }
146
144
  if (cfg.providers.do?.token) {
147
- tasks.push(listDoResources()
145
+ tasks.push(import("../providers/do/list.js")
146
+ .then((m) => m.listDoResources())
148
147
  .then((inv) => {
149
148
  result.do = inv;
150
149
  })
@@ -153,7 +152,8 @@ export class Checker {
153
152
  }));
154
153
  }
155
154
  if (cfg.providers.aws?.region) {
156
- tasks.push(listAwsResources()
155
+ tasks.push(import("../providers/aws/list.js")
156
+ .then((m) => m.listAwsResources())
157
157
  .then((inv) => {
158
158
  result.aws = inv;
159
159
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "puls-dev",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Intent-driven infrastructure-as-code with eager discovery and no state files.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",