+
Saleor App CMS v2
+
This is Saleor App that allows product feed generation
+
Install app in your Saleor instance and open in with Dashboard
+
+ );
+};
+
+export default IndexPage;
diff --git a/apps/cms-v2/src/saleor-app.ts b/apps/cms-v2/src/saleor-app.ts
new file mode 100644
index 0000000..67fb20d
--- /dev/null
+++ b/apps/cms-v2/src/saleor-app.ts
@@ -0,0 +1,35 @@
+import { APL, FileAPL, SaleorCloudAPL, UpstashAPL } from "@saleor/app-sdk/APL";
+import { SaleorApp } from "@saleor/app-sdk/saleor-app";
+
+const aplType = process.env.APL ?? "file";
+
+export let apl: APL;
+
+switch (aplType) {
+ case "upstash":
+ apl = new UpstashAPL();
+
+ break;
+ case "file":
+ apl = new FileAPL();
+
+ break;
+ case "saleor-cloud": {
+ if (!process.env.REST_APL_ENDPOINT || !process.env.REST_APL_TOKEN) {
+ throw new Error("Rest APL is not configured - missing env variables. Check saleor-app.ts");
+ }
+
+ apl = new SaleorCloudAPL({
+ resourceUrl: process.env.REST_APL_ENDPOINT,
+ token: process.env.REST_APL_TOKEN,
+ });
+
+ break;
+ }
+ default: {
+ throw new Error("Invalid APL config, ");
+ }
+}
+export const saleorApp = new SaleorApp({
+ apl,
+});
diff --git a/apps/cms-v2/src/setup-tests.ts b/apps/cms-v2/src/setup-tests.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/apps/cms-v2/src/setup-tests.ts
@@ -0,0 +1 @@
+export {};
diff --git a/apps/cms-v2/tsconfig.json b/apps/cms-v2/tsconfig.json
new file mode 100644
index 0000000..61c19ab
--- /dev/null
+++ b/apps/cms-v2/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
+ "exclude": ["node_modules"]
+}
diff --git a/apps/cms-v2/turbo.json b/apps/cms-v2/turbo.json
new file mode 100644
index 0000000..c08adae
--- /dev/null
+++ b/apps/cms-v2/turbo.json
@@ -0,0 +1,28 @@
+{
+ "extends": ["//"],
+ "$schema": "https://turbo.build/schema.json",
+ "pipeline": {
+ "build": {
+ "env": [
+ "APL",
+ "APP_DEBUG",
+ "NODE_ENV",
+ "SECRET_KEY",
+ "ALLOWED_DOMAIN_PATTERN",
+ "REST_APL_ENDPOINT",
+ "REST_APL_TOKEN",
+ "NEXT_PUBLIC_VERCEL_ENV",
+ "VERCEL_URL",
+ "PORT",
+ "SENTRY_ORG",
+ "SENTRY_PROJECT",
+ "SENTRY_DSN",
+ "SENTRY_AUTH_TOKEN",
+ "NEXT_PUBLIC_SENTRY_DSN",
+ "SENTRY_ENVIRONMENT",
+ "APP_IFRAME_BASE_URL",
+ "APP_API_BASE_URL"
+ ]
+ }
+ }
+}
diff --git a/apps/cms-v2/vitest.config.ts b/apps/cms-v2/vitest.config.ts
new file mode 100644
index 0000000..2f87470
--- /dev/null
+++ b/apps/cms-v2/vitest.config.ts
@@ -0,0 +1,17 @@
+import react from "@vitejs/plugin-react";
+
+import { defineConfig } from "vitest/config";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+ test: {
+ passWithNoTests: true,
+ environment: "jsdom",
+ setupFiles: "./src/setup-tests.ts",
+ css: false,
+ alias: {
+ "@": "./src",
+ },
+ },
+});
diff --git a/apps/cms/package.json b/apps/cms/package.json
index d094003..7fa3977 100644
--- a/apps/cms/package.json
+++ b/apps/cms/package.json
@@ -36,7 +36,7 @@
"usehooks-ts": "^2.9.1",
"uuid": "^9.0.0",
"vite": "4.3.9",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/cms/src/pages/api/manifest.ts b/apps/cms/src/pages/api/manifest.ts
index 6faf84b..0b7c3ae 100644
--- a/apps/cms/src/pages/api/manifest.ts
+++ b/apps/cms/src/pages/api/manifest.ts
@@ -9,8 +9,8 @@ import { productUpdatedWebhook } from "./webhooks/product-updated";
export default createManifestHandler({
async manifestFactory({ appBaseUrl }) {
- const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
- const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
+ const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL || appBaseUrl;
+ const apiBaseURL = process.env.APP_API_BASE_URL || appBaseUrl;
const manifest: AppManifest = {
about:
diff --git a/apps/crm/package.json b/apps/crm/package.json
index 90e0116..ee5ced8 100644
--- a/apps/crm/package.json
+++ b/apps/crm/package.json
@@ -39,7 +39,7 @@
"usehooks-ts": "^2.9.1",
"vite": "4.3.9",
"vitest": "0.31.3",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/data-importer/package.json b/apps/data-importer/package.json
index 2205800..b2ac57e 100644
--- a/apps/data-importer/package.json
+++ b/apps/data-importer/package.json
@@ -37,7 +37,7 @@
"usehooks-ts": "^2.9.1",
"vite": "4.3.9",
"vitest": "0.31.3",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/emails-and-messages/package.json b/apps/emails-and-messages/package.json
index d01baaa..69fa52a 100644
--- a/apps/emails-and-messages/package.json
+++ b/apps/emails-and-messages/package.json
@@ -49,7 +49,7 @@
"usehooks-ts": "^2.9.1",
"vite": "4.3.9",
"vitest": "0.31.3",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/invoices/package.json b/apps/invoices/package.json
index 877bc42..a79a4fa 100644
--- a/apps/invoices/package.json
+++ b/apps/invoices/package.json
@@ -38,7 +38,7 @@
"tiny-invariant": "^1.3.1",
"urql": "^4.0.4",
"usehooks-ts": "^2.9.1",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/products-feed/package.json b/apps/products-feed/package.json
index d29b321..98a145a 100644
--- a/apps/products-feed/package.json
+++ b/apps/products-feed/package.json
@@ -43,7 +43,7 @@
"usehooks-ts": "^2.9.1",
"vite": "4.3.9",
"vitest": "0.31.3",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/search/package.json b/apps/search/package.json
index 71586bd..7b672aa 100644
--- a/apps/search/package.json
+++ b/apps/search/package.json
@@ -35,7 +35,7 @@
"react-helmet": "^6.1.0",
"react-hook-form": "^7.43.9",
"urql": "^4.0.4",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/apps/taxes/package.json b/apps/taxes/package.json
index cce6c91..df289c6 100644
--- a/apps/taxes/package.json
+++ b/apps/taxes/package.json
@@ -43,7 +43,7 @@
"usehooks-ts": "^2.9.1",
"vite": "4.3.9",
"vitest": "0.31.3",
- "zod": "^3.20.2"
+ "zod": "3.21.4"
},
"devDependencies": {
"@graphql-codegen/cli": "3.2.2",
diff --git a/packages/e2e/package.json b/packages/e2e/package.json
index 3d34a0d..4a076b6 100644
--- a/packages/e2e/package.json
+++ b/packages/e2e/package.json
@@ -12,7 +12,7 @@
"@saleor/app-sdk": "0.41.1",
"dotenv": "^16.3.1",
"eslint-config-saleor": "workspace:*",
- "zod": "3.20.2"
+ "zod": "3.21.4"
},
"keywords": [],
"license": "ISC",
diff --git a/packages/react-hook-form-macaw/src/components/Select.tsx b/packages/react-hook-form-macaw/src/components/Select.tsx
index aa6290c..3ed2e18 100644
--- a/packages/react-hook-form-macaw/src/components/Select.tsx
+++ b/packages/react-hook-form-macaw/src/components/Select.tsx
@@ -23,7 +23,7 @@ export function Select