@easyflow/javascript-sdk 2.1.7
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/.babelrc +5 -0
- package/.github/workflows/deploy-sdk-cf.yml +49 -0
- package/.github/workflows/release-sdk-cdn.yml +144 -0
- package/.github/workflows/release-sdk.yml +112 -0
- package/.prettierrc +6 -0
- package/CDN-DEPLOYMENT.md +175 -0
- package/DEMO.md +258 -0
- package/DEPLOYMENT.md +224 -0
- package/INTEGRATION-GUIDE.md +521 -0
- package/README.md +1013 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/easyflow-javascript-sdk/index.html +116 -0
- package/coverage/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
- package/coverage/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
- package/coverage/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
- package/coverage/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
- package/coverage/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
- package/coverage/easyflow-javascript-sdk/libs/index.html +266 -0
- package/coverage/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
- package/coverage/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
- package/coverage/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
- package/coverage/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
- package/coverage/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
- package/coverage/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
- package/coverage/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +131 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/index.html +116 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/index.html +266 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
- package/coverage/lcov-report/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +131 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +1429 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/dist/435.easyflow-sdk.min.js +1 -0
- package/dist/easyflow-sdk.min.js +1 -0
- package/dist/easyflow-sdk.min.js.LICENSE.txt +1 -0
- package/dist/index.html +756 -0
- package/docs/index.html +775 -0
- package/examples/lovable-integration.html +410 -0
- package/index.html +981 -0
- package/jest.config.js +37 -0
- package/jsdoc.json +42 -0
- package/libs/auto-integration.mjs +333 -0
- package/libs/constants.mjs +61 -0
- package/libs/constants.spec.js +198 -0
- package/libs/errors.mjs +62 -0
- package/libs/errors.spec.js +178 -0
- package/libs/exception-handler.mjs +21 -0
- package/libs/exception-handler.spec.js +237 -0
- package/libs/fingerprint.mjs +270 -0
- package/libs/http.mjs +163 -0
- package/libs/http.spec.js +427 -0
- package/libs/integration-wrapper.mjs +285 -0
- package/libs/logger.mjs +161 -0
- package/libs/logger.spec.js +389 -0
- package/libs/sanitizer.mjs +340 -0
- package/libs/sanitizer.spec.js +583 -0
- package/libs/security.mjs +217 -0
- package/libs/types.mjs +141 -0
- package/libs/utils.mjs +368 -0
- package/libs/utils.spec.js +231 -0
- package/libs/validator.mjs +952 -0
- package/libs/validator.spec.js +615 -0
- package/mocks/offer.mock.js +77 -0
- package/package.json +72 -0
- package/scripts/publish-npm.sh +82 -0
- package/sdk.mjs +945 -0
- package/sdk.spec.js +796 -0
- package/test-setup.cjs +211 -0
- package/test.html +154 -0
- package/webpack.config.cjs +41 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Deploy Easyflow SDK to Cloudflare Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-deploy:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout code
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Setup Node.js
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: '18'
|
|
20
|
+
cache: 'npm'
|
|
21
|
+
|
|
22
|
+
- name: Install dependencies
|
|
23
|
+
run: npm ci
|
|
24
|
+
|
|
25
|
+
- name: Build SDK
|
|
26
|
+
run: npm run build
|
|
27
|
+
|
|
28
|
+
- name: Copy Documentation to Build
|
|
29
|
+
run: |
|
|
30
|
+
# Copiar apenas o index.html da documentação
|
|
31
|
+
cp docs/index.html dist/
|
|
32
|
+
echo "📚 Documentação copiada para build (apenas index.html)"
|
|
33
|
+
|
|
34
|
+
- name: Deploy to Cloudflare Pages
|
|
35
|
+
uses: cloudflare/pages-action@v1
|
|
36
|
+
with:
|
|
37
|
+
apiToken: ${{ secrets.CF_API_TOKEN }}
|
|
38
|
+
accountId: ${{ secrets.CF_ACCOUNT_ID }}
|
|
39
|
+
projectName: easyflow-sdk
|
|
40
|
+
directory: dist
|
|
41
|
+
|
|
42
|
+
- name: Success Message
|
|
43
|
+
run: |
|
|
44
|
+
echo "🚀 SDK e Documentação Deployados com sucesso!"
|
|
45
|
+
echo "📦 SDK + Docs: https://easyflow-sdk.pages.dev"
|
|
46
|
+
echo "🌐 jsDelivr: https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@latest/dist/easyflow-sdk.min.js"
|
|
47
|
+
echo ""
|
|
48
|
+
echo "✅ Documentação agora está disponível em:"
|
|
49
|
+
echo " https://easyflow-sdk.pages.dev"
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
name: Release Easyflow SDK - Multi-CDN
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout do repositório
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Instalar Node.js
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: 20
|
|
20
|
+
cache: 'npm'
|
|
21
|
+
|
|
22
|
+
- name: Instalar dependências
|
|
23
|
+
run: npm install
|
|
24
|
+
|
|
25
|
+
- name: Gerar arquivo de versão
|
|
26
|
+
run: npm run generate-version
|
|
27
|
+
|
|
28
|
+
- name: Executar testes
|
|
29
|
+
run: npm test
|
|
30
|
+
|
|
31
|
+
- name: Build do SDK
|
|
32
|
+
run: npm run build
|
|
33
|
+
|
|
34
|
+
- name: Extrair versão do SDK
|
|
35
|
+
id: version
|
|
36
|
+
run: |
|
|
37
|
+
VERSION=$(jq -r .version package.json)
|
|
38
|
+
echo "VERSION=v$VERSION" >> "$GITHUB_ENV"
|
|
39
|
+
echo "version=v$VERSION" >> "$GITHUB_OUTPUT"
|
|
40
|
+
|
|
41
|
+
- name: Copiar arquivo com versão
|
|
42
|
+
run: |
|
|
43
|
+
cp dist/easyflow-sdk.min.js dist/easyflow-sdk.${{ env.VERSION }}.min.js
|
|
44
|
+
|
|
45
|
+
- name: Copiar interface de teste
|
|
46
|
+
run: |
|
|
47
|
+
cp index.html dist/
|
|
48
|
+
# Update the script src to use the correct path for production
|
|
49
|
+
sed -i 's|./dist/easyflow-sdk.min.js|./easyflow-sdk.min.js|g' dist/index.html
|
|
50
|
+
|
|
51
|
+
- name: Gerar hash de integridade (SRI)
|
|
52
|
+
id: sri
|
|
53
|
+
run: |
|
|
54
|
+
HASH=$(openssl dgst -sha384 -binary dist/easyflow-sdk.${{ env.VERSION }}.min.js | openssl base64 -A)
|
|
55
|
+
echo "SRI=sha384-${HASH}" >> "$GITHUB_ENV"
|
|
56
|
+
echo "sha=sha384-${HASH}" >> "$GITHUB_OUTPUT"
|
|
57
|
+
|
|
58
|
+
- name: Criar arquivo de exemplo com SRI
|
|
59
|
+
run: |
|
|
60
|
+
cat > dist/example.html << EOF
|
|
61
|
+
<!DOCTYPE html>
|
|
62
|
+
<html>
|
|
63
|
+
<head>
|
|
64
|
+
<title>Easyflow SDK Example</title>
|
|
65
|
+
</head>
|
|
66
|
+
<body>
|
|
67
|
+
<h1>Easyflow SDK v${{ env.VERSION }}</h1>
|
|
68
|
+
<script src="easyflow-sdk.${{ env.VERSION }}.min.js"
|
|
69
|
+
integrity="${{ env.SRI }}"
|
|
70
|
+
crossorigin="anonymous"></script>
|
|
71
|
+
<script>
|
|
72
|
+
console.log('EasyflowSDK version:', EasyflowSDK.version);
|
|
73
|
+
</script>
|
|
74
|
+
</body>
|
|
75
|
+
</html>
|
|
76
|
+
EOF
|
|
77
|
+
|
|
78
|
+
- name: Deploy para Cloudflare Pages
|
|
79
|
+
uses: cloudflare/pages-action@v1
|
|
80
|
+
with:
|
|
81
|
+
apiToken: ${{ secrets.CF_API_TOKEN }}
|
|
82
|
+
accountId: ${{ secrets.CF_ACCOUNT_ID }}
|
|
83
|
+
projectName: easyflow-sdk
|
|
84
|
+
directory: dist
|
|
85
|
+
|
|
86
|
+
- name: Verificar disponibilidade no jsDelivr
|
|
87
|
+
run: |
|
|
88
|
+
echo "Verificando disponibilidade no jsDelivr..."
|
|
89
|
+
echo "URL: https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js"
|
|
90
|
+
echo "Note: jsDelivr pode levar alguns minutos para sincronizar com npm"
|
|
91
|
+
|
|
92
|
+
- name: Criar Release no GitHub
|
|
93
|
+
uses: actions/create-release@v1
|
|
94
|
+
env:
|
|
95
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
96
|
+
with:
|
|
97
|
+
tag_name: ${{ github.ref }}
|
|
98
|
+
release_name: Easyflow SDK ${{ env.VERSION }}
|
|
99
|
+
body: |
|
|
100
|
+
## Easyflow SDK ${{ env.VERSION }}
|
|
101
|
+
|
|
102
|
+
### CDNs Disponíveis
|
|
103
|
+
|
|
104
|
+
#### Cloudflare Pages
|
|
105
|
+
- **Latest**: `https://easyflow-sdk.pages.dev/easyflow-sdk.min.js`
|
|
106
|
+
- **Versionado**: `https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js`
|
|
107
|
+
|
|
108
|
+
#### jsDelivr CDN
|
|
109
|
+
- **Latest**: `https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@latest/dist/easyflow-sdk.min.js`
|
|
110
|
+
- **Versionado**: `https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js`
|
|
111
|
+
|
|
112
|
+
### SRI Hash
|
|
113
|
+
```
|
|
114
|
+
sha384-${{ env.SRI }}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Exemplo de Uso
|
|
118
|
+
|
|
119
|
+
#### Cloudflare Pages
|
|
120
|
+
```html
|
|
121
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js"
|
|
122
|
+
integrity="sha384-${{ env.SRI }}"
|
|
123
|
+
crossorigin="anonymous"></script>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### jsDelivr CDN
|
|
127
|
+
```html
|
|
128
|
+
<script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@${{ env.VERSION }}/dist/easyflow-sdk.min.js"
|
|
129
|
+
integrity="sha384-${{ env.SRI }}"
|
|
130
|
+
crossorigin="anonymous"></script>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Arquivos
|
|
134
|
+
- `easyflow-sdk.${{ env.VERSION }}.min.js` - SDK minificado
|
|
135
|
+
- `easyflow-sdk.min.js` - SDK minificado (sem versão)
|
|
136
|
+
- `example.html` - Exemplo de uso com SRI
|
|
137
|
+
draft: false
|
|
138
|
+
prerelease: false
|
|
139
|
+
|
|
140
|
+
- name: Publicar no NPM (se necessário)
|
|
141
|
+
run: |
|
|
142
|
+
echo "Para publicar no NPM, execute manualmente:"
|
|
143
|
+
echo "npm publish --access public"
|
|
144
|
+
echo "Isso tornará o SDK disponível no jsDelivr automaticamente"
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
name: Release Easyflow SDK
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout do repositório
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Instalar Node.js
|
|
17
|
+
uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: 20
|
|
20
|
+
cache: 'npm'
|
|
21
|
+
|
|
22
|
+
- name: Instalar dependências
|
|
23
|
+
run: npm install
|
|
24
|
+
|
|
25
|
+
- name: Gerar arquivo de versão
|
|
26
|
+
run: npm run generate-version
|
|
27
|
+
|
|
28
|
+
- name: Executar testes
|
|
29
|
+
run: npm test
|
|
30
|
+
|
|
31
|
+
- name: Build do SDK
|
|
32
|
+
run: npm run build
|
|
33
|
+
|
|
34
|
+
- name: Extrair versão do SDK
|
|
35
|
+
id: version
|
|
36
|
+
run: |
|
|
37
|
+
VERSION=$(jq -r .version package.json)
|
|
38
|
+
echo "VERSION=v$VERSION" >> "$GITHUB_ENV"
|
|
39
|
+
echo "version=v$VERSION" >> "$GITHUB_OUTPUT"
|
|
40
|
+
|
|
41
|
+
- name: Copiar arquivo com versão
|
|
42
|
+
run: |
|
|
43
|
+
cp dist/easyflow-sdk.min.js dist/easyflow-sdk.${{ env.VERSION }}.min.js
|
|
44
|
+
|
|
45
|
+
- name: Copiar interface de teste
|
|
46
|
+
run: |
|
|
47
|
+
cp index.html dist/
|
|
48
|
+
# Update the script src to use the correct path for production
|
|
49
|
+
sed -i 's|./dist/easyflow-sdk.min.js|./easyflow-sdk.min.js|g' dist/index.html
|
|
50
|
+
|
|
51
|
+
- name: Gerar hash de integridade (SRI)
|
|
52
|
+
id: sri
|
|
53
|
+
run: |
|
|
54
|
+
HASH=$(openssl dgst -sha384 -binary dist/easyflow-sdk.${{ env.VERSION }}.min.js | openssl base64 -A)
|
|
55
|
+
echo "SRI=sha384-${HASH}" >> "$GITHUB_ENV"
|
|
56
|
+
echo "sha=sha384-${HASH}" >> "$GITHUB_OUTPUT"
|
|
57
|
+
|
|
58
|
+
- name: Criar arquivo de exemplo com SRI
|
|
59
|
+
run: |
|
|
60
|
+
cat > dist/example.html << EOF
|
|
61
|
+
<!DOCTYPE html>
|
|
62
|
+
<html>
|
|
63
|
+
<head>
|
|
64
|
+
<title>Easyflow SDK Example</title>
|
|
65
|
+
</head>
|
|
66
|
+
<body>
|
|
67
|
+
<h1>Easyflow SDK v${{ env.VERSION }}</h1>
|
|
68
|
+
<script src="easyflow-sdk.${{ env.VERSION }}.min.js"
|
|
69
|
+
integrity="${{ env.SRI }}"
|
|
70
|
+
crossorigin="anonymous"></script>
|
|
71
|
+
<script>
|
|
72
|
+
console.log('EasyflowSDK version:', EasyflowSDK.version);
|
|
73
|
+
</script>
|
|
74
|
+
</body>
|
|
75
|
+
</html>
|
|
76
|
+
EOF
|
|
77
|
+
|
|
78
|
+
- name: Deploy para Cloudflare Pages
|
|
79
|
+
uses: cloudflare/pages-action@v1
|
|
80
|
+
with:
|
|
81
|
+
apiToken: ${{ secrets.CF_API_TOKEN }}
|
|
82
|
+
accountId: ${{ secrets.CF_ACCOUNT_ID }}
|
|
83
|
+
projectName: easyflow-sdk
|
|
84
|
+
directory: dist
|
|
85
|
+
|
|
86
|
+
- name: Criar Release no GitHub
|
|
87
|
+
uses: actions/create-release@v1
|
|
88
|
+
env:
|
|
89
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
90
|
+
with:
|
|
91
|
+
tag_name: ${{ github.ref }}
|
|
92
|
+
release_name: Easyflow SDK ${{ env.VERSION }}
|
|
93
|
+
body: |
|
|
94
|
+
## Easyflow SDK ${{ env.VERSION }}
|
|
95
|
+
|
|
96
|
+
### Arquivos
|
|
97
|
+
- `easyflow-sdk.${{ env.VERSION }}.min.js` - SDK minificado
|
|
98
|
+
- `easyflow-sdk.min.js` - SDK minificado (sem versão)
|
|
99
|
+
|
|
100
|
+
### SRI Hash
|
|
101
|
+
```
|
|
102
|
+
sha384-${{ env.SRI }}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Uso
|
|
106
|
+
```html
|
|
107
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.${{ env.VERSION }}.min.js"
|
|
108
|
+
integrity="sha384-${{ env.SRI }}"
|
|
109
|
+
crossorigin="anonymous"></script>
|
|
110
|
+
```
|
|
111
|
+
draft: false
|
|
112
|
+
prerelease: false
|
package/.prettierrc
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# CDN Deployment Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This guide explains how to deploy the Easyflow JavaScript SDK to CDN and make it available for public consumption.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Node.js 18+ installed
|
|
10
|
+
- npm or yarn package manager
|
|
11
|
+
- Git repository access
|
|
12
|
+
- GitHub Pages enabled for the repository
|
|
13
|
+
|
|
14
|
+
## Build Process
|
|
15
|
+
|
|
16
|
+
### 1. Build the SDK
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm run build
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This command will:
|
|
23
|
+
- Generate version constants
|
|
24
|
+
- Bundle the SDK using Webpack
|
|
25
|
+
- Create minified and obfuscated versions
|
|
26
|
+
- Output files to the `dist/` directory
|
|
27
|
+
|
|
28
|
+
### 2. Create Git Tag
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git add .
|
|
32
|
+
git commit -m "Release v2.1.6"
|
|
33
|
+
git tag v2.1.6
|
|
34
|
+
git push origin v2.1.6
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Deploy to GitHub Pages
|
|
38
|
+
|
|
39
|
+
The GitHub Actions workflow will automatically:
|
|
40
|
+
- Build the SDK
|
|
41
|
+
- Deploy to GitHub Pages
|
|
42
|
+
- Make it available at `https://easyflow-sdk.pages.dev`
|
|
43
|
+
|
|
44
|
+
## CDN URLs
|
|
45
|
+
|
|
46
|
+
### GitHub Pages (Primary)
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<!-- Latest version -->
|
|
50
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.min.js"></script>
|
|
51
|
+
|
|
52
|
+
<!-- Specific version -->
|
|
53
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.v2.1.6.min.js"></script>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### NPM CDN (Alternative)
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<!-- Latest version -->
|
|
60
|
+
<script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk/dist/easyflow-sdk.min.js"></script>
|
|
61
|
+
|
|
62
|
+
<!-- Specific version -->
|
|
63
|
+
<script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@2.1.6/dist/easyflow-sdk.min.js"></script>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## File Structure
|
|
67
|
+
|
|
68
|
+
After deployment, the following files will be available:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
https://easyflow-sdk.pages.dev/
|
|
72
|
+
├── easyflow-sdk.min.js # Latest version
|
|
73
|
+
├── easyflow-sdk.v2.1.6.min.js # Versioned file
|
|
74
|
+
├── easyflow-sdk.v2.1.5.min.js # Previous version
|
|
75
|
+
└── ... # Other versions
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Usage Examples
|
|
79
|
+
|
|
80
|
+
### Basic Integration
|
|
81
|
+
|
|
82
|
+
```html
|
|
83
|
+
<!DOCTYPE html>
|
|
84
|
+
<html>
|
|
85
|
+
<head>
|
|
86
|
+
<title>Easyflow SDK Test</title>
|
|
87
|
+
</head>
|
|
88
|
+
<body>
|
|
89
|
+
<h1>Easyflow SDK Test</h1>
|
|
90
|
+
|
|
91
|
+
<!-- Load SDK from CDN -->
|
|
92
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.v2.1.6.min.js"></script>
|
|
93
|
+
|
|
94
|
+
<script>
|
|
95
|
+
// SDK is now available as window.easyflowSDK
|
|
96
|
+
console.log('SDK Version:', window.easyflowSDK.version);
|
|
97
|
+
|
|
98
|
+
// Initialize SDK
|
|
99
|
+
const sdk = new window.EasyflowSDK({
|
|
100
|
+
businessId: 'your-business-id'
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
console.log('SDK initialized:', sdk);
|
|
104
|
+
</script>
|
|
105
|
+
</body>
|
|
106
|
+
</html>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Version-Specific Loading
|
|
110
|
+
|
|
111
|
+
```html
|
|
112
|
+
<!-- Load specific version for stability -->
|
|
113
|
+
<script src="https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@2.1.6/dist/easyflow-sdk.min.js"></script>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Versioning Strategy
|
|
117
|
+
|
|
118
|
+
### Semantic Versioning
|
|
119
|
+
|
|
120
|
+
- **Major** (2.x.x): Breaking changes
|
|
121
|
+
- **Minor** (2.1.x): New features, backward compatible
|
|
122
|
+
- **Patch** (2.1.6): Bug fixes, backward compatible
|
|
123
|
+
|
|
124
|
+
### Release Process
|
|
125
|
+
|
|
126
|
+
1. **Development**: Work on features/fixes
|
|
127
|
+
2. **Testing**: Run full test suite
|
|
128
|
+
3. **Build**: Create production build
|
|
129
|
+
4. **Tag**: Create git tag with version
|
|
130
|
+
5. **Deploy**: Automatic deployment via GitHub Actions
|
|
131
|
+
6. **Document**: Update documentation and examples
|
|
132
|
+
|
|
133
|
+
## Troubleshooting
|
|
134
|
+
|
|
135
|
+
### Common Issues
|
|
136
|
+
|
|
137
|
+
1. **SDK not loading**: Check CDN URL and network connectivity
|
|
138
|
+
2. **Version mismatch**: Ensure using correct version tag
|
|
139
|
+
3. **Build errors**: Check Node.js version and dependencies
|
|
140
|
+
|
|
141
|
+
### Debug Mode
|
|
142
|
+
|
|
143
|
+
For development, you can use the unminified version:
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<script src="https://easyflow-sdk.pages.dev/easyflow-sdk.js"></script>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Security Considerations
|
|
150
|
+
|
|
151
|
+
- All CDN files are served over HTTPS
|
|
152
|
+
- Files are minified and obfuscated for production
|
|
153
|
+
- Source maps are not included in production builds
|
|
154
|
+
- Regular security audits are performed
|
|
155
|
+
|
|
156
|
+
## Monitoring
|
|
157
|
+
|
|
158
|
+
- GitHub Pages deployment status
|
|
159
|
+
- CDN performance metrics
|
|
160
|
+
- Error tracking and reporting
|
|
161
|
+
- Usage analytics
|
|
162
|
+
|
|
163
|
+
## Support
|
|
164
|
+
|
|
165
|
+
For issues with CDN deployment:
|
|
166
|
+
|
|
167
|
+
1. Check GitHub Actions workflow status
|
|
168
|
+
2. Verify file availability at CDN URLs
|
|
169
|
+
3. Test with different browsers/devices
|
|
170
|
+
4. Contact development team
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
**Last Updated**: v2.1.6
|
|
175
|
+
**Next Release**: v2.1.7 (patch) or v2.2.0 (minor)
|