diff --git a/lerna.json b/lerna.json index 324e51090c..0149f68256 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.325.0", + "version": "0.326.3-alpha.4", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/gatsby-plugin-google-tag-manager/package.json b/packages/gatsby-plugin-google-tag-manager/package.json index 319083a5ed..3da060c749 100644 --- a/packages/gatsby-plugin-google-tag-manager/package.json +++ b/packages/gatsby-plugin-google-tag-manager/package.json @@ -1,6 +1,6 @@ { "name": "@vtex/gatsby-plugin-google-tag-manager", - "version": "0.325.0", + "version": "0.326.3-alpha.4", "description": "Gatsby plugin for using Google Tag Manager with SFJ", "main": "index.js", "browser": "src/index.ts", @@ -18,7 +18,7 @@ ], "license": "MIT", "devDependencies": { - "@vtex/gatsby-theme-store": "^0.325.0", + "@vtex/gatsby-theme-store": "^0.326.3-alpha.4", "cross-env": "^7.0.2", "gatsby": "^3.1.1", "typescript": "^4.1.2" diff --git a/packages/gatsby-plugin-pixel-facebook/package.json b/packages/gatsby-plugin-pixel-facebook/package.json index 030b514d24..6b36ef87be 100644 --- a/packages/gatsby-plugin-pixel-facebook/package.json +++ b/packages/gatsby-plugin-pixel-facebook/package.json @@ -1,6 +1,6 @@ { "name": "@vtex/gatsby-plugin-pixel-facebook", - "version": "0.325.0", + "version": "0.326.3-alpha.4", "description": "Gatsby plugin for using Facebook Pixel with Store Framework Jamstack", "main": "index.js", "browser": "src/index.ts", @@ -18,7 +18,7 @@ ], "license": "MIT", "devDependencies": { - "@vtex/gatsby-theme-store": "^0.325.0", + "@vtex/gatsby-theme-store": "^0.326.3-alpha.4", "cross-env": "^7.0.2", "gatsby": "^3.1.1", "typescript": "^4.1.2" diff --git a/packages/gatsby-theme-store/package.json b/packages/gatsby-theme-store/package.json index 57ad40c679..e9712f7121 100644 --- a/packages/gatsby-theme-store/package.json +++ b/packages/gatsby-theme-store/package.json @@ -1,6 +1,6 @@ { "name": "@vtex/gatsby-theme-store", - "version": "0.325.0", + "version": "0.326.3-alpha.4", "description": "Gatsby theme for building ecommerce websites", "main": "index.js", "module": "src/index.ts", @@ -61,7 +61,7 @@ "@vtex/gatsby-plugin-theme-ui": "^0.325.0", "@vtex/order-items": "^0.6.1", "@vtex/order-manager": "^0.5.2", - "@vtex/store-ui": "^0.325.0", + "@vtex/store-ui": "^0.326.3-alpha.3", "gatsby-plugin-bundle-stats": "^2.7.2", "html-loader": "^2.1.2", "intersection-observer": "^0.11.0", diff --git a/packages/gatsby-theme-store/src/components/HomePage/SEO/useSiteLinksSearchBoxJsonLd.ts b/packages/gatsby-theme-store/src/components/HomePage/SEO/useSiteLinksSearchBoxJsonLd.ts index f26898f724..f37e318697 100644 --- a/packages/gatsby-theme-store/src/components/HomePage/SEO/useSiteLinksSearchBoxJsonLd.ts +++ b/packages/gatsby-theme-store/src/components/HomePage/SEO/useSiteLinksSearchBoxJsonLd.ts @@ -14,7 +14,9 @@ interface SiteLinksSearchBoxJSONLD { } } -export const useSiteLinksSearchBoxJsonLd = (_: Options): SiteLinksSearchBoxJSONLD => { +export const useSiteLinksSearchBoxJsonLd = ( + _: Options +): SiteLinksSearchBoxJSONLD => { const { host } = useLocation() const url = `https://${host}` diff --git a/packages/gatsby-theme-store/src/gatsby-browser.tsx b/packages/gatsby-theme-store/src/gatsby-browser.tsx index 88a1b5e76c..0c6ce34fb6 100644 --- a/packages/gatsby-theme-store/src/gatsby-browser.tsx +++ b/packages/gatsby-theme-store/src/gatsby-browser.tsx @@ -7,22 +7,16 @@ import ReactDOM from 'react-dom' import type { WrapRootElementBrowserArgs } from 'gatsby' import type { ElementType } from 'react' -// Webpack + TS magic to make this work -const { - Provider: OrderFormProvider, -} = require('./src/sdk/orderForm/LazyProvider') -const { Provider: RegionProvider } = require('./src/sdk/region/Provider') -const { Provider: MinicartProvider } = require('./src/sdk/minicart/Provider') -const { default: VTEXRCProvider } = require('./src/sdk/pixel/vtexrc/index') -const { - default: ErrorBoundary, -} = require('./src/components/Error/ErrorBoundary') -// eslint-disable-next-line padding-line-between-statements -const { +import { Provider as OrderFormProvider } from './sdk/orderForm/LazyProvider' +import { Provider as RegionProvider } from './sdk/region/Provider' +import { Provider as MinicartProvider } from './sdk/minicart/Provider' +import { Provider as ToastProvider } from './sdk/toast/Provider' +import { Provider as VTEXRCProvider } from './sdk/pixel/vtexrc/Provider' +import ErrorBoundary from './components/Error/ErrorBoundary' +import { Progress, - onRouteUpdate: progressOnRouteUpdate, -} = require('./src/sdk/progress') -const { Provider: ToastProvider } = require('./src/sdk/toast/Provider') + onRouteUpdate as progressOnRouteUpdate, +} from './sdk/progress' export const replaceHydrateFunction = () => async ( element: ElementType, diff --git a/packages/gatsby-theme-store/src/gatsby-node.ts b/packages/gatsby-theme-store/src/gatsby-node.ts index 386913c297..515a1b3afc 100644 --- a/packages/gatsby-theme-store/src/gatsby-node.ts +++ b/packages/gatsby-theme-store/src/gatsby-node.ts @@ -187,11 +187,15 @@ const resolveToTS = ( file: 'gatsby-browser' | 'gatsby-ssr' | 'gatsby-node' ): Record => { const root = `${process.cwd()}/.cache` - const nextSeoFrom = relative(root, require.resolve(`${pkg}/${file}.js`)) - const nextSeoTo = nextSeoFrom.replace(`/${file}.js`, `/src/${file}`) + const cjs = relative( + root, + require.resolve(`${pkg}/${file}.js`, { paths: [process.cwd()] }) + ) + + const ts = cjs.replace(`/${file}.js`, `/src/${file}`) return { - [nextSeoFrom]: nextSeoTo, + [cjs]: ts, } } @@ -226,7 +230,13 @@ export const onCreateWebpackConfig = ( // it can tree shake it or not. This points the webpack directly to the source file so everything is imported // using es6 and only the used packages are used 'gatsby-plugin-next-seo$': resolve( - require.resolve('gatsby-plugin-next-seo'), + require.resolve('gatsby-plugin-next-seo', { paths: [process.cwd()] }), + stage === 'build-javascript' || stage === 'develop' + ? '../../src/index' + : '' + ), + '@vtex/store-ui$': resolve( + require.resolve('@vtex/store-ui', { paths: [process.cwd()] }), stage === 'build-javascript' || stage === 'develop' ? '../../src/index' : '' @@ -234,6 +244,8 @@ export const onCreateWebpackConfig = ( // Resolve to the .ts versions of gatsby-(browser|ssr) so we don't end up by adding the whole lib. ...resolveToTS('gatsby-plugin-next-seo', 'gatsby-browser'), ...resolveToTS('gatsby-plugin-next-seo', 'gatsby-ssr'), + ...resolveToTS('@vtex/gatsby-theme-store', 'gatsby-browser'), + ...resolveToTS('@vtex/gatsby-theme-store', 'gatsby-ssr'), '@vtex/order-manager': require.resolve( '@vtex/order-manager/src/index.tsx' ), diff --git a/packages/gatsby-theme-store/src/sdk/orderForm/LazyProvider.tsx b/packages/gatsby-theme-store/src/sdk/orderForm/LazyProvider.tsx index cbe6b794fe..65ad2be2c5 100644 --- a/packages/gatsby-theme-store/src/sdk/orderForm/LazyProvider.tsx +++ b/packages/gatsby-theme-store/src/sdk/orderForm/LazyProvider.tsx @@ -1,5 +1,5 @@ -import type { FC, PropsWithChildren } from 'react' import React, { Fragment, lazy, Suspense } from 'react' +import type { FC } from 'react' const isOfflinePage = window.location.pathname.startsWith('/offline') @@ -19,10 +19,8 @@ const LazyProvider = lazy(() => }) ) -export const Provider = ({ children }: PropsWithChildren) => { - return ( - - {children} - - ) -} +export const Provider: FC = ({ children }) => ( + + {children} + +) diff --git a/packages/gatsby-theme-store/src/sdk/pixel/vtexrc/index.tsx b/packages/gatsby-theme-store/src/sdk/pixel/vtexrc/Provider.tsx similarity index 93% rename from packages/gatsby-theme-store/src/sdk/pixel/vtexrc/index.tsx rename to packages/gatsby-theme-store/src/sdk/pixel/vtexrc/Provider.tsx index 5e3f3ce6a6..a81a370835 100644 --- a/packages/gatsby-theme-store/src/sdk/pixel/vtexrc/index.tsx +++ b/packages/gatsby-theme-store/src/sdk/pixel/vtexrc/Provider.tsx @@ -28,7 +28,7 @@ if (!window.vtexrca) { }) } -const Provider: FC = ({ children }) => { +export const Provider: FC = ({ children }) => { useLazyScript({ src: 'https://io.vtex.com.br/rc/rc.js', id: 'async-vtex-rc', @@ -39,5 +39,3 @@ const Provider: FC = ({ children }) => { return {children} } - -export default Provider diff --git a/packages/store-ui/package.json b/packages/store-ui/package.json index f1699c7889..ffb613ebd9 100644 --- a/packages/store-ui/package.json +++ b/packages/store-ui/package.json @@ -1,12 +1,11 @@ { "name": "@vtex/store-ui", - "version": "0.325.0", + "version": "0.326.3-alpha.3", "description": "Next store component library", "author": "emersonlaurentino", "license": "MIT", "repository": "vtex/gatsby-vtex", "main": "dist/index.js", - "browser": "src/index.tsx", "module": "dist/store-ui.esm.js", "typings": "dist/index.d.ts", "sideEffects": false,