cloudcommerce 0.20.1 → 0.21.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 +30 -0
- package/package.json +4 -4
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +1 -1
- package/packages/apps/flash-courier/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/config/firebase.json +10 -0
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- package/packages/events/package.json +1 -1
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +26 -16
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +2 -2
- package/packages/ssr/src/firebase/serve-storefront.ts +27 -16
- package/packages/storefront/client.d.ts +1 -19
- package/packages/storefront/dist/client/_astro/{ShopHeader.0c884bbe.js → ShopHeader.82ae97a5.js} +1 -1
- package/packages/storefront/dist/client/_astro/_...slug_.c85b8978.css +1 -0
- package/packages/storefront/dist/client/_astro/{client.8035a95a.js → client.0fb6b44e.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.9d9d7ac4.js → hoisted.572313d6.js} +1 -1
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/_...49a92e87.mjs +34 -0
- package/packages/storefront/dist/server/chunks/{account@_@astro.89e4cf60.mjs → account@_@astro.5388531b.mjs} +6 -7
- package/packages/storefront/dist/server/chunks/{astro.45d3047f.mjs → astro.161c5a41.mjs} +72 -54
- package/packages/storefront/dist/server/chunks/{endpoint@_@js.f880a152.mjs → endpoint@_@js.fe113d0d.mjs} +6 -7
- package/packages/storefront/dist/server/chunks/{fallback@_@astro.89538855.mjs → fallback@_@astro.23b17e3d.mjs} +6 -7
- package/packages/storefront/dist/server/chunks/{index@_@astro.56fdd6da.mjs → index@_@astro.2527898d.mjs} +6 -7
- package/packages/storefront/dist/server/chunks/{index@_@astro.548cf7ad.mjs → index@_@astro.433809ce.mjs} +6 -7
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.bde9380b.mjs → _...slug_.astro.1d0e7f10.mjs} +83 -95
- package/packages/storefront/dist/server/chunks/pages/{account.astro.f07cf19e.mjs → account.astro.7539e037.mjs} +4 -4
- package/packages/storefront/dist/server/chunks/pages/{endpoint.js.d4e37801.mjs → endpoint.js.b71736ca.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{fallback.astro.e2e8a0e4.mjs → fallback.astro.15292657.mjs} +7 -7
- package/packages/storefront/dist/server/chunks/pages/{index.astro.3760ebe3.mjs → index.astro.9592fbd6.mjs} +4 -3
- package/packages/storefront/dist/server/entry.mjs +12 -11
- package/packages/storefront/dist/server/renderers.mjs +6 -7
- package/packages/storefront/package.json +2 -2
- package/packages/storefront/scripts/build-prod.sh +4 -0
- package/packages/storefront/server.d.ts +3 -27
- package/packages/storefront/src/lib/$storefront.d.ts +28 -0
- package/packages/storefront/src/lib/assets/base.css +2 -0
- package/packages/storefront/src/lib/layouts/Base.astro +1 -9
- package/packages/storefront/src/lib/layouts/BaseHead.astro +73 -2
- package/packages/storefront/src/lib/pages/_vue.ts +1 -1
- package/packages/storefront/src/lib/server-data.ts +1 -1
- package/packages/storefront/src/lib/ssr-context.ts +46 -36
- package/packages/storefront/src/vue-globals.d.ts +3 -3
- package/packages/types/package.json +1 -1
- package/packages/storefront/dist/client/_astro/_...slug_.c2da43fb.css +0 -1
- package/packages/storefront/dist/server/chunks/_...9e22b578.mjs +0 -35
- package/packages/storefront/src/lib/layouts/BaseStateJson.astro +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,36 @@
|
|
|
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.21.0](https://github.com/ecomplus/cloud-commerce/compare/v0.20.2...v0.21.0) (2023-07-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* **storefront:** SSR route context `apiDoc` and `apiResource` replaced by `fetchingApiContext` promise and `apiContext` object
|
|
11
|
+
* **storefront:** Base.astro is no more rendering <BaseHead> because it should be rendered async with page body (sections)
|
|
12
|
+
* **storefront:** BaseStateJson.astro removed in favor of unique BaseHead.astro
|
|
13
|
+
|
|
14
|
+
[skip ci]
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **cli:** Update Firebase Hosting config with new rewrites for git-based CMS API middlewares ([ee178f6](https://github.com/ecomplus/cloud-commerce/commit/ee178f6c96d55029d4c6df5c2218d99e40a896d5))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* **ssr:** Async handle styles manifest read to set early hints ([7a79204](https://github.com/ecomplus/cloud-commerce/commit/7a79204f54b946bc57d59134aed039c4f753ddab))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
* **storefront:** Fetch API context doc async by default on route load ([7ac707a](https://github.com/ecomplus/cloud-commerce/commit/7ac707aa671e7f6ac8bbfe54a2b4708a01f3b756))
|
|
27
|
+
|
|
28
|
+
### [0.20.2](https://github.com/ecomplus/cloud-commerce/compare/v0.20.1...v0.20.2) (2023-07-19)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **ssr:** Properly read CSS files from new `stylesheets.csv` manifest for early hints ([04a38c4](https://github.com/ecomplus/cloud-commerce/commit/04a38c4f1db3b529b8ff5f16b8dc027f13f05e47))
|
|
34
|
+
|
|
5
35
|
### [0.20.1](https://github.com/ecomplus/cloud-commerce/compare/v0.20.0...v0.20.1) (2023-07-19)
|
|
6
36
|
|
|
7
37
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudcommerce",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.21.0",
|
|
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>",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@commitlint/cli": "^17.6.
|
|
20
|
-
"@commitlint/config-conventional": "^17.6.
|
|
21
|
-
"@commitlint/rules": "^17.6.
|
|
19
|
+
"@commitlint/cli": "^17.6.7",
|
|
20
|
+
"@commitlint/config-conventional": "^17.6.7",
|
|
21
|
+
"@commitlint/rules": "^17.6.7",
|
|
22
22
|
"@types/node": "^18.16.19",
|
|
23
23
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
24
24
|
"@typescript-eslint/parser": "^5.62.0",
|
|
@@ -66,6 +66,16 @@
|
|
|
66
66
|
"function": "feeds",
|
|
67
67
|
"region": "us-east4"
|
|
68
68
|
},
|
|
69
|
+
{
|
|
70
|
+
"source": "/repos/**/{git,contents,issues,branches,pulls,commits}/**",
|
|
71
|
+
"function": "feeds",
|
|
72
|
+
"region": "us-east4"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"source": "/.*/git/**",
|
|
76
|
+
"function": "feeds",
|
|
77
|
+
"region": "us-east4"
|
|
78
|
+
},
|
|
69
79
|
{
|
|
70
80
|
"source": "**/!(*(*.)ico|*(*.)png|*(*.)map)",
|
|
71
81
|
"function": "ssr",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/emails",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.21.0",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce email sender",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@cloudcommerce/firebase": "workspace:*",
|
|
26
26
|
"axios": "^1.4.0",
|
|
27
27
|
"ejs": "^3.1.9",
|
|
28
|
-
"nodemailer": "^6.9.
|
|
28
|
+
"nodemailer": "^6.9.4"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@cloudcommerce/types": "workspace:*",
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { join as joinPath } from 'node:path';
|
|
2
|
-
import { readFile
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import logger from 'firebase-functions/logger';
|
|
4
4
|
|
|
5
5
|
const { STOREFRONT_BASE_DIR, SSR_PROXY_DEBUG, SSR_PROXY_TIMEOUT } = process.env;
|
|
6
6
|
const baseDir = STOREFRONT_BASE_DIR || process.cwd();
|
|
7
7
|
let imagesManifest;
|
|
8
8
|
const builtImages = [];
|
|
9
|
-
let
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
let cssFilename;
|
|
10
|
+
const readinsStylesManifest = new Promise((resolve) => {
|
|
11
|
+
readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
|
|
12
|
+
.then((stylesManifest) => {
|
|
13
|
+
const cssFiles = [];
|
|
14
|
+
stylesManifest.split(/\n/).forEach((line) => {
|
|
15
|
+
const [filename] = line.split(',');
|
|
16
|
+
if (filename) cssFiles.push(filename);
|
|
17
|
+
});
|
|
18
|
+
if (cssFiles.length === 1) {
|
|
19
|
+
[cssFilename] = cssFiles;
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
.catch(logger.warn)
|
|
23
|
+
.finally(() => resolve(null));
|
|
24
|
+
});
|
|
18
25
|
const isProxyDebug = SSR_PROXY_DEBUG ? String(SSR_PROXY_DEBUG).toLowerCase() === 'true' : false;
|
|
19
26
|
const proxyTimeout = SSR_PROXY_TIMEOUT ? Number(SSR_PROXY_TIMEOUT) : 3000;
|
|
20
27
|
const proxy = async (req, res) => {
|
|
@@ -160,12 +167,15 @@ export default async (req, res) => {
|
|
|
160
167
|
res.sendStatus(400);
|
|
161
168
|
return;
|
|
162
169
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
res.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
170
|
+
(async () => {
|
|
171
|
+
await readinsStylesManifest;
|
|
172
|
+
if (cssFilename && !res.headersSent) {
|
|
173
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
|
|
174
|
+
res.writeEarlyHints({
|
|
175
|
+
link: `</${cssFilename}>; rel=preload; as=style`,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
169
179
|
/*
|
|
170
180
|
https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
|
|
171
181
|
import { handler as renderStorefront } from '../dist/server/entry.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/ssr",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.21.0",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce storefront SSR",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@ecomplus/utils": "1.5.0-rc.5",
|
|
31
31
|
"@headlessui/vue": "^1.7.14",
|
|
32
32
|
"@vueuse/core": "10.2.1",
|
|
33
|
-
"astro": "2.8.
|
|
33
|
+
"astro": "2.8.5",
|
|
34
34
|
"firebase-admin": "^11.10.1",
|
|
35
35
|
"firebase-functions": "^4.4.1",
|
|
36
36
|
"semver": "^7.5.4",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Request, Response } from 'firebase-functions';
|
|
2
2
|
import { join as joinPath } from 'node:path';
|
|
3
|
-
import { readFile
|
|
3
|
+
import { readFile } from 'node:fs/promises';
|
|
4
4
|
import logger from 'firebase-functions/logger';
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
@@ -22,15 +22,23 @@ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
|
|
|
22
22
|
let imagesManifest: string;
|
|
23
23
|
type BuiltImage = { filename: string, width: number, height: number };
|
|
24
24
|
const builtImages: BuiltImage[] = [];
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
[
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
|
|
26
|
+
let cssFilename: string | undefined;
|
|
27
|
+
const readinsStylesManifest = new Promise((resolve) => {
|
|
28
|
+
readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
|
|
29
|
+
.then((stylesManifest) => {
|
|
30
|
+
const cssFiles: string[] = [];
|
|
31
|
+
stylesManifest.split(/\n/).forEach((line) => {
|
|
32
|
+
const [filename] = line.split(',');
|
|
33
|
+
if (filename) cssFiles.push(filename);
|
|
34
|
+
});
|
|
35
|
+
if (cssFiles.length === 1) {
|
|
36
|
+
[cssFilename] = cssFiles;
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
.catch(logger.warn)
|
|
40
|
+
.finally(() => resolve(null));
|
|
41
|
+
});
|
|
34
42
|
|
|
35
43
|
const isProxyDebug = SSR_PROXY_DEBUG ? String(SSR_PROXY_DEBUG).toLowerCase() === 'true' : false;
|
|
36
44
|
const proxyTimeout = SSR_PROXY_TIMEOUT ? Number(SSR_PROXY_TIMEOUT) : 3000;
|
|
@@ -183,12 +191,15 @@ export default async (req: Request, res: Response) => {
|
|
|
183
191
|
return;
|
|
184
192
|
}
|
|
185
193
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
res.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
194
|
+
(async () => {
|
|
195
|
+
await readinsStylesManifest;
|
|
196
|
+
if (cssFilename && !res.headersSent) {
|
|
197
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
|
|
198
|
+
res.writeEarlyHints({
|
|
199
|
+
link: `</${cssFilename}>; rel=preload; as=style`,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
})();
|
|
192
203
|
|
|
193
204
|
/*
|
|
194
205
|
https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
|
|
@@ -23,25 +23,7 @@ interface Window {
|
|
|
23
23
|
ECOM_CURRENCY: string;
|
|
24
24
|
ECOM_CURRENCY_SYMBOL: string;
|
|
25
25
|
ECOM_COUNTRY_CODE: string;
|
|
26
|
-
$storefront?: {
|
|
27
|
-
settings: import('./src/lib/content').SettingsContent,
|
|
28
|
-
context?: {
|
|
29
|
-
resource: 'products',
|
|
30
|
-
doc: Omit<import('@cloudcommerce/api/types').ProductSet, DocCleanupFields>,
|
|
31
|
-
timestamp: number,
|
|
32
|
-
} | {
|
|
33
|
-
resource: 'categories',
|
|
34
|
-
doc: Omit<import('@cloudcommerce/api/types').CategorySet, DocCleanupFields>,
|
|
35
|
-
timestamp: number,
|
|
36
|
-
} | {
|
|
37
|
-
resource: 'brands',
|
|
38
|
-
doc: Omit<import('@cloudcommerce/api/types').BrandSet, DocCleanupFields>,
|
|
39
|
-
timestamp: number,
|
|
40
|
-
} | {
|
|
41
|
-
resource: 'collections',
|
|
42
|
-
doc: Omit<import('@cloudcommerce/api/types').CollectionSet, DocCleanupFields>,
|
|
43
|
-
timestamp: number,
|
|
44
|
-
},
|
|
26
|
+
$storefront?: import('@@sf/$storefront').$Storefront & {
|
|
45
27
|
modulesInfoPreset?: Partial<typeof import('./src/lib/state/modules-info').default>,
|
|
46
28
|
};
|
|
47
29
|
$isCmsPreview?: boolean;
|