cloudcommerce 0.0.67 → 0.0.68

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 (89) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +1 -1
  3. package/packages/api/lib/api.js +8 -8
  4. package/packages/api/lib/api.js.map +1 -1
  5. package/packages/api/package.json +1 -1
  6. package/packages/api/src/api.ts +8 -8
  7. package/packages/apps/correios/package.json +3 -3
  8. package/packages/apps/custom-shipping/package.json +3 -3
  9. package/packages/apps/discounts/package.json +1 -1
  10. package/packages/apps/tiny-erp/package.json +1 -1
  11. package/packages/cli/config/firebase.json +6 -6
  12. package/packages/cli/package.json +1 -1
  13. package/packages/config/lib/config.js +4 -1
  14. package/packages/config/lib/config.js.map +1 -1
  15. package/packages/config/lib/env.js +4 -1
  16. package/packages/config/lib/env.js.map +1 -1
  17. package/packages/config/package.json +1 -1
  18. package/packages/config/src/config.ts +7 -3
  19. package/packages/config/src/env.ts +4 -1
  20. package/packages/events/package.json +1 -1
  21. package/packages/firebase/package.json +1 -1
  22. package/packages/modules/package.json +1 -1
  23. package/packages/passport/package.json +1 -1
  24. package/packages/ssr/lib/firebase/serve-storefront.js +67 -0
  25. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -0
  26. package/packages/ssr/lib/firebase.js +4 -3
  27. package/packages/ssr/lib/firebase.js.map +1 -1
  28. package/packages/ssr/lib/index.js +3 -0
  29. package/packages/ssr/lib/index.js.map +1 -1
  30. package/packages/ssr/package.json +1 -2
  31. package/packages/ssr/src/firebase/serve-storefront.ts +78 -0
  32. package/packages/ssr/src/firebase.ts +4 -3
  33. package/packages/ssr/src/index.ts +3 -0
  34. package/packages/storefront/dist/client/assets/{_...d4aa8aff.css → 404-_...d4aa8aff.css} +0 -0
  35. package/packages/storefront/dist/client/assets/404-index.d9230d24.css +1 -0
  36. package/packages/storefront/dist/client/assets/{_...0b5ebd52.css → 404.530428e5.css} +1 -1
  37. package/packages/storefront/dist/client/assets/_...fae19676.css +1 -0
  38. package/packages/storefront/dist/client/assets/index.53a3a3e0.css +1 -0
  39. package/packages/storefront/dist/server/entry.mjs +271 -134
  40. package/packages/storefront/example.env +2 -0
  41. package/packages/storefront/package.json +4 -1
  42. package/packages/storefront/src/pages/404.astro +74 -0
  43. package/packages/storefront/src/pages/[...slug].astro +11 -5
  44. package/packages/{ssr/src/firebase/.gitkeep → storefront/src/pages/app/index.astro} +0 -0
  45. package/packages/storefront/src/pages/index.astro +2 -2
  46. package/packages/storefront/src/storefront-config.ts +31 -20
  47. package/packages/types/package.json +1 -1
  48. package/packages/storefront/content/blog.json +0 -18
  49. package/packages/storefront/content/brands.json +0 -24
  50. package/packages/storefront/content/categories.json +0 -24
  51. package/packages/storefront/content/code.json +0 -5
  52. package/packages/storefront/content/collections.json +0 -24
  53. package/packages/storefront/content/contacts.json +0 -13
  54. package/packages/storefront/content/footer.json +0 -46
  55. package/packages/storefront/content/header.json +0 -27
  56. package/packages/storefront/content/home.json +0 -45
  57. package/packages/storefront/content/info.json +0 -18
  58. package/packages/storefront/content/maintenance.json +0 -6
  59. package/packages/storefront/content/menu.json +0 -6
  60. package/packages/storefront/content/pages/contato.json +0 -6
  61. package/packages/storefront/content/pages/entrega.json +0 -6
  62. package/packages/storefront/content/pages/faq.json +0 -6
  63. package/packages/storefront/content/pages/pagamentos.json +0 -6
  64. package/packages/storefront/content/pages/privacidade.json +0 -6
  65. package/packages/storefront/content/pages/sobre-nos.json +0 -6
  66. package/packages/storefront/content/pages/termos.json +0 -6
  67. package/packages/storefront/content/pages/trocas.json +0 -6
  68. package/packages/storefront/content/posts/esta-loja-e-um-pwa.json +0 -9
  69. package/packages/storefront/content/products.json +0 -32
  70. package/packages/storefront/content/search.json +0 -8
  71. package/packages/storefront/content/settings.json +0 -25
  72. package/packages/storefront/content/social.json +0 -5
  73. package/packages/storefront/content/widgets/analytics.json +0 -11
  74. package/packages/storefront/content/widgets/compre-confie.json +0 -11
  75. package/packages/storefront/content/widgets/ebit.json +0 -11
  76. package/packages/storefront/content/widgets/fb-pixel.json +0 -12
  77. package/packages/storefront/content/widgets/gmc-ratings.json +0 -12
  78. package/packages/storefront/content/widgets/minicart.json +0 -6
  79. package/packages/storefront/content/widgets/offers-notification.json +0 -11
  80. package/packages/storefront/content/widgets/opinioes-verificadas.json +0 -18
  81. package/packages/storefront/content/widgets/product-card.json +0 -10
  82. package/packages/storefront/content/widgets/product.json +0 -13
  83. package/packages/storefront/content/widgets/search-engine.json +0 -8
  84. package/packages/storefront/content/widgets/search.json +0 -6
  85. package/packages/storefront/content/widgets/tag-manager.json +0 -12
  86. package/packages/storefront/content/widgets/tawkto.json +0 -12
  87. package/packages/storefront/content/widgets/trustvox.json +0 -15
  88. package/packages/storefront/content/widgets/user.json +0 -5
  89. package/packages/storefront/dist/client/assets/index.5608ba47.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.0.68](https://github.com/ecomplus/cloud-commerce/compare/v0.0.67...v0.0.68) (2022-09-07)
6
+
7
+
8
+ ### Features
9
+
10
+ * **ssr:** Setup SSR handler from `@ecomplus/storefron-renderer` ([0370347](https://github.com/ecomplus/cloud-commerce/commit/0370347fad1e03e0f5cb2bf9067dd8f438d8dd45))
11
+ * **storefront:** Load CMS content from Store dir ([1ad443c](https://github.com/ecomplus/cloud-commerce/commit/1ad443cbbf03bc3da7cee27ae085c751239eda12))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **cli:** Update Hosting public dir to Astro build default client output ([900de0d](https://github.com/ecomplus/cloud-commerce/commit/900de0d95517ac06ee101812d1b5330bca534ae8))
17
+ * **cli:** Update SSR function predeploy to also run `astro build` ([547e698](https://github.com/ecomplus/cloud-commerce/commit/547e698af86f69099d5f5bf37d52af394cc80838))
18
+ * **env:** Test `import.meta.env` to support Astro/Vite env variables ([bbfef3d](https://github.com/ecomplus/cloud-commerce/commit/bbfef3d92ed2bf8073279461613270709b3e76f5))
19
+
5
20
  ### [0.0.67](https://github.com/ecomplus/cloud-commerce/compare/v0.0.66...v0.0.67) (2022-09-05)
6
21
 
7
22
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -1,7 +1,7 @@
1
1
  // @ts-ignore
2
- const env = (typeof window === 'object' && window)
3
- || (typeof process === 'object' && process && process.env)
4
- || {};
2
+ const _env = import.meta.env
3
+ || (typeof process === 'object' && process?.env)
4
+ || globalThis;
5
5
  class ApiError extends Error {
6
6
  constructor(config, response, msg, isTimeout = false) {
7
7
  if (response) {
@@ -24,8 +24,8 @@ const def = {
24
24
  // eslint-disable-next-line dot-notation
25
25
  headers['Authorization'] = `Bearer ${config.accessToken}`;
26
26
  } else {
27
- const authenticationId = config.authenticationId || env.ECOM_AUTHENTICATION_ID;
28
- const apiKey = config.apiKey || env.ECOM_API_KEY;
27
+ const authenticationId = config.authenticationId || _env.ECOM_AUTHENTICATION_ID;
28
+ const apiKey = config.apiKey || _env.ECOM_API_KEY;
29
29
  if (authenticationId && apiKey) {
30
30
  const rawAuth = `${authenticationId}:${apiKey}`;
31
31
  const base64Auth = typeof Buffer === 'function'
@@ -35,18 +35,18 @@ const def = {
35
35
  }
36
36
  }
37
37
  }
38
- let url = config.baseUrl || env.API_BASE_URL || 'https://ecomplus.io/v2';
38
+ let url = config.baseUrl || _env.API_BASE_URL || 'https://ecomplus.io/v2';
39
39
  const { endpoint, params } = config;
40
40
  if (endpoint !== 'login'
41
41
  && endpoint !== 'authenticate'
42
42
  && endpoint !== 'ask-auth-callback'
43
43
  && endpoint !== 'check-username') {
44
- const storeId = config.storeId || env.ECOM_STORE_ID;
44
+ const storeId = config.storeId || _env.ECOM_STORE_ID;
45
45
  if (!storeId) {
46
46
  throw new Error('`storeId` must be set in config or `ECOM_STORE_ID` env var');
47
47
  }
48
48
  url += `/:${storeId}`;
49
- const lang = config.lang || env.ECOM_LANG;
49
+ const lang = config.lang || _env.ECOM_LANG;
50
50
  if (lang) {
51
51
  url += `,lang:${lang}`;
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -8,9 +8,9 @@ import type {
8
8
  } from './types';
9
9
 
10
10
  // @ts-ignore
11
- const env: { [key: string]: string } = (typeof window === 'object' && window)
12
- || (typeof process === 'object' && process && process.env)
13
- || {};
11
+ const _env: Record<string, string> = import.meta.env
12
+ || (typeof process === 'object' && process?.env)
13
+ || globalThis;
14
14
 
15
15
  class ApiError extends Error {
16
16
  config: Config;
@@ -45,8 +45,8 @@ const def = {
45
45
  // eslint-disable-next-line dot-notation
46
46
  headers['Authorization'] = `Bearer ${config.accessToken}`;
47
47
  } else {
48
- const authenticationId = config.authenticationId || env.ECOM_AUTHENTICATION_ID;
49
- const apiKey = config.apiKey || env.ECOM_API_KEY;
48
+ const authenticationId = config.authenticationId || _env.ECOM_AUTHENTICATION_ID;
49
+ const apiKey = config.apiKey || _env.ECOM_API_KEY;
50
50
  if (authenticationId && apiKey) {
51
51
  const rawAuth = `${authenticationId}:${apiKey}`;
52
52
  const base64Auth = typeof Buffer === 'function'
@@ -56,7 +56,7 @@ const def = {
56
56
  }
57
57
  }
58
58
  }
59
- let url = config.baseUrl || env.API_BASE_URL || 'https://ecomplus.io/v2';
59
+ let url = config.baseUrl || _env.API_BASE_URL || 'https://ecomplus.io/v2';
60
60
  const { endpoint, params } = config;
61
61
  if (
62
62
  endpoint !== 'login'
@@ -64,12 +64,12 @@ const def = {
64
64
  && endpoint !== 'ask-auth-callback'
65
65
  && endpoint !== 'check-username'
66
66
  ) {
67
- const storeId = config.storeId || env.ECOM_STORE_ID;
67
+ const storeId = config.storeId || _env.ECOM_STORE_ID;
68
68
  if (!storeId) {
69
69
  throw new Error('`storeId` must be set in config or `ECOM_STORE_ID` env var');
70
70
  }
71
71
  url += `/:${storeId}`;
72
- const lang = config.lang || env.ECOM_LANG;
72
+ const lang = config.lang || _env.ECOM_LANG;
73
73
  if (lang) {
74
74
  url += `,lang:${lang}`;
75
75
  }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/correios.js",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/ecomplus/cloud-commerce.git",
10
- "directory": "packages/correios"
10
+ "directory": "packages/apps/correios"
11
11
  },
12
12
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
13
13
  "license": "Apache 2.0 with Commons Clause",
14
14
  "bugs": {
15
15
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
16
16
  },
17
- "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/correios#readme",
17
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/correios#readme",
18
18
  "scripts": {
19
19
  "build": "sh ../../../scripts/build-lib.sh"
20
20
  },
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/ecomplus/cloud-commerce.git",
10
- "directory": "packages/custom-shipping"
10
+ "directory": "packages/apps/custom-shipping"
11
11
  },
12
12
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
13
13
  "license": "Apache 2.0 with Commons Clause",
14
14
  "bugs": {
15
15
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
16
16
  },
17
- "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/custom-shipping#readme",
17
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/custom-shipping#readme",
18
18
  "scripts": {
19
19
  "build": "sh ../../../scripts/build-lib.sh"
20
20
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {
@@ -5,33 +5,33 @@
5
5
  },
6
6
  "functions": [
7
7
  {
8
- "predeploy": "npm run build -- --codebase core --dir \"$RESOURCE_DIR\"",
8
+ "predeploy": "npm run build -- --codebase core",
9
9
  "source": "functions/core",
10
10
  "codebase": "core"
11
11
  },
12
12
  {
13
- "predeploy": "npm run build -- --codebase events --dir \"$RESOURCE_DIR\"",
13
+ "predeploy": "npm run build -- --codebase events",
14
14
  "source": "functions/events",
15
15
  "codebase": "events"
16
16
  },
17
17
  {
18
- "predeploy": "npm run build -- --codebase modules --dir \"$RESOURCE_DIR\"",
18
+ "predeploy": "npm run build -- --codebase modules",
19
19
  "source": "functions/modules",
20
20
  "codebase": "modules"
21
21
  },
22
22
  {
23
- "predeploy": "npm run build -- --codebase passport --dir \"$RESOURCE_DIR\"",
23
+ "predeploy": "npm run build -- --codebase passport",
24
24
  "source": "functions/passport",
25
25
  "codebase": "passport"
26
26
  },
27
27
  {
28
- "predeploy": "npm run build -- --codebase ssr --dir \"$RESOURCE_DIR\"",
28
+ "predeploy": "npm --prefix \"$RESOURCE_DIR\" run build && npm run build -- --codebase ssr",
29
29
  "source": "functions/ssr",
30
30
  "codebase": "ssr"
31
31
  }
32
32
  ],
33
33
  "hosting": {
34
- "public": "public",
34
+ "public": "functions/ssr/dist/client",
35
35
  "ignore": [
36
36
  "firebase.json",
37
37
  "**/.*",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -3,7 +3,10 @@ import {
3
3
  DEFAULT_LANG, DEFAULT_CURRENCY, DEFAULT_CURRENCY_SYMBOL, DEFAULT_COUNTRY_CODE,
4
4
  } from './defaults.js';
5
5
 
6
- const _env = (typeof process === 'object' && process?.env) || globalThis;
6
+ // @ts-ignore
7
+ const _env = import.meta.env
8
+ || (typeof process === 'object' && process?.env)
9
+ || globalThis;
7
10
  const deepmerge = Deepmerge();
8
11
  const self = globalThis.__cloudCommerce || {
9
12
  config: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,IAAI,GAAwB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC;AAC9F,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAU9B,MAAM,IAAI,GAA2B,UAAU,CAAC,eAAe,IAAI;IACjE,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,YAAY;QACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,gBAAgB;QAChD,cAAc,EAAE,IAAI,CAAC,oBAAoB,IAAI,uBAAuB;QACpE,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,oBAAoB;QAC3D,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;KACpC;CACF,CAAC;AACF,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;AAElC,eAAe;IACb,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,MAAM;QACR,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;SACrC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAUpB,aAAa;AACb,MAAM,IAAI,GAAwB,MAAM,CAAC,IAAI,CAAC,GAAG;OAC5C,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC;OAC7C,UAAU,CAAC;AAEhB,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAE9B,MAAM,IAAI,GAA2B,UAAU,CAAC,eAAe,IAAI;IACjE,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,YAAY;QACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,gBAAgB;QAChD,cAAc,EAAE,IAAI,CAAC,oBAAoB,IAAI,uBAAuB;QACpE,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,oBAAoB;QAC3D,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;KACpC;CACF,CAAC;AACF,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;AAElC,eAAe;IACb,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,MAAM;QACR,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;SACrC;IACH,CAAC;CACF,CAAC"}
@@ -1,4 +1,7 @@
1
- const _env = (typeof process === 'object' && process?.env) || globalThis;
1
+ // @ts-ignore
2
+ const _env = import.meta.env
3
+ || (typeof process === 'object' && process?.env)
4
+ || globalThis;
2
5
 
3
6
  export default () => {
4
7
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AASA,MAAM,IAAI,GAAwB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC;AAE9F,eAAe,GAAG,EAAE;IAClB,MAAM,EACJ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,GAAG,GAAQ;QACf,OAAO;QACP,OAAO,EAAE;YACP,gBAAgB;YAChB,MAAM;SACP;QACD,WAAW;KACZ,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AASA,aAAa;AACb,MAAM,IAAI,GAAwB,MAAM,CAAC,IAAI,CAAC,GAAG;OAC5C,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,GAAG,CAAC;OAC7C,UAAU,CAAC;AAEhB,eAAe,GAAG,EAAE;IAClB,MAAM,EACJ,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,GAAG,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,GAAG,GAAQ;QACf,OAAO;QACP,OAAO,EAAE;YACP,gBAAgB;YAChB,MAAM;SACP;QACD,WAAW;KACZ,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/config",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce base config",
6
6
  "main": "lib/config.js",
7
7
  "exports": {
@@ -6,9 +6,6 @@ import {
6
6
  DEFAULT_COUNTRY_CODE,
7
7
  } from './defaults';
8
8
 
9
- const _env: Record<string, any> = (typeof process === 'object' && process?.env) || globalThis;
10
- const deepmerge = Deepmerge();
11
-
12
9
  type BaseConfig = {
13
10
  lang: string,
14
11
  currency: string,
@@ -17,6 +14,13 @@ type BaseConfig = {
17
14
  storeId: number,
18
15
  };
19
16
 
17
+ // @ts-ignore
18
+ const _env: Record<string, any> = import.meta.env
19
+ || (typeof process === 'object' && process?.env)
20
+ || globalThis;
21
+
22
+ const deepmerge = Deepmerge();
23
+
20
24
  const self: { config: BaseConfig } = globalThis.__cloudCommerce || {
21
25
  config: {
22
26
  lang: _env.ECOM_LANG || DEFAULT_LANG,
@@ -7,7 +7,10 @@ type Env = {
7
7
  githubToken?: string;
8
8
  };
9
9
 
10
- const _env: Record<string, any> = (typeof process === 'object' && process?.env) || globalThis;
10
+ // @ts-ignore
11
+ const _env: Record<string, any> = import.meta.env
12
+ || (typeof process === 'object' && process?.env)
13
+ || globalThis;
11
14
 
12
15
  export default () => {
13
16
  const {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/events",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce app events",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/modules",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce modules API",
6
6
  "main": "lib/index.cjs",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/passport",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -0,0 +1,67 @@
1
+ import { join as joinPath } from 'path';
2
+ import { readFile } from 'fs/promises';
3
+
4
+ const { STOREFRONT_BASE_DIR, STOREFRONT_LONG_CACHE } = process.env;
5
+ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
6
+ const clientRoot = new URL(joinPath(baseDir, 'dist/client/'), import.meta.url);
7
+ const isLongCache = String(STOREFRONT_LONG_CACHE).toLowerCase() === 'true';
8
+
9
+ export default (req, res) => {
10
+ const url = req.url.replace(/\?.*$/, '').replace(/\.html$/, '');
11
+ const setStatusAndCache = (status, defaultCache) => {
12
+ return res.status(status)
13
+ .set('X-SSR-ID', `v1/${Math.random()}`)
14
+ .set('Cache-Control', (typeof global.cache_control === 'function' && global.cache_control(status))
15
+ || defaultCache);
16
+ };
17
+ const redirect = (toUrl, status = 302) => {
18
+ let sMaxAge = status === 301 ? 360 : 12;
19
+ if (isLongCache) {
20
+ sMaxAge *= 10;
21
+ }
22
+ let cacheControl = `public, max-age=30, s-maxage=${sMaxAge}`;
23
+ if (status === 302) {
24
+ cacheControl += ', proxy-revalidate';
25
+ }
26
+ setStatusAndCache(status, cacheControl)
27
+ .set('Location', toUrl).end();
28
+ };
29
+ const fallback = (status = 404) => {
30
+ if (url.slice(-1) === '/') {
31
+ redirect(url.slice(0, -1));
32
+ } else if (url !== '/404' && (/\/[^/.]+$/.test(url) || /\.x?html$/.test(url))) {
33
+ setStatusAndCache(status, `public, max-age=${(isLongCache ? 120 : 30)}`)
34
+ .send('<html><head>'
35
+ + `<meta http-equiv="refresh" content="0; url=/404?url=${encodeURIComponent(url)}"/>`
36
+ + '</head><body></body></html>');
37
+ } else {
38
+ setStatusAndCache(status, isLongCache
39
+ ? 'public, max-age=60, s-maxage=86400'
40
+ : 'public, max-age=60, s-maxage=300')
41
+ .end();
42
+ }
43
+ };
44
+ /*
45
+ https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
46
+ import { handler as ssrHandler } from '../dist/server/entry.mjs';
47
+ global.ssr_handler = ssrHandler;
48
+ */
49
+ global.ssr_handler(req, res, async (err) => {
50
+ if (err) {
51
+ res.set('X-SSR-ERROR', err.stack);
52
+ fallback(500);
53
+ return;
54
+ }
55
+ const local = new URL(`.${url}`, clientRoot);
56
+ try {
57
+ const data = await readFile(local);
58
+ setStatusAndCache(200, isLongCache
59
+ ? 'public, max-age=60, s-maxage=604800'
60
+ : 'public, max-age=60, s-maxage=600, stale-while-revalidate=2592000')
61
+ .send(data);
62
+ } catch {
63
+ fallback();
64
+ }
65
+ });
66
+ };
67
+ // # sourceMappingURL=serve-storefront.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import '@cloudcommerce/firebase/lib/init';
3
3
  // eslint-disable-next-line import/no-unresolved
4
4
  import { onRequest } from 'firebase-functions/v2/https';
5
5
  import config from '@cloudcommerce/firebase/lib/config';
6
+ import serveStorefront from './firebase/serve-storefront.js';
6
7
 
7
- const options = config.get().httpsFunctionOptions;
8
+ const { httpsFunctionOptions } = config.get();
8
9
 
9
- export const ssr = onRequest(options, (request, response) => {
10
- response.send('<h1>Hello SSR!</h1>');
10
+ export const ssr = onRequest(httpsFunctionOptions, (req, res) => {
11
+ serveStorefront(req, res);
11
12
  });
12
13
  // # sourceMappingURL=firebase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,kCAAkC,CAAC;AAC1C,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AAExD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,kCAAkC,CAAC;AAC1C,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;AAE9C,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9D,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
@@ -1 +1,4 @@
1
+ import serveStorefront from './firebase/serve-storefront.js';
2
+
3
+ export default serveStorefront;
1
4
  // # sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,eAAe,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/ssr",
3
3
  "type": "module",
4
- "version": "0.0.67",
4
+ "version": "0.0.68",
5
5
  "description": "E-Com Plus Cloud Commerce storefront SSR",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -25,7 +25,6 @@
25
25
  "dependencies": {
26
26
  "@cloudcommerce/api": "workspace:*",
27
27
  "@cloudcommerce/firebase": "workspace:*",
28
- "@cloudcommerce/storefront": "workspace:*",
29
28
  "firebase-admin": "^11.0.1",
30
29
  "firebase-functions": "^3.23.0",
31
30
  "source-map-support": "^0.5.21"
@@ -0,0 +1,78 @@
1
+ import type { Request, Response } from 'firebase-functions';
2
+ import { join as joinPath } from 'path';
3
+ import { readFile } from 'fs/promises';
4
+
5
+ const {
6
+ STOREFRONT_BASE_DIR,
7
+ STOREFRONT_LONG_CACHE,
8
+ } = process.env;
9
+
10
+ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
11
+ const clientRoot = new URL(joinPath(baseDir, 'dist/client/'), import.meta.url);
12
+ const isLongCache = String(STOREFRONT_LONG_CACHE).toLowerCase() === 'true';
13
+
14
+ export default (req: Request, res: Response) => {
15
+ const url = req.url.replace(/\?.*$/, '').replace(/\.html$/, '');
16
+
17
+ const setStatusAndCache = (status: number, defaultCache: string) => {
18
+ return res.status(status)
19
+ .set('X-SSR-ID', `v1/${Math.random()}`)
20
+ .set(
21
+ 'Cache-Control',
22
+ (typeof global.cache_control === 'function' && global.cache_control(status))
23
+ || defaultCache,
24
+ );
25
+ };
26
+
27
+ const redirect = (toUrl: string, status = 302) => {
28
+ let sMaxAge = status === 301 ? 360 : 12;
29
+ if (isLongCache) {
30
+ sMaxAge *= 10;
31
+ }
32
+ let cacheControl = `public, max-age=30, s-maxage=${sMaxAge}`;
33
+ if (status === 302) {
34
+ cacheControl += ', proxy-revalidate';
35
+ }
36
+ setStatusAndCache(status, cacheControl)
37
+ .set('Location', toUrl).end();
38
+ };
39
+
40
+ const fallback = (status = 404) => {
41
+ if (url.slice(-1) === '/') {
42
+ redirect(url.slice(0, -1));
43
+ } else if (url !== '/404' && (/\/[^/.]+$/.test(url) || /\.x?html$/.test(url))) {
44
+ setStatusAndCache(status, `public, max-age=${(isLongCache ? 120 : 30)}`)
45
+ .send('<html><head>'
46
+ + `<meta http-equiv="refresh" content="0; url=/404?url=${encodeURIComponent(url)}"/>`
47
+ + '</head><body></body></html>');
48
+ } else {
49
+ setStatusAndCache(status, isLongCache
50
+ ? 'public, max-age=60, s-maxage=86400'
51
+ : 'public, max-age=60, s-maxage=300')
52
+ .end();
53
+ }
54
+ };
55
+
56
+ /*
57
+ https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
58
+ import { handler as ssrHandler } from '../dist/server/entry.mjs';
59
+ global.ssr_handler = ssrHandler;
60
+ */
61
+ global.ssr_handler(req, res, async (err: any) => {
62
+ if (err) {
63
+ res.set('X-SSR-ERROR', err.stack);
64
+ fallback(500);
65
+ return;
66
+ }
67
+ const local = new URL(`.${url}`, clientRoot);
68
+ try {
69
+ const data = await readFile(local);
70
+ setStatusAndCache(200, isLongCache
71
+ ? 'public, max-age=60, s-maxage=604800'
72
+ : 'public, max-age=60, s-maxage=600, stale-while-revalidate=2592000')
73
+ .send(data);
74
+ } catch {
75
+ fallback();
76
+ }
77
+ });
78
+ };
@@ -3,9 +3,10 @@ import '@cloudcommerce/firebase/lib/init';
3
3
  // eslint-disable-next-line import/no-unresolved
4
4
  import { onRequest } from 'firebase-functions/v2/https';
5
5
  import config from '@cloudcommerce/firebase/lib/config';
6
+ import serveStorefront from './firebase/serve-storefront';
6
7
 
7
- const options = config.get().httpsFunctionOptions;
8
+ const { httpsFunctionOptions } = config.get();
8
9
 
9
- export const ssr = onRequest(options, (request, response) => {
10
- response.send('<h1>Hello SSR!</h1>');
10
+ export const ssr = onRequest(httpsFunctionOptions, (req, res) => {
11
+ serveStorefront(req, res);
11
12
  });
@@ -0,0 +1,3 @@
1
+ import serveStorefront from './firebase/serve-storefront';
2
+
3
+ export default serveStorefront;