@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.
Files changed (93) hide show
  1. package/.babelrc +5 -0
  2. package/.github/workflows/deploy-sdk-cf.yml +49 -0
  3. package/.github/workflows/release-sdk-cdn.yml +144 -0
  4. package/.github/workflows/release-sdk.yml +112 -0
  5. package/.prettierrc +6 -0
  6. package/CDN-DEPLOYMENT.md +175 -0
  7. package/DEMO.md +258 -0
  8. package/DEPLOYMENT.md +224 -0
  9. package/INTEGRATION-GUIDE.md +521 -0
  10. package/README.md +1013 -0
  11. package/coverage/base.css +224 -0
  12. package/coverage/block-navigation.js +87 -0
  13. package/coverage/easyflow-javascript-sdk/index.html +116 -0
  14. package/coverage/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
  15. package/coverage/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
  16. package/coverage/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
  17. package/coverage/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
  18. package/coverage/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
  19. package/coverage/easyflow-javascript-sdk/libs/index.html +266 -0
  20. package/coverage/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
  21. package/coverage/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
  22. package/coverage/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
  23. package/coverage/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
  24. package/coverage/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
  25. package/coverage/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
  26. package/coverage/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
  27. package/coverage/favicon.png +0 -0
  28. package/coverage/index.html +131 -0
  29. package/coverage/lcov-report/base.css +224 -0
  30. package/coverage/lcov-report/block-navigation.js +87 -0
  31. package/coverage/lcov-report/easyflow-javascript-sdk/index.html +116 -0
  32. package/coverage/lcov-report/easyflow-javascript-sdk/libs/constants.mjs.html +268 -0
  33. package/coverage/lcov-report/easyflow-javascript-sdk/libs/errors.mjs.html +271 -0
  34. package/coverage/lcov-report/easyflow-javascript-sdk/libs/exception-handler.mjs.html +148 -0
  35. package/coverage/lcov-report/easyflow-javascript-sdk/libs/fingerprint.mjs.html +895 -0
  36. package/coverage/lcov-report/easyflow-javascript-sdk/libs/http.mjs.html +502 -0
  37. package/coverage/lcov-report/easyflow-javascript-sdk/libs/index.html +266 -0
  38. package/coverage/lcov-report/easyflow-javascript-sdk/libs/logger.mjs.html +568 -0
  39. package/coverage/lcov-report/easyflow-javascript-sdk/libs/sanitizer.mjs.html +1099 -0
  40. package/coverage/lcov-report/easyflow-javascript-sdk/libs/security.mjs.html +733 -0
  41. package/coverage/lcov-report/easyflow-javascript-sdk/libs/types.mjs.html +508 -0
  42. package/coverage/lcov-report/easyflow-javascript-sdk/libs/utils.mjs.html +379 -0
  43. package/coverage/lcov-report/easyflow-javascript-sdk/libs/validator.mjs.html +2623 -0
  44. package/coverage/lcov-report/easyflow-javascript-sdk/sdk.mjs.html +2434 -0
  45. package/coverage/lcov-report/favicon.png +0 -0
  46. package/coverage/lcov-report/index.html +131 -0
  47. package/coverage/lcov-report/prettify.css +1 -0
  48. package/coverage/lcov-report/prettify.js +2 -0
  49. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  50. package/coverage/lcov-report/sorter.js +196 -0
  51. package/coverage/lcov.info +1429 -0
  52. package/coverage/prettify.css +1 -0
  53. package/coverage/prettify.js +2 -0
  54. package/coverage/sort-arrow-sprite.png +0 -0
  55. package/coverage/sorter.js +196 -0
  56. package/dist/435.easyflow-sdk.min.js +1 -0
  57. package/dist/easyflow-sdk.min.js +1 -0
  58. package/dist/easyflow-sdk.min.js.LICENSE.txt +1 -0
  59. package/dist/index.html +756 -0
  60. package/docs/index.html +775 -0
  61. package/examples/lovable-integration.html +410 -0
  62. package/index.html +981 -0
  63. package/jest.config.js +37 -0
  64. package/jsdoc.json +42 -0
  65. package/libs/auto-integration.mjs +333 -0
  66. package/libs/constants.mjs +61 -0
  67. package/libs/constants.spec.js +198 -0
  68. package/libs/errors.mjs +62 -0
  69. package/libs/errors.spec.js +178 -0
  70. package/libs/exception-handler.mjs +21 -0
  71. package/libs/exception-handler.spec.js +237 -0
  72. package/libs/fingerprint.mjs +270 -0
  73. package/libs/http.mjs +163 -0
  74. package/libs/http.spec.js +427 -0
  75. package/libs/integration-wrapper.mjs +285 -0
  76. package/libs/logger.mjs +161 -0
  77. package/libs/logger.spec.js +389 -0
  78. package/libs/sanitizer.mjs +340 -0
  79. package/libs/sanitizer.spec.js +583 -0
  80. package/libs/security.mjs +217 -0
  81. package/libs/types.mjs +141 -0
  82. package/libs/utils.mjs +368 -0
  83. package/libs/utils.spec.js +231 -0
  84. package/libs/validator.mjs +952 -0
  85. package/libs/validator.spec.js +615 -0
  86. package/mocks/offer.mock.js +77 -0
  87. package/package.json +72 -0
  88. package/scripts/publish-npm.sh +82 -0
  89. package/sdk.mjs +945 -0
  90. package/sdk.spec.js +796 -0
  91. package/test-setup.cjs +211 -0
  92. package/test.html +154 -0
  93. package/webpack.config.cjs +41 -0
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@easyflow/javascript-sdk",
3
+ "version": "2.1.7",
4
+ "description": "Easyflow javascript SDK to be used on client side applications",
5
+ "main": "dist/easyflow-sdk.min.js",
6
+ "type": "module",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ "import": "./dist/index.mjs",
10
+ "require": "./dist/index.cjs"
11
+ },
12
+ "scripts": {
13
+ "build": "npm run generate-version && npx webpack --config webpack.config.cjs",
14
+ "generate-version": "node -e \"const pkg=require('./package.json'); const fs=require('fs'); const content='export const SDK_VERSION = \\'' + pkg.version + '\\';'; fs.writeFileSync('./version.mjs', content);\"",
15
+ "server:up": "rm -rf ./dist && npm run build && npx http-server . -p 8080 -o",
16
+ "dev": "npm run build && npx http-server . -p 8080 -o --cors",
17
+ "test": "node --experimental-vm-modules ./node_modules/.bin/jest",
18
+ "test:watch": "jest --watch",
19
+ "test:coverage": "jest --coverage",
20
+ "test:verbose": "jest --verbose",
21
+ "publish:npm": "./scripts/publish-npm.sh"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/easyflow-cash/easyflow-javascript-sdk.git"
26
+ },
27
+ "keywords": [
28
+ "easyflow",
29
+ "sdk",
30
+ "javascript",
31
+ "secure",
32
+ "payment",
33
+ "pix",
34
+ "credit-card",
35
+ "bank-billet"
36
+ ],
37
+ "devDependencies": {
38
+ "@babel/cli": "^7.26.4",
39
+ "@babel/core": "^7.26.8",
40
+ "@babel/preset-env": "^7.26.8",
41
+ "babel-loader": "^9.2.1",
42
+ "http-server": "^14.1.1",
43
+ "javascript-obfuscator": "^4.1.1",
44
+ "jest": "^29.7.0",
45
+ "prettier": "^3.4.2",
46
+ "terser-webpack-plugin": "^5.3.11",
47
+ "webpack": "^5.97.1",
48
+ "webpack-cli": "^6.0.1",
49
+ "webpack-obfuscator": "^3.5.1"
50
+ },
51
+ "author": {
52
+ "name": "Diego Moura",
53
+ "email": "diego@easyflow.digital",
54
+ "url": "https://diegomoura.pro",
55
+ "github": "https://github.com/dmourainatel"
56
+ },
57
+ "license": "ISC",
58
+ "bugs": {
59
+ "url": "https://github.com/easyflow-cash/easyflow-javascript-sdk/issues"
60
+ },
61
+ "homepage": "https://github.com/easyflow-cash/easyflow-javascript-sdk#readme",
62
+ "maintainers": [
63
+ {
64
+ "name": "Diego Moura",
65
+ "email": "diego@easyflow.digital",
66
+ "url": "https://diegomoura.pro"
67
+ }
68
+ ],
69
+ "dependencies": {
70
+ "@jest/globals": "^30.0.3"
71
+ }
72
+ }
@@ -0,0 +1,82 @@
1
+ #!/bin/bash
2
+
3
+ # Script para publicar o Easyflow SDK no NPM
4
+ # Este script deve ser executado após um release bem-sucedido
5
+
6
+ set -e
7
+
8
+ echo "🚀 Publicando Easyflow SDK no NPM..."
9
+
10
+ # Verificar se estamos no diretório correto
11
+ if [ ! -f "package.json" ]; then
12
+ echo "❌ Erro: Execute este script no diretório raiz do projeto"
13
+ exit 1
14
+ fi
15
+
16
+ # Verificar se o build existe
17
+ if [ ! -f "dist/easyflow-sdk.min.js" ]; then
18
+ echo "❌ Erro: Build não encontrado. Execute 'npm run build' primeiro"
19
+ exit 1
20
+ fi
21
+
22
+ # Verificar se estamos logados no NPM
23
+ if ! npm whoami > /dev/null 2>&1; then
24
+ echo "❌ Erro: Não está logado no NPM. Execute 'npm login' primeiro"
25
+ exit 1
26
+ fi
27
+
28
+ # Verificar se há mudanças não commitadas
29
+ if [ -n "$(git status --porcelain)" ]; then
30
+ echo "❌ Erro: Há mudanças não commitadas. Commit ou stash primeiro"
31
+ git status --porcelain
32
+ exit 1
33
+ fi
34
+
35
+ # Verificar se estamos na branch main
36
+ CURRENT_BRANCH=$(git branch --show-current)
37
+ if [ "$CURRENT_BRANCH" != "main" ]; then
38
+ echo "❌ Erro: Deve estar na branch main para publicar"
39
+ echo "Branch atual: $CURRENT_BRANCH"
40
+ exit 1
41
+ fi
42
+
43
+ # Extrair versão do package.json
44
+ VERSION=$(node -p "require('./package.json').version")
45
+ echo "📦 Versão atual: $VERSION"
46
+
47
+ # Verificar se a tag existe
48
+ if ! git tag -l "v$VERSION" | grep -q "v$VERSION"; then
49
+ echo "❌ Erro: Tag v$VERSION não encontrada. Crie a tag primeiro:"
50
+ echo " git tag v$VERSION"
51
+ echo " git push origin v$VERSION"
52
+ exit 1
53
+ fi
54
+
55
+ # Verificar se a tag foi enviada para o repositório remoto
56
+ if ! git ls-remote --tags origin "v$VERSION" | grep -q "v$VERSION"; then
57
+ echo "❌ Erro: Tag v$VERSION não foi enviada para o repositório remoto"
58
+ echo "Execute: git push origin v$VERSION"
59
+ exit 1
60
+ fi
61
+
62
+ echo "✅ Verificações passaram. Publicando no NPM..."
63
+
64
+ # Publicar no NPM
65
+ npm publish --access public
66
+
67
+ echo ""
68
+ echo "🎉 SDK publicado com sucesso no NPM!"
69
+ echo ""
70
+ echo "📋 Próximos passos:"
71
+ echo "1. jsDelivr CDN estará disponível em ~5 minutos:"
72
+ echo " https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@$VERSION/dist/easyflow-sdk.min.js"
73
+ echo ""
74
+ echo "2. Verificar publicação:"
75
+ echo " https://www.npmjs.com/package/@easyflow/javascript-sdk"
76
+ echo ""
77
+ echo "3. Testar CDN jsDelivr:"
78
+ echo " https://cdn.jsdelivr.net/npm/@easyflow/javascript-sdk@$VERSION/dist/easyflow-sdk.min.js"
79
+ echo ""
80
+ echo "4. Atualizar documentação se necessário"
81
+ echo ""
82
+ echo "✅ Deploy completo: Cloudflare Pages + jsDelivr CDN"