@aitronos/freddy-plugins 0.3.1 → 0.4.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/CHANGELOG.md +4 -0
- package/README.md +61 -11
- package/package.json +14 -3
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -4,36 +4,39 @@ A comprehensive Vue.js component library with Storybook documentation, deployed
|
|
|
4
4
|
|
|
5
5
|
## 🚀 **Live Environments**
|
|
6
6
|
|
|
7
|
-
| Environment
|
|
8
|
-
|
|
9
|
-
| **Development** | [dev-components.aitronos.com](https://dev-components.aitronos.com)
|
|
10
|
-
| **Staging**
|
|
11
|
-
| **Production**
|
|
7
|
+
| Environment | URL | Branch | Status |
|
|
8
|
+
| --------------- | -------------------------------------------------------------------------- | --------- | ---------- |
|
|
9
|
+
| **Development** | [dev-components.aitronos.com](https://dev-components.aitronos.com) | `develop` | ✅ Live |
|
|
10
|
+
| **Staging** | [staging-components.aitronos.com](https://staging-components.aitronos.com) | `staging` | 🚧 Pending |
|
|
11
|
+
| **Production** | [components.aitronos.com](https://components.aitronos.com) | `main` | 🚧 Pending |
|
|
12
12
|
|
|
13
13
|
## 🏗️ **Infrastructure & Costs**
|
|
14
14
|
|
|
15
15
|
### **Resource Allocation**
|
|
16
16
|
|
|
17
|
-
| Environment
|
|
18
|
-
|
|
19
|
-
| **Development** | 1Gi
|
|
20
|
-
| **Staging**
|
|
21
|
-
| **Production**
|
|
17
|
+
| Environment | Memory | CPU | Max Instances | Estimated Cost/Month |
|
|
18
|
+
| --------------- | ------ | --- | ------------- | -------------------- |
|
|
19
|
+
| **Development** | 1Gi | 1 | 10 | ~$15-25 |
|
|
20
|
+
| **Staging** | 1Gi | 1 | 10 | ~$15-25 |
|
|
21
|
+
| **Production** | 2Gi | 2 | 20 | ~$30-50 |
|
|
22
22
|
|
|
23
23
|
### **Cost Breakdown**
|
|
24
24
|
|
|
25
25
|
**Google Cloud Run Pricing (Switzerland - europe-west6):**
|
|
26
|
+
|
|
26
27
|
- **CPU**: $0.00002400 per vCPU-second
|
|
27
28
|
- **Memory**: $0.00000250 per GiB-second
|
|
28
29
|
- **Requests**: $0.40 per million requests
|
|
29
30
|
|
|
30
31
|
**Estimated Monthly Costs:**
|
|
32
|
+
|
|
31
33
|
- **Development**: $15-25 (low traffic, testing)
|
|
32
34
|
- **Staging**: $15-25 (pre-production testing)
|
|
33
35
|
- **Production**: $30-50 (live traffic)
|
|
34
36
|
- **Total Estimated**: $60-100/month
|
|
35
37
|
|
|
36
38
|
**Additional Costs:**
|
|
39
|
+
|
|
37
40
|
- **Artifact Registry**: ~$5-10/month (Docker images)
|
|
38
41
|
- **Cloud Build**: ~$5-15/month (CI/CD builds)
|
|
39
42
|
- **Network Egress**: ~$5-10/month (traffic)
|
|
@@ -52,6 +55,7 @@ A comprehensive Vue.js component library with Storybook documentation, deployed
|
|
|
52
55
|
- **Framework**: Vue.js 3 + TypeScript
|
|
53
56
|
- **Documentation**: Storybook 7
|
|
54
57
|
- **Package Manager**: Yarn 4.7.0
|
|
58
|
+
- **Web Components**: Vue 3 Custom Elements (Angular/React support)
|
|
55
59
|
- **Deployment**: Google Cloud Run
|
|
56
60
|
- **CI/CD**: GitHub Actions
|
|
57
61
|
- **Container Registry**: Artifact Registry
|
|
@@ -61,6 +65,7 @@ A comprehensive Vue.js component library with Storybook documentation, deployed
|
|
|
61
65
|
## 📦 **Components**
|
|
62
66
|
|
|
63
67
|
### **Core Components**
|
|
68
|
+
|
|
64
69
|
- `Button` - Primary action buttons
|
|
65
70
|
- `InputField` - Form input components
|
|
66
71
|
- `Modal` - Dialog and modal components
|
|
@@ -68,12 +73,14 @@ A comprehensive Vue.js component library with Storybook documentation, deployed
|
|
|
68
73
|
- `Pagination` - Navigation components
|
|
69
74
|
|
|
70
75
|
### **Specialized Components**
|
|
76
|
+
|
|
71
77
|
- `ChatInterface` - Real-time chat components
|
|
72
78
|
- `ApiInteraction` - API testing interface
|
|
73
79
|
- `LoginRegister` - Authentication components
|
|
74
80
|
- `IconLibrary` - Complete icon set (100+ icons)
|
|
75
81
|
|
|
76
82
|
### **Utility Components**
|
|
83
|
+
|
|
77
84
|
- `Spinner` - Loading indicators
|
|
78
85
|
- `ToastMessage` - Notification system
|
|
79
86
|
- `Tooltip` - Information overlays
|
|
@@ -96,7 +103,7 @@ A comprehensive Vue.js component library with Storybook documentation, deployed
|
|
|
96
103
|
# Development (develop branch)
|
|
97
104
|
git push origin develop
|
|
98
105
|
|
|
99
|
-
# Staging (staging branch)
|
|
106
|
+
# Staging (staging branch)
|
|
100
107
|
git push origin staging
|
|
101
108
|
|
|
102
109
|
# Production (main branch)
|
|
@@ -112,6 +119,15 @@ yarn install
|
|
|
112
119
|
# Start Storybook locally
|
|
113
120
|
yarn storybook
|
|
114
121
|
|
|
122
|
+
# Build library
|
|
123
|
+
yarn build
|
|
124
|
+
|
|
125
|
+
# Build web components
|
|
126
|
+
yarn build:webcomponents
|
|
127
|
+
|
|
128
|
+
# Build both library and web components
|
|
129
|
+
yarn build:all
|
|
130
|
+
|
|
115
131
|
# Build Storybook
|
|
116
132
|
yarn build-storybook
|
|
117
133
|
|
|
@@ -122,6 +138,31 @@ yarn test
|
|
|
122
138
|
yarn vue-tsc --noEmit
|
|
123
139
|
```
|
|
124
140
|
|
|
141
|
+
## 🌐 **Web Components Support**
|
|
142
|
+
|
|
143
|
+
This library now supports web components, allowing you to use Vue 3 components in Angular, React, and any other framework that supports custom elements.
|
|
144
|
+
|
|
145
|
+
### Quick Start
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npm install @aitronos/freddy-plugins
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
```javascript
|
|
152
|
+
// Import web components
|
|
153
|
+
import "@aitronos/freddy-plugins/web-components";
|
|
154
|
+
import "@aitronos/freddy-plugins/web-components.css";
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
```html
|
|
158
|
+
<!-- Use as custom elements -->
|
|
159
|
+
<freddy-button label="Click me" hierarchy="primary"></freddy-button>
|
|
160
|
+
<freddy-input-field label="Email" type="email"></freddy-input-field>
|
|
161
|
+
<freddy-icon-search size="24" color="#666"></freddy-icon-search>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
For detailed web components documentation, see [WEB_COMPONENTS.md](./WEB_COMPONENTS.md).
|
|
165
|
+
|
|
125
166
|
## 📋 **Project Structure**
|
|
126
167
|
|
|
127
168
|
```
|
|
@@ -147,12 +188,14 @@ deployment/
|
|
|
147
188
|
## 🔐 **Security & Performance**
|
|
148
189
|
|
|
149
190
|
### **Security Features**
|
|
191
|
+
|
|
150
192
|
- ✅ **HTTPS only** - All traffic encrypted
|
|
151
193
|
- ✅ **Security headers** - XSS, CSRF protection
|
|
152
194
|
- ✅ **Content Security Policy** - Resource restrictions
|
|
153
195
|
- ✅ **No sensitive data** - Public component library
|
|
154
196
|
|
|
155
197
|
### **Performance Optimizations**
|
|
198
|
+
|
|
156
199
|
- ✅ **Gzip compression** - Reduced transfer size
|
|
157
200
|
- ✅ **Static asset caching** - 1-year cache headers
|
|
158
201
|
- ✅ **CDN distribution** - Global edge locations
|
|
@@ -161,6 +204,7 @@ deployment/
|
|
|
161
204
|
## 🌐 **Custom Domains**
|
|
162
205
|
|
|
163
206
|
### **DNS Configuration**
|
|
207
|
+
|
|
164
208
|
Add these CNAME records in Hostpoint.ch:
|
|
165
209
|
|
|
166
210
|
```
|
|
@@ -170,17 +214,20 @@ components.aitronos.com → freddy-storybook-prod-147074626467.europe-west6.run.
|
|
|
170
214
|
```
|
|
171
215
|
|
|
172
216
|
### **SSL Certificates**
|
|
217
|
+
|
|
173
218
|
- Automatically managed by Google Cloud
|
|
174
219
|
- Custom domains require verification in Google Cloud Console
|
|
175
220
|
|
|
176
221
|
## 📊 **Monitoring & Analytics**
|
|
177
222
|
|
|
178
223
|
### **Health Checks**
|
|
224
|
+
|
|
179
225
|
- **Endpoint**: `/health` - Returns 200 OK
|
|
180
226
|
- **Auto-restart**: Failed instances restart automatically
|
|
181
227
|
- **Logging**: Cloud Run logs available in Google Cloud Console
|
|
182
228
|
|
|
183
229
|
### **Performance Metrics**
|
|
230
|
+
|
|
184
231
|
- **Response time**: < 200ms average
|
|
185
232
|
- **Uptime**: 99.9% SLA with Cloud Run
|
|
186
233
|
- **Availability**: Multi-zone deployment
|
|
@@ -190,6 +237,7 @@ components.aitronos.com → freddy-storybook-prod-147074626467.europe-west6.run.
|
|
|
190
237
|
### **Common Issues**
|
|
191
238
|
|
|
192
239
|
**Build Failures:**
|
|
240
|
+
|
|
193
241
|
```bash
|
|
194
242
|
# Check TypeScript errors
|
|
195
243
|
yarn vue-tsc --noEmit
|
|
@@ -199,6 +247,7 @@ yarn build-storybook
|
|
|
199
247
|
```
|
|
200
248
|
|
|
201
249
|
**Deployment Issues:**
|
|
250
|
+
|
|
202
251
|
```bash
|
|
203
252
|
# Check GitHub Actions logs
|
|
204
253
|
# Verify GCP_SA_KEY secret is set
|
|
@@ -206,6 +255,7 @@ yarn build-storybook
|
|
|
206
255
|
```
|
|
207
256
|
|
|
208
257
|
**Domain Issues:**
|
|
258
|
+
|
|
209
259
|
- Verify DNS propagation (can take 24-48 hours)
|
|
210
260
|
- Check custom domain verification in Google Cloud Console
|
|
211
261
|
- Ensure CNAME records are correct
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aitronos/freddy-plugins",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
"import": "./dist/index.js",
|
|
14
14
|
"require": "./dist/index.cjs"
|
|
15
15
|
},
|
|
16
|
+
"./web-components": {
|
|
17
|
+
"types": "./dist/web-components.d.ts",
|
|
18
|
+
"import": "./dist/web-components.js",
|
|
19
|
+
"require": "./dist/web-components.umd.js"
|
|
20
|
+
},
|
|
21
|
+
"./web-components.css": {
|
|
22
|
+
"default": "./dist/freddy-plugins.css"
|
|
23
|
+
},
|
|
16
24
|
"./*": {
|
|
17
25
|
"types": "./dist/*.d.ts",
|
|
18
26
|
"import": "./dist/*.js",
|
|
@@ -39,10 +47,12 @@
|
|
|
39
47
|
"scripts": {
|
|
40
48
|
"dev": "vite",
|
|
41
49
|
"build": "yarn clean && yarn generate:icons-export && yarn generate:animations-exports && yarn generate:components-exports && yarn generate:components-stories && yarn generate:icon-stories && vue-tsc -p tsconfig.build.json && vite build",
|
|
50
|
+
"build:webcomponents": "yarn clean && yarn generate:icons-export && yarn generate:animations-exports && yarn generate:components-exports && yarn generate:components-stories && yarn generate:icon-stories && vue-tsc -p tsconfig.build.json && BUILD_TARGET=webcomponents vite build",
|
|
51
|
+
"build:all": "yarn build && yarn build:webcomponents",
|
|
42
52
|
"preview": "vite preview",
|
|
43
53
|
"visualize-build": "ANALYZE=true yarn build",
|
|
44
54
|
"clean": "rimraf dist",
|
|
45
|
-
"prepublishOnly": "yarn build",
|
|
55
|
+
"prepublishOnly": "yarn build:all",
|
|
46
56
|
"publish:package": "yarn npm publish --access public",
|
|
47
57
|
"storybook": "yarn fetch:versions && storybook dev -p 6006",
|
|
48
58
|
"fetch:versions": "node src/scripts/get-versions.js",
|
|
@@ -59,7 +69,7 @@
|
|
|
59
69
|
"version:patch": "node scripts/bump-version.js patch",
|
|
60
70
|
"version:minor": "node scripts/bump-version.js minor",
|
|
61
71
|
"version:major": "node scripts/bump-version.js major",
|
|
62
|
-
"publish:manual": "yarn build && yarn npm publish --access public",
|
|
72
|
+
"publish:manual": "yarn build:all && yarn npm publish --access public",
|
|
63
73
|
"test:build": "./scripts/test-build.sh",
|
|
64
74
|
"test:quick": "./scripts/quick-test.sh"
|
|
65
75
|
},
|
|
@@ -90,6 +100,7 @@
|
|
|
90
100
|
"@vitest/browser": "^3.1.1",
|
|
91
101
|
"@vitest/coverage-v8": "^3.1.2",
|
|
92
102
|
"@vue/tsconfig": "^0.7.0",
|
|
103
|
+
"@vue/web-component-wrapper": "^1.3.0",
|
|
93
104
|
"concurrently": "^9.1.2",
|
|
94
105
|
"cpx": "^1.5.0",
|
|
95
106
|
"gh-pages": "^6.3.0",
|