@shopify/create-hydrogen 4.3.13 → 5.0.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/dist/assets/hydrogen/bundle/analyzer.html +2045 -0
- package/dist/assets/hydrogen/i18n/domains.ts +28 -0
- package/dist/assets/hydrogen/i18n/mock-i18n-types.ts +3 -0
- package/dist/assets/hydrogen/i18n/subdomains.ts +27 -0
- package/dist/assets/hydrogen/i18n/subfolders.ts +29 -0
- package/dist/assets/hydrogen/routes/locale-check.ts +16 -0
- package/dist/assets/hydrogen/starter/.eslintignore +5 -0
- package/dist/assets/hydrogen/starter/.eslintrc.cjs +19 -0
- package/dist/assets/hydrogen/starter/.graphqlrc.yml +12 -0
- package/dist/assets/hydrogen/starter/CHANGELOG.md +709 -0
- package/dist/assets/hydrogen/starter/README.md +45 -0
- package/dist/assets/hydrogen/starter/app/assets/favicon.svg +28 -0
- package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +37 -0
- package/dist/assets/hydrogen/starter/app/components/Aside.tsx +76 -0
- package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +150 -0
- package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +68 -0
- package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +101 -0
- package/dist/assets/hydrogen/starter/app/components/Footer.tsx +129 -0
- package/dist/assets/hydrogen/starter/app/components/Header.tsx +230 -0
- package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +126 -0
- package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +80 -0
- package/dist/assets/hydrogen/starter/app/components/ProductImage.tsx +23 -0
- package/dist/assets/hydrogen/starter/app/components/ProductPrice.tsx +27 -0
- package/dist/assets/hydrogen/starter/app/components/Search.tsx +514 -0
- package/dist/assets/hydrogen/starter/app/entry.client.tsx +12 -0
- package/dist/assets/hydrogen/starter/app/entry.server.tsx +47 -0
- package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerAddressMutations.ts +61 -0
- package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerDetailsQuery.ts +40 -0
- package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrderQuery.ts +87 -0
- package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrdersQuery.ts +58 -0
- package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerUpdateMutation.ts +24 -0
- package/dist/assets/hydrogen/starter/app/lib/fragments.ts +174 -0
- package/dist/assets/hydrogen/starter/app/lib/search.ts +29 -0
- package/dist/assets/hydrogen/starter/app/lib/session.ts +72 -0
- package/dist/assets/hydrogen/starter/app/lib/variants.ts +46 -0
- package/dist/assets/hydrogen/starter/app/root.tsx +191 -0
- package/dist/assets/hydrogen/starter/app/routes/$.tsx +11 -0
- package/dist/assets/hydrogen/starter/app/routes/[robots.txt].tsx +118 -0
- package/dist/assets/hydrogen/starter/app/routes/[sitemap.xml].tsx +177 -0
- package/dist/assets/hydrogen/starter/app/routes/_index.tsx +182 -0
- package/dist/assets/hydrogen/starter/app/routes/account.$.tsx +8 -0
- package/dist/assets/hydrogen/starter/app/routes/account._index.tsx +5 -0
- package/dist/assets/hydrogen/starter/app/routes/account.addresses.tsx +513 -0
- package/dist/assets/hydrogen/starter/app/routes/account.orders.$id.tsx +195 -0
- package/dist/assets/hydrogen/starter/app/routes/account.orders._index.tsx +107 -0
- package/dist/assets/hydrogen/starter/app/routes/account.profile.tsx +136 -0
- package/dist/assets/hydrogen/starter/app/routes/account.tsx +88 -0
- package/dist/assets/hydrogen/starter/app/routes/account_.authorize.tsx +5 -0
- package/dist/assets/hydrogen/starter/app/routes/account_.login.tsx +5 -0
- package/dist/assets/hydrogen/starter/app/routes/account_.logout.tsx +10 -0
- package/dist/assets/hydrogen/starter/app/routes/api.predictive-search.tsx +318 -0
- package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +113 -0
- package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle._index.tsx +188 -0
- package/dist/assets/hydrogen/starter/app/routes/blogs._index.tsx +119 -0
- package/dist/assets/hydrogen/starter/app/routes/cart.$lines.tsx +69 -0
- package/dist/assets/hydrogen/starter/app/routes/cart.tsx +102 -0
- package/dist/assets/hydrogen/starter/app/routes/collections.$handle.tsx +225 -0
- package/dist/assets/hydrogen/starter/app/routes/collections._index.tsx +146 -0
- package/dist/assets/hydrogen/starter/app/routes/collections.all.tsx +185 -0
- package/dist/assets/hydrogen/starter/app/routes/discount.$code.tsx +47 -0
- package/dist/assets/hydrogen/starter/app/routes/pages.$handle.tsx +84 -0
- package/dist/assets/hydrogen/starter/app/routes/policies.$handle.tsx +93 -0
- package/dist/assets/hydrogen/starter/app/routes/policies._index.tsx +63 -0
- package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +299 -0
- package/dist/assets/hydrogen/starter/app/routes/search.tsx +177 -0
- package/dist/assets/hydrogen/starter/app/styles/app.css +486 -0
- package/dist/assets/hydrogen/starter/app/styles/reset.css +129 -0
- package/dist/assets/hydrogen/starter/customer-accountapi.generated.d.ts +509 -0
- package/dist/assets/hydrogen/starter/env.d.ts +54 -0
- package/dist/assets/hydrogen/starter/package.json +50 -0
- package/dist/assets/hydrogen/starter/public/.gitkeep +0 -0
- package/dist/assets/hydrogen/starter/server.ts +119 -0
- package/dist/assets/hydrogen/starter/storefrontapi.generated.d.ts +1211 -0
- package/dist/assets/hydrogen/starter/tsconfig.json +23 -0
- package/dist/assets/hydrogen/starter/vite.config.ts +41 -0
- package/dist/assets/hydrogen/tailwind/package.json +8 -0
- package/dist/assets/hydrogen/tailwind/tailwind.css +6 -0
- package/dist/assets/hydrogen/vanilla-extract/package.json +8 -0
- package/dist/assets/hydrogen/virtual-routes/assets/debug-network.css +592 -0
- package/dist/assets/hydrogen/virtual-routes/assets/favicon-dark.svg +20 -0
- package/dist/assets/hydrogen/virtual-routes/assets/favicon.svg +28 -0
- package/dist/assets/hydrogen/virtual-routes/assets/inter-variable-font.woff2 +0 -0
- package/dist/assets/hydrogen/virtual-routes/assets/jetbrainsmono-variable-font.woff2 +0 -0
- package/dist/assets/hydrogen/virtual-routes/assets/styles.css +238 -0
- package/dist/assets/hydrogen/virtual-routes/components/FlameChartWrapper.jsx +123 -0
- package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseBW.jsx +32 -0
- package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseColor.jsx +47 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconBanner.jsx +292 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconClose.jsx +38 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconDiscard.jsx +44 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconError.jsx +61 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconGithub.jsx +23 -0
- package/dist/assets/hydrogen/virtual-routes/components/IconTwitter.jsx +21 -0
- package/dist/assets/hydrogen/virtual-routes/components/PageLayout.jsx +7 -0
- package/dist/assets/hydrogen/virtual-routes/components/RequestDetails.jsx +178 -0
- package/dist/assets/hydrogen/virtual-routes/components/RequestTable.jsx +91 -0
- package/dist/assets/hydrogen/virtual-routes/components/RequestWaterfall.jsx +151 -0
- package/dist/assets/hydrogen/virtual-routes/lib/useDebugNetworkServer.jsx +178 -0
- package/dist/assets/hydrogen/virtual-routes/routes/graphiql.jsx +5 -0
- package/dist/assets/hydrogen/virtual-routes/routes/index.jsx +265 -0
- package/dist/assets/hydrogen/virtual-routes/routes/subrequest-profiler.jsx +243 -0
- package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +64 -0
- package/dist/assets/hydrogen/vite/package.json +14 -0
- package/dist/assets/hydrogen/vite/vite.config.js +41 -0
- package/dist/chokidar-2CKIHN27.js +12 -0
- package/dist/chunk-EO6F7WJJ.js +2 -0
- package/dist/chunk-FB327AH7.js +5 -0
- package/dist/chunk-FJPX4XUR.js +2 -0
- package/dist/chunk-JKOXGRAA.js +10 -0
- package/dist/chunk-LNQWGFTB.js +45 -0
- package/dist/chunk-M6JXYI3V.js +23 -0
- package/dist/chunk-MNT4XW23.js +2 -0
- package/dist/chunk-N7HFZHSO.js +1145 -0
- package/dist/chunk-PMDMUCNY.js +2 -0
- package/dist/chunk-QGLB6FFL.js +3 -0
- package/dist/chunk-VMIOG46Y.js +2 -0
- package/dist/create-app.js +1867 -34
- package/dist/del-CZGKV5SQ.js +11 -0
- package/dist/devtools-ZCRGQE64.js +8 -0
- package/dist/error-handler-GEQXZJ25.js +2 -0
- package/dist/lib-NJYCLW6W.js +22 -0
- package/dist/morph-ZJCCGFNC.js +30499 -0
- package/dist/multipart-parser-6HGDQWV7.js +3 -0
- package/dist/open-OD6DRFEG.js +2 -0
- package/dist/out-7KAQXZLP.js +2 -0
- package/dist/yoga.wasm +0 -0
- package/package.json +7 -3
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type {LanguageCode, CountryCode} from './mock-i18n-types.js';
|
|
2
|
+
|
|
3
|
+
export type I18nLocale = {language: LanguageCode; country: CountryCode};
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @returns {I18nLocale}
|
|
7
|
+
*/
|
|
8
|
+
function getLocaleFromRequest(request: Request): I18nLocale {
|
|
9
|
+
const defaultLocale: I18nLocale = {language: 'EN', country: 'US'};
|
|
10
|
+
const supportedLocales = {
|
|
11
|
+
ES: 'ES',
|
|
12
|
+
FR: 'FR',
|
|
13
|
+
DE: 'DE',
|
|
14
|
+
JP: 'JA',
|
|
15
|
+
} as Record<I18nLocale['country'], I18nLocale['language']>;
|
|
16
|
+
|
|
17
|
+
const url = new URL(request.url);
|
|
18
|
+
const domain = url.hostname
|
|
19
|
+
.split('.')
|
|
20
|
+
.pop()
|
|
21
|
+
?.toUpperCase() as keyof typeof supportedLocales;
|
|
22
|
+
|
|
23
|
+
return domain && supportedLocales[domain]
|
|
24
|
+
? {language: supportedLocales[domain], country: domain}
|
|
25
|
+
: defaultLocale;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {getLocaleFromRequest};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type {LanguageCode, CountryCode} from './mock-i18n-types.js';
|
|
2
|
+
|
|
3
|
+
export type I18nLocale = {language: LanguageCode; country: CountryCode};
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @returns {I18nLocale}
|
|
7
|
+
*/
|
|
8
|
+
function getLocaleFromRequest(request: Request): I18nLocale {
|
|
9
|
+
const defaultLocale: I18nLocale = {language: 'EN', country: 'US'};
|
|
10
|
+
const supportedLocales = {
|
|
11
|
+
ES: 'ES',
|
|
12
|
+
FR: 'FR',
|
|
13
|
+
DE: 'DE',
|
|
14
|
+
JP: 'JA',
|
|
15
|
+
} as Record<I18nLocale['country'], I18nLocale['language']>;
|
|
16
|
+
|
|
17
|
+
const url = new URL(request.url);
|
|
18
|
+
const firstSubdomain = url.hostname
|
|
19
|
+
.split('.')[0]
|
|
20
|
+
?.toUpperCase() as keyof typeof supportedLocales;
|
|
21
|
+
|
|
22
|
+
return supportedLocales[firstSubdomain]
|
|
23
|
+
? {language: supportedLocales[firstSubdomain], country: firstSubdomain}
|
|
24
|
+
: defaultLocale;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {getLocaleFromRequest};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type {LanguageCode, CountryCode} from './mock-i18n-types.js';
|
|
2
|
+
|
|
3
|
+
export type I18nLocale = {
|
|
4
|
+
language: LanguageCode;
|
|
5
|
+
country: CountryCode;
|
|
6
|
+
pathPrefix: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @returns {I18nLocale}
|
|
11
|
+
*/
|
|
12
|
+
function getLocaleFromRequest(request: Request): I18nLocale {
|
|
13
|
+
const url = new URL(request.url);
|
|
14
|
+
const firstPathPart = url.pathname.split('/')[1]?.toUpperCase() ?? '';
|
|
15
|
+
|
|
16
|
+
type I18nFromUrl = [I18nLocale['language'], I18nLocale['country']];
|
|
17
|
+
|
|
18
|
+
let pathPrefix = '';
|
|
19
|
+
let [language, country]: I18nFromUrl = ['EN', 'US'];
|
|
20
|
+
|
|
21
|
+
if (/^[A-Z]{2}-[A-Z]{2}$/i.test(firstPathPart)) {
|
|
22
|
+
pathPrefix = '/' + firstPathPart;
|
|
23
|
+
[language, country] = firstPathPart.split('-') as I18nFromUrl;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return {language, country, pathPrefix};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export {getLocaleFromRequest};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type {LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
+
|
|
3
|
+
export async function loader({params, context}: LoaderFunctionArgs) {
|
|
4
|
+
const {language, country} = context.storefront.i18n;
|
|
5
|
+
|
|
6
|
+
if (
|
|
7
|
+
params.locale &&
|
|
8
|
+
params.locale.toLowerCase() !== `${language}-${country}`.toLowerCase()
|
|
9
|
+
) {
|
|
10
|
+
// If the locale URL param is defined, yet we still are still at the default locale
|
|
11
|
+
// then the the locale param must be invalid, send to the 404 page
|
|
12
|
+
throw new Response(null, {status: 404});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @type {import("@types/eslint").Linter.BaseConfig}
|
|
3
|
+
*/
|
|
4
|
+
module.exports = {
|
|
5
|
+
extends: [
|
|
6
|
+
'@remix-run/eslint-config',
|
|
7
|
+
'plugin:hydrogen/recommended',
|
|
8
|
+
'plugin:hydrogen/typescript',
|
|
9
|
+
],
|
|
10
|
+
rules: {
|
|
11
|
+
'@typescript-eslint/ban-ts-comment': 'off',
|
|
12
|
+
'@typescript-eslint/naming-convention': 'off',
|
|
13
|
+
'hydrogen/prefer-image-component': 'off',
|
|
14
|
+
'no-useless-escape': 'off',
|
|
15
|
+
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
|
|
16
|
+
'no-case-declarations': 'off',
|
|
17
|
+
'no-console': ['warn', {allow: ['warn', 'error']}],
|
|
18
|
+
},
|
|
19
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
projects:
|
|
2
|
+
default:
|
|
3
|
+
schema: 'node_modules/@shopify/hydrogen/storefront.schema.json'
|
|
4
|
+
documents:
|
|
5
|
+
- '!*.d.ts'
|
|
6
|
+
- '*.{ts,tsx,js,jsx}'
|
|
7
|
+
- 'app/**/*.{ts,tsx,js,jsx}'
|
|
8
|
+
- '!app/graphql/**/*.{ts,tsx,js,jsx}'
|
|
9
|
+
customer-account:
|
|
10
|
+
schema: 'node_modules/@shopify/hydrogen/customer-account.schema.json'
|
|
11
|
+
documents:
|
|
12
|
+
- 'app/graphql/customer-account/**/*.{ts,tsx,js,jsx}'
|