cloudcommerce 0.0.64 → 0.0.67

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 (124) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/package.json +8 -8
  3. package/packages/api/package.json +1 -1
  4. package/packages/apps/correios/README.md +1 -1
  5. package/packages/apps/correios/lib-mjs/calculate-correios.mjs +2 -2
  6. package/packages/apps/correios/package.json +1 -1
  7. package/packages/apps/custom-shipping/CHANGELOG.md +1 -0
  8. package/packages/apps/custom-shipping/README.md +1 -0
  9. package/packages/apps/custom-shipping/lib/custom-shipping.d.ts +2 -0
  10. package/packages/apps/custom-shipping/lib/custom-shipping.js +6 -0
  11. package/packages/apps/custom-shipping/lib/custom-shipping.js.map +1 -0
  12. package/packages/apps/custom-shipping/lib/index.d.ts +1 -0
  13. package/packages/apps/custom-shipping/lib/index.js +2 -0
  14. package/packages/apps/custom-shipping/lib/index.js.map +1 -0
  15. package/packages/apps/custom-shipping/lib-mjs/calculate-custom-shipping.mjs +251 -0
  16. package/packages/apps/custom-shipping/package.json +27 -0
  17. package/packages/apps/custom-shipping/src/custom-shipping.ts +7 -0
  18. package/packages/apps/custom-shipping/src/index.ts +1 -0
  19. package/packages/apps/custom-shipping/tsconfig.json +6 -0
  20. package/packages/apps/discounts/package.json +1 -1
  21. package/packages/apps/tiny-erp/README.md +1 -1
  22. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +9 -6
  23. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
  24. package/packages/apps/tiny-erp/package.json +2 -2
  25. package/packages/apps/tiny-erp/src/integration/export-order-to-tiny.ts +9 -6
  26. package/packages/cli/package.json +1 -1
  27. package/packages/config/CHANGELOG.md +1 -0
  28. package/packages/config/README.md +1 -0
  29. package/packages/config/lib/config.d.ts +13 -0
  30. package/packages/config/lib/config.js +30 -0
  31. package/packages/config/lib/config.js.map +1 -0
  32. package/packages/{firebase → config}/lib/defaults.d.ts +0 -0
  33. package/packages/{firebase → config}/lib/defaults.js +0 -0
  34. package/packages/{firebase → config}/lib/defaults.js.map +0 -0
  35. package/packages/config/lib/env.d.ts +11 -0
  36. package/packages/config/lib/env.js +30 -0
  37. package/packages/config/lib/env.js.map +1 -0
  38. package/packages/config/package.json +33 -0
  39. package/packages/config/src/config.ts +43 -0
  40. package/packages/{firebase → config}/src/defaults.ts +0 -0
  41. package/packages/config/src/env.ts +43 -0
  42. package/packages/config/tsconfig.json +6 -0
  43. package/packages/events/package.json +2 -2
  44. package/packages/firebase/lib/config.d.ts +21 -21
  45. package/packages/firebase/lib/config.js +20 -41
  46. package/packages/firebase/lib/config.js.map +1 -1
  47. package/packages/firebase/lib/env.d.ts +2 -10
  48. package/packages/firebase/lib/env.js +3 -27
  49. package/packages/firebase/lib/env.js.map +1 -1
  50. package/packages/firebase/lib/handlers/check-store-events.js +17 -8
  51. package/packages/firebase/lib/handlers/check-store-events.js.map +1 -1
  52. package/packages/firebase/package.json +3 -3
  53. package/packages/firebase/src/config.ts +23 -45
  54. package/packages/firebase/src/env.ts +2 -38
  55. package/packages/firebase/src/handlers/check-store-events.ts +18 -9
  56. package/packages/modules/lib/firebase/call-app-module.js +5 -0
  57. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  58. package/packages/modules/package.json +3 -2
  59. package/packages/modules/src/firebase/call-app-module.ts +5 -0
  60. package/packages/passport/package.json +2 -2
  61. package/packages/ssr/package.json +2 -2
  62. package/packages/storefront/.eslintrc.cjs +6 -0
  63. package/packages/storefront/astro.config.mjs +20 -0
  64. package/packages/storefront/content/blog.json +18 -0
  65. package/packages/storefront/content/brands.json +24 -0
  66. package/packages/storefront/content/categories.json +24 -0
  67. package/packages/storefront/content/code.json +5 -0
  68. package/packages/storefront/content/collections.json +24 -0
  69. package/packages/storefront/content/contacts.json +13 -0
  70. package/packages/storefront/content/footer.json +46 -0
  71. package/packages/storefront/content/header.json +27 -0
  72. package/packages/storefront/content/home.json +45 -0
  73. package/packages/storefront/content/info.json +18 -0
  74. package/packages/storefront/content/maintenance.json +6 -0
  75. package/packages/storefront/content/menu.json +6 -0
  76. package/packages/storefront/content/pages/contato.json +6 -0
  77. package/packages/storefront/content/pages/entrega.json +6 -0
  78. package/packages/storefront/content/pages/faq.json +6 -0
  79. package/packages/storefront/content/pages/pagamentos.json +6 -0
  80. package/packages/storefront/content/pages/privacidade.json +6 -0
  81. package/packages/storefront/content/pages/sobre-nos.json +6 -0
  82. package/packages/storefront/content/pages/termos.json +6 -0
  83. package/packages/storefront/content/pages/trocas.json +6 -0
  84. package/packages/storefront/content/posts/esta-loja-e-um-pwa.json +9 -0
  85. package/packages/storefront/content/products.json +32 -0
  86. package/packages/storefront/content/search.json +8 -0
  87. package/packages/storefront/content/settings.json +25 -0
  88. package/packages/storefront/content/social.json +5 -0
  89. package/packages/storefront/content/widgets/analytics.json +11 -0
  90. package/packages/storefront/content/widgets/compre-confie.json +11 -0
  91. package/packages/storefront/content/widgets/ebit.json +11 -0
  92. package/packages/storefront/content/widgets/fb-pixel.json +12 -0
  93. package/packages/storefront/content/widgets/gmc-ratings.json +12 -0
  94. package/packages/storefront/content/widgets/minicart.json +6 -0
  95. package/packages/storefront/content/widgets/offers-notification.json +11 -0
  96. package/packages/storefront/content/widgets/opinioes-verificadas.json +18 -0
  97. package/packages/storefront/content/widgets/product-card.json +10 -0
  98. package/packages/storefront/content/widgets/product.json +13 -0
  99. package/packages/storefront/content/widgets/search-engine.json +8 -0
  100. package/packages/storefront/content/widgets/search.json +6 -0
  101. package/packages/storefront/content/widgets/tag-manager.json +12 -0
  102. package/packages/storefront/content/widgets/tawkto.json +12 -0
  103. package/packages/storefront/content/widgets/trustvox.json +15 -0
  104. package/packages/storefront/content/widgets/user.json +5 -0
  105. package/packages/storefront/dist/client/assets/_...0b5ebd52.css +1 -0
  106. package/packages/storefront/dist/client/assets/_...d4aa8aff.css +1 -0
  107. package/packages/storefront/dist/client/assets/index.5608ba47.css +1 -0
  108. package/packages/storefront/dist/client/client.6d48c590.js +1 -0
  109. package/packages/storefront/dist/client/favicon.ico +0 -0
  110. package/packages/storefront/dist/client/page.3aa82516.js +1 -0
  111. package/packages/storefront/dist/client/~partytown/partytown-atomics.js +2 -0
  112. package/packages/storefront/dist/client/~partytown/partytown-media.js +2 -0
  113. package/packages/storefront/dist/client/~partytown/partytown-sw.js +2 -0
  114. package/packages/storefront/dist/client/~partytown/partytown.js +2 -0
  115. package/packages/storefront/dist/server/entry.mjs +1674 -0
  116. package/packages/storefront/package.json +13 -9
  117. package/packages/storefront/public/favicon.ico +0 -0
  118. package/packages/storefront/src/components/Card.astro +74 -0
  119. package/packages/storefront/src/layouts/Layout.astro +56 -0
  120. package/packages/storefront/src/pages/[...slug].astro +76 -0
  121. package/packages/storefront/src/pages/index.astro +82 -0
  122. package/packages/storefront/src/storefront-config.ts +28 -0
  123. package/packages/storefront/tsconfig.json +3 -0
  124. package/packages/types/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.0.64",
4
+ "version": "0.0.67",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -16,21 +16,25 @@
16
16
  },
17
17
  "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/storefront#readme",
18
18
  "scripts": {
19
- "build": "echo '@ecomplus/storefront'"
19
+ "dev": "astro dev",
20
+ "start": "astro dev",
21
+ "build": "astro build",
22
+ "preview": "astro preview",
23
+ "astro": "astro"
20
24
  },
21
25
  "dependencies": {
22
- "@astrojs/mdx": "^0.10.2",
23
- "@astrojs/node": "^1.0.0",
26
+ "@astrojs/node": "^1.0.1",
24
27
  "@astrojs/partytown": "^1.0.0",
25
28
  "@astrojs/prefetch": "^0.0.7",
26
29
  "@astrojs/sitemap": "^1.0.0",
27
30
  "@astrojs/vue": "^1.0.0",
28
31
  "@cloudcommerce/api": "workspace:*",
29
32
  "@picocss/pico": "^1.5.3",
30
- "astro": "^1.1.1",
31
- "rollup": "^2.78.1",
32
- "unocss": "^0.45.13",
33
- "vite": "^3.0.9",
34
- "vue": "^3.2.37"
33
+ "astro": "^1.1.5",
34
+ "rollup": "^2.79.0",
35
+ "unocss": "^0.45.15",
36
+ "vite": "^3.1.0",
37
+ "vite-plugin-pwa": "^0.12.6",
38
+ "vue": "^3.2.38"
35
39
  }
36
40
  }
@@ -0,0 +1,74 @@
1
+ ---
2
+ export interface Props {
3
+ title: string,
4
+ body: string,
5
+ href: string,
6
+ }
7
+ const {href, title, body} = Astro.props;
8
+ ---
9
+ <li class="link-card">
10
+ <a href={href}>
11
+ <h2>
12
+ {title}
13
+ <span>&rarr;</span>
14
+ </h2>
15
+ <p>
16
+ {body}
17
+ </p>
18
+ </a>
19
+ </li>
20
+ <style>
21
+
22
+ :root {
23
+ --link-gradient: linear-gradient(45deg, #4F39FA, #DA62C4 30%, var(--color-border) 60%);
24
+ }
25
+
26
+ .link-card {
27
+ list-style: none;
28
+ display: flex;
29
+ padding: 0.15rem;
30
+ background-image: var(--link-gradient);
31
+ background-size: 400%;
32
+ border-radius: 0.5rem;
33
+ background-position: 100%;
34
+ transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
35
+ }
36
+
37
+ .link-card > a {
38
+ width: 100%;
39
+ text-decoration: none;
40
+ line-height: 1.4;
41
+ padding: 1em 1.3em;
42
+ border-radius: 0.35rem;
43
+ color: var(--text-color);
44
+ background-color: white;
45
+ opacity: 0.8;
46
+ }
47
+
48
+ h2 {
49
+ margin: 0;
50
+ transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
51
+ }
52
+
53
+ p {
54
+ margin-top: 0.75rem;
55
+ margin-bottom: 0;
56
+ }
57
+
58
+ h2 span {
59
+ display: inline-block;
60
+ transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
61
+ }
62
+
63
+ .link-card:is(:hover, :focus-within) {
64
+ background-position: 0;
65
+ }
66
+
67
+ .link-card:is(:hover, :focus-within) h2 {
68
+ color: #4F39FA;
69
+ }
70
+
71
+ .link-card:is(:hover, :focus-within) h2 span {
72
+ transform: translateX(2px);
73
+ }
74
+ </style>
@@ -0,0 +1,56 @@
1
+ ---
2
+ export interface Props {
3
+ title: string;
4
+ }
5
+
6
+ const { title } = Astro.props as Props;
7
+ ---
8
+
9
+ <!DOCTYPE html>
10
+ <html lang="en">
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <meta name="viewport" content="width=device-width">
14
+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
15
+ <title>{title}</title>
16
+ </head>
17
+ <body>
18
+ <slot />
19
+ </body>
20
+ </html>
21
+
22
+ <style>
23
+ :root {
24
+ --font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.19rem);
25
+ --font-size-lg: clamp(1.2rem, 0.7vw + 1.2rem, 1.5rem);
26
+ --font-size-xl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
27
+
28
+ --color-text: hsl(12, 5%, 4%);
29
+ --color-bg: hsl(10, 21%, 95%);
30
+ --color-border: hsl(17, 24%, 90%);
31
+ }
32
+
33
+ html {
34
+ font-family: system-ui, sans-serif;
35
+ font-size: var(--font-size-base);
36
+ color: var(--color-text);
37
+ background-color: var(--color-bg);
38
+ }
39
+
40
+ body {
41
+ margin: 0;
42
+ }
43
+
44
+ :global(h1) {
45
+ font-size: var(--font-size-xl);
46
+ }
47
+
48
+ :global(h2) {
49
+ font-size: var(--font-size-lg);
50
+ }
51
+
52
+ :global(code) {
53
+ font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
54
+ Bitstream Vera Sans Mono, Courier New, monospace;
55
+ }
56
+ </style>
@@ -0,0 +1,76 @@
1
+ ---
2
+ import api from '@cloudcommerce/api';
3
+ import Layout from '../layouts/Layout.astro';
4
+
5
+ const { slug } = Astro.params;
6
+ const { data: { resource, doc } } = await api.get(`slugs/${slug}`, {
7
+ storeId: 1056,
8
+ fetch,
9
+ });
10
+ ---
11
+
12
+ <Layout title={doc.name}>
13
+ <main>
14
+ <h1>Hello <span class="text-gradient">{doc.name}</span></h1>
15
+ <hr>
16
+ <div class="mt-3">
17
+ <mark>{doc._id}</mark> from <i>{resource}</i>
18
+ <p>{Math.random()}</p>
19
+ <em>Lorem ipsum dolor sit amet</em>
20
+ </div>
21
+ </main>
22
+ </Layout>
23
+
24
+ <style>
25
+ :root {
26
+ --astro-gradient: linear-gradient(0deg,#4F39FA, #DA62C4);
27
+ }
28
+
29
+ h1 {
30
+ margin: 2rem 0;
31
+ }
32
+
33
+ main {
34
+ margin: auto;
35
+ padding: 1em;
36
+ max-width: 60ch;
37
+ }
38
+
39
+ .text-gradient {
40
+ font-weight: 900;
41
+ background-image: var(--astro-gradient);
42
+ -webkit-background-clip: text;
43
+ -webkit-text-fill-color: transparent;
44
+ background-size: 100% 200%;
45
+ background-position-y: 100%;
46
+ border-radius: 0.4rem;
47
+ animation: pulse 4s ease-in-out infinite;
48
+ }
49
+
50
+ @keyframes pulse {
51
+ 0%, 100% { background-position-y: 0%; }
52
+ 50% { background-position-y: 80%; }
53
+ }
54
+
55
+ .instructions {
56
+ line-height: 1.6;
57
+ margin: 1rem 0;
58
+ background: #4F39FA;
59
+ padding: 1.0rem;
60
+ border-radius: 0.4rem;
61
+ color: var(--color-bg);
62
+ }
63
+
64
+ .instructions code {
65
+ font-size: 0.875em;
66
+ border: 0.1em solid var(--color-border);
67
+ border-radius: 4px;
68
+ padding: 0.15em 0.25em;
69
+ }
70
+ .link-card-grid {
71
+ display: grid;
72
+ grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr));
73
+ gap: 1rem;
74
+ padding: 0;
75
+ }
76
+ </style>
@@ -0,0 +1,82 @@
1
+ ---
2
+ import Layout from '../layouts/Layout.astro';
3
+ import Card from '../components/Card.astro';
4
+
5
+ const fetchingProducts = await fetch('https://ecomplus.io/v2/:1056/products');
6
+ const products = (await fetchingProducts.json()).result;
7
+ ---
8
+
9
+ <Layout title="Welcome to Astro.">
10
+ <main>
11
+ <h1>Welcome to <span class="text-gradient">Astro</span></h1>
12
+ <p class="instructions">
13
+ Check out the <code>src/pages</code> directory to get started.<br/>
14
+ <strong>Code Challenge:</strong> Tweak the "Welcome to Astro" message above.
15
+ </p>
16
+ <ul role="list" class="link-card-grid">
17
+ <Card href="https://docs.astro.build/" title="Documentation" body="Learn how Astro works and explore the official API docs." />
18
+ <Card href="https://astro.build/integrations/" title="Integrations" body="Supercharge your project with new frameworks and libraries." />
19
+ <Card href="https://astro.build/themes/" title="Themes" body="Explore a galaxy of community-built starter themes." />
20
+ <Card href="https://astro.build/chat/" title="Chat" body="Come say hi to our amazing Discord community. ❤️" />
21
+ </ul>
22
+ <ul role="list" class="mt-3 fs-20">
23
+ {products.map((product) => <li>
24
+ <a href={`/${product.slug}`}>{product.sku}</a>
25
+ </li>)}
26
+ </ul>
27
+ </main>
28
+ </Layout>
29
+
30
+ <style>
31
+ :root {
32
+ --astro-gradient: linear-gradient(0deg,#4F39FA, #DA62C4);
33
+ }
34
+
35
+ h1 {
36
+ margin: 2rem 0;
37
+ }
38
+
39
+ main {
40
+ margin: auto;
41
+ padding: 1em;
42
+ max-width: 60ch;
43
+ }
44
+
45
+ .text-gradient {
46
+ font-weight: 900;
47
+ background-image: var(--astro-gradient);
48
+ -webkit-background-clip: text;
49
+ -webkit-text-fill-color: transparent;
50
+ background-size: 100% 200%;
51
+ background-position-y: 100%;
52
+ border-radius: 0.4rem;
53
+ animation: pulse 4s ease-in-out infinite;
54
+ }
55
+
56
+ @keyframes pulse {
57
+ 0%, 100% { background-position-y: 0%; }
58
+ 50% { background-position-y: 80%; }
59
+ }
60
+
61
+ .instructions {
62
+ line-height: 1.6;
63
+ margin: 1rem 0;
64
+ background: #4F39FA;
65
+ padding: 1.0rem;
66
+ border-radius: 0.4rem;
67
+ color: var(--color-bg);
68
+ }
69
+
70
+ .instructions code {
71
+ font-size: 0.875em;
72
+ border: 0.1em solid var(--color-border);
73
+ border-radius: 4px;
74
+ padding: 0.15em 0.25em;
75
+ }
76
+ .link-card-grid {
77
+ display: grid;
78
+ grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr));
79
+ gap: 1rem;
80
+ padding: 0;
81
+ }
82
+ </style>
@@ -0,0 +1,28 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+
4
+ const env: Record<string, any> = (typeof process === 'object' && process?.env) || globalThis;
5
+ const devMode = env.NODE_ENV !== 'production' && env.STOREFRONT_MODE !== 'production';
6
+
7
+ const baseDir = env.STOREFRONT_BASE_DIR || process.cwd();
8
+ const dirContent = path.resolve(baseDir, 'content');
9
+
10
+ const settings: typeof import('../content/settings.json') = JSON.parse(
11
+ fs.readFileSync(path.resolve(dirContent, 'settings.json'), 'utf8'),
12
+ );
13
+ const primaryColor = settings.primary_color || '#20c997';
14
+ const secondaryColor = settings.secondary_color || '#343a40';
15
+ const lang = settings.lang || 'en_us';
16
+ let storeId = env.ECOM_STORE_ID || 1011;
17
+ if (typeof storeId === 'string') {
18
+ storeId = parseInt(storeId, 10);
19
+ }
20
+
21
+ export default {
22
+ devMode,
23
+ settings,
24
+ lang,
25
+ storeId,
26
+ primaryColor,
27
+ secondaryColor,
28
+ };
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "astro/tsconfigs/base"
3
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.0.64",
4
+ "version": "0.0.67",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {