From c85faf4bac5a7c56c8d5a2e93a66b3edd20a64cd Mon Sep 17 00:00:00 2001 From: adrians5j Date: Thu, 20 Jul 2023 21:27:54 +0200 Subject: [PATCH 01/28] ci: trigger workflows From 176c29425477d1daaca1b7da79bacc79a1d35f6e Mon Sep 17 00:00:00 2001 From: adrians5j Date: Thu, 20 Jul 2023 21:38:37 +0200 Subject: [PATCH 02/28] ci: trigger workflows From e69288bf5e710060b14497aae8317034c6cb4bcc Mon Sep 17 00:00:00 2001 From: adrians5j Date: Wed, 23 Aug 2023 22:55:27 +0200 Subject: [PATCH 03/28] ci: trigger workflows From f8cbc5d94c34b52479b1e9428424140b0954bd91 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Mon, 28 Aug 2023 15:19:28 +0200 Subject: [PATCH 04/28] fix: improve error logging --- .../cli/aws/checkEsServiceRole.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js b/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js index 88709770ca4..524aeb850e0 100644 --- a/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js +++ b/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js @@ -2,6 +2,8 @@ const IAM = require("aws-sdk/clients/iam"); const ora = require("ora"); const { green } = require("chalk"); +const NO_SUCH_ENTITY_IAM_ERROR = "NoSuchEntity"; + module.exports = { type: "hook-before-deploy", name: "hook-before-deploy-es-service-role", @@ -24,6 +26,18 @@ module.exports = { }); context.success(`Found Elastic Search service role!`); } catch (err) { + // We've seen cases where the `iam.getRole` call fails because of an issue + // other than not being able to retrieve the service role. Let's print + // additional info if that's the case. Will make debugging a bit easier. + if (err.code !== NO_SUCH_ENTITY_IAM_ERROR) { + spinner.fail( + "Tried retrieving Elastic Search service role but failed with the following error: " + + err.message + ); + context.debug(err); + process.exit(1); + } + spinner.text = "Creating Elastic Search service role..."; try { @@ -32,6 +46,7 @@ module.exports = { spinner.stop(); } catch (err) { spinner.fail(err.message); + context.debug(err); process.exit(1); } } From f2d74fd98dcbfdf7d65d16716613ccc41033f08c Mon Sep 17 00:00:00 2001 From: adrians5j Date: Mon, 28 Aug 2023 22:12:47 +0200 Subject: [PATCH 05/28] fix: run ES service role check only for DDB+ES projects --- packages/cwp-template-aws/cli/aws/index.js | 6 +----- .../src/core/plugins/checkEsServiceRole.ts} | 19 ++++++++----------- .../src/core/plugins/index.ts | 1 + .../serverless-cms-aws/src/createCoreApp.ts | 4 ++-- .../src/enterprise/createCoreApp.ts | 4 ++-- 5 files changed, 14 insertions(+), 20 deletions(-) rename packages/{cwp-template-aws/cli/aws/checkEsServiceRole.js => serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts} (82%) diff --git a/packages/cwp-template-aws/cli/aws/index.js b/packages/cwp-template-aws/cli/aws/index.js index a6ad51aa2e6..3a5b9c136c8 100644 --- a/packages/cwp-template-aws/cli/aws/index.js +++ b/packages/cwp-template-aws/cli/aws/index.js @@ -1,5 +1 @@ -module.exports = [ - require("./checkCredentials"), - require("./checkEsServiceRole"), - require("./subscriptionRequiredException") -]; +module.exports = [require("./checkCredentials"), require("./subscriptionRequiredException")]; diff --git a/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js b/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts similarity index 82% rename from packages/cwp-template-aws/cli/aws/checkEsServiceRole.js rename to packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts index 524aeb850e0..90ad80dc8e8 100644 --- a/packages/cwp-template-aws/cli/aws/checkEsServiceRole.js +++ b/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts @@ -1,18 +1,15 @@ -const IAM = require("aws-sdk/clients/iam"); -const ora = require("ora"); -const { green } = require("chalk"); +import IAM from "aws-sdk/clients/iam"; +import ora from "ora"; +import { green } from "chalk"; +import { CliContext } from "@webiny/cli/types"; const NO_SUCH_ENTITY_IAM_ERROR = "NoSuchEntity"; -module.exports = { +export const checkEsServiceRole = { type: "hook-before-deploy", name: "hook-before-deploy-es-service-role", - async hook({ projectApplication }, context) { - if (projectApplication.id !== "api") { - return; - } - - const spinner = new ora(); + async hook({ projectApplication }: Record, context: CliContext) { + const spinner = ora(); spinner.start(`Checking Elastic Search service role...`); const iam = new IAM(); try { @@ -20,7 +17,7 @@ module.exports = { .getRole({ RoleName: "AWSServiceRoleForAmazonElasticsearchService" }) .promise(); - spinner.stop({ + spinner.stopAndPersist({ symbol: green("✔"), text: `Found Elastic Search service role!` }); diff --git a/packages/serverless-cms-aws/src/core/plugins/index.ts b/packages/serverless-cms-aws/src/core/plugins/index.ts index 82dee071b63..7031147e312 100644 --- a/packages/serverless-cms-aws/src/core/plugins/index.ts +++ b/packages/serverless-cms-aws/src/core/plugins/index.ts @@ -1 +1,2 @@ export * from "./generateDdbToEsHandler"; +export * from "./checkEsServiceRole"; diff --git a/packages/serverless-cms-aws/src/createCoreApp.ts b/packages/serverless-cms-aws/src/createCoreApp.ts index 992a8eb895c..45c9cc70d32 100644 --- a/packages/serverless-cms-aws/src/createCoreApp.ts +++ b/packages/serverless-cms-aws/src/createCoreApp.ts @@ -1,6 +1,6 @@ import { createCorePulumiApp, CreateCorePulumiAppParams } from "@webiny/pulumi-aws"; import { PluginCollection } from "@webiny/plugins/types"; -import { generateDdbToEsHandler } from "./core/plugins"; +import { generateDdbToEsHandler, checkEsServiceRole } from "./core/plugins"; export { CoreOutput } from "@webiny/pulumi-aws"; @@ -11,7 +11,7 @@ export interface CreateCoreAppParams extends CreateCorePulumiAppParams { export function createCoreApp(projectAppParams: CreateCoreAppParams = {}) { const builtInPlugins = []; if (projectAppParams.elasticSearch) { - builtInPlugins.push(generateDdbToEsHandler); + builtInPlugins.push(generateDdbToEsHandler, checkEsServiceRole); } const customPlugins = projectAppParams.plugins ? [...projectAppParams.plugins] : []; diff --git a/packages/serverless-cms-aws/src/enterprise/createCoreApp.ts b/packages/serverless-cms-aws/src/enterprise/createCoreApp.ts index bb7f8662cd9..79a7ceda935 100644 --- a/packages/serverless-cms-aws/src/enterprise/createCoreApp.ts +++ b/packages/serverless-cms-aws/src/enterprise/createCoreApp.ts @@ -1,6 +1,6 @@ import { createCorePulumiApp, CreateCorePulumiAppParams } from "@webiny/pulumi-aws/enterprise"; import { PluginCollection } from "@webiny/plugins/types"; -import { generateDdbToEsHandler } from "~/core/plugins"; +import { generateDdbToEsHandler, checkEsServiceRole } from "~/core/plugins"; export { CoreOutput } from "@webiny/pulumi-aws"; @@ -11,7 +11,7 @@ export interface CreateCoreAppParams extends CreateCorePulumiAppParams { export function createCoreApp(projectAppParams: CreateCoreAppParams = {}) { const builtInPlugins = []; if (projectAppParams.elasticSearch) { - builtInPlugins.push(generateDdbToEsHandler); + builtInPlugins.push(generateDdbToEsHandler, checkEsServiceRole); } const customPlugins = projectAppParams.plugins ? [...projectAppParams.plugins] : []; From 7c4e9b5bf82d37f2652707e1eb990094dca466fc Mon Sep 17 00:00:00 2001 From: adrians5j Date: Mon, 28 Aug 2023 22:25:22 +0200 Subject: [PATCH 06/28] chore: add `yarn deploy` and `yarn watch` cmds --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 7d1cecde31c..a1931057c24 100644 --- a/package.json +++ b/package.json @@ -122,12 +122,14 @@ "add-webiny-package": "node scripts/addWebinyPackage.js", "check-ts-configs": "node scripts/checkTsConfigs.js", "check-package-dependencies": "node scripts/checkPackageNodeModules.js", + "deploy": "yarn webiny deploy", "eslint": "eslint \"**/*.{js,jsx,ts,tsx}\" --max-warnings=0", "eslint:fix": "yarn eslint --fix", "build": "node scripts/buildPackages", "build:quick": "node scripts/buildPackages --build-overrides='{\"tsConfig\":{\"compilerOptions\":{\"skipLibCheck\":true}}}'", "build:apps": "yarn webiny ws run build --scope='@webiny/app*'", "build:api": "yarn webiny ws run build --scope='@webiny/api*' --scope='@webiny/handler*'", + "watch": "yarn webiny watch", "watch:apps": "yarn webiny ws run watch --scope='@webiny/app*'", "watch:api": "yarn webiny ws run watch --scope='@webiny/api*'", "clear-dist": "yarn rimraf packages/*/dist", From 6058eadeb4735c2d25ea52da95240ebd9f6830c9 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Tue, 29 Aug 2023 13:58:38 +0200 Subject: [PATCH 07/28] fix: update dependencies --- packages/cwp-template-aws/package.json | 1 - packages/serverless-cms-aws/package.json | 2 ++ yarn.lock | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/cwp-template-aws/package.json b/packages/cwp-template-aws/package.json index 415a1426d7d..9849cc58f2d 100644 --- a/packages/cwp-template-aws/package.json +++ b/packages/cwp-template-aws/package.json @@ -21,7 +21,6 @@ "inquirer": "7.3.3", "load-json-file": "6.2.0", "lodash": "^4.17.20", - "ora": "4.1.1", "write-json-file": "4.3.0" }, "devDependencies": { diff --git a/packages/serverless-cms-aws/package.json b/packages/serverless-cms-aws/package.json index 5707d1c2c26..32554b7c5c4 100644 --- a/packages/serverless-cms-aws/package.json +++ b/packages/serverless-cms-aws/package.json @@ -56,10 +56,12 @@ "@webiny/pulumi": "0.0.0", "@webiny/pulumi-aws": "0.0.0", "@webiny/wcp": "0.0.0", + "chalk": "^4.1.0", "fast-glob": "^3.2.7", "find-up": "^5.0.0", "invariant": "^2.2.4", "node-fetch": "^2.6.1", + "ora": "4.1.1", "webpack": "^5.74.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 839f4034500..3ff04355859 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15879,7 +15879,6 @@ __metadata: inquirer: 7.3.3 load-json-file: 6.2.0 lodash: ^4.17.20 - ora: 4.1.1 write-json-file: 4.3.0 languageName: unknown linkType: soft @@ -16673,10 +16672,12 @@ __metadata: "@webiny/pulumi": 0.0.0 "@webiny/pulumi-aws": 0.0.0 "@webiny/wcp": 0.0.0 + chalk: ^4.1.0 fast-glob: ^3.2.7 find-up: ^5.0.0 invariant: ^2.2.4 node-fetch: ^2.6.1 + ora: 4.1.1 ttypescript: ^1.5.12 typescript: 4.7.4 webpack: ^5.74.0 From 8ec441a2365d19d5d60123f9b889e83bd3215643 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Tue, 29 Aug 2023 14:36:56 +0200 Subject: [PATCH 08/28] fix: remove unused var --- .../serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts b/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts index 90ad80dc8e8..6c5e9b8afd1 100644 --- a/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts +++ b/packages/serverless-cms-aws/src/core/plugins/checkEsServiceRole.ts @@ -8,7 +8,7 @@ const NO_SUCH_ENTITY_IAM_ERROR = "NoSuchEntity"; export const checkEsServiceRole = { type: "hook-before-deploy", name: "hook-before-deploy-es-service-role", - async hook({ projectApplication }: Record, context: CliContext) { + async hook(params: Record, context: CliContext) { const spinner = ora(); spinner.start(`Checking Elastic Search service role...`); const iam = new IAM(); From 56888a37cbe73618b262eaba3e18213142bf4771 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Tue, 29 Aug 2023 22:31:40 +0200 Subject: [PATCH 09/28] fix: do not use VPC with tenant router fn --- packages/pulumi-aws/src/apps/tenantRouter.ts | 8 +++++--- packages/pulumi-aws/src/enterprise/createApiPulumiApp.ts | 5 ++++- packages/pulumi-aws/src/enterprise/createCorePulumiApp.ts | 5 ++++- .../pulumi-aws/src/enterprise/createWebsitePulumiApp.ts | 5 ++++- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/pulumi-aws/src/apps/tenantRouter.ts b/packages/pulumi-aws/src/apps/tenantRouter.ts index ab95393670c..d3365e86159 100644 --- a/packages/pulumi-aws/src/apps/tenantRouter.ts +++ b/packages/pulumi-aws/src/apps/tenantRouter.ts @@ -81,8 +81,7 @@ export function applyTenantRouter( } ] } - }, - meta: { isLambdaFunctionRole: true } + } }); const awsUsEast1 = new aws.Provider("us-east-1", { region: "us-east-1" }); @@ -107,7 +106,10 @@ export function applyTenantRouter( // the environment is destroyed. Users need to delete the function manually. We decided to use // this option here because it enables us to avoid annoying AWS Lambda function replication // errors upon destroying the stack (see https://github.com/pulumi/pulumi-aws/issues/2178). - opts: { provider: awsUsEast1, retainOnDelete: true } + opts: { provider: awsUsEast1, retainOnDelete: true }, + meta: { + canUseVpc: false + } }); cloudfront.config.defaultCacheBehavior(value => { diff --git a/packages/pulumi-aws/src/enterprise/createApiPulumiApp.ts b/packages/pulumi-aws/src/enterprise/createApiPulumiApp.ts index 5f880c4ddaf..15c9f361df4 100644 --- a/packages/pulumi-aws/src/enterprise/createApiPulumiApp.ts +++ b/packages/pulumi-aws/src/enterprise/createApiPulumiApp.ts @@ -49,7 +49,10 @@ export function createApiPulumiApp(projectAppParams: CreateApiPulumiAppParams = onResource(resource => { if (isResourceOfType(resource, aws.lambda.Function)) { - resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + const canUseVpc = resource.meta.canUseVpc !== false; + if (canUseVpc) { + resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + } } if (isResourceOfType(resource, aws.iam.Role)) { diff --git a/packages/pulumi-aws/src/enterprise/createCorePulumiApp.ts b/packages/pulumi-aws/src/enterprise/createCorePulumiApp.ts index 571058a5530..1ba414ebcc8 100644 --- a/packages/pulumi-aws/src/enterprise/createCorePulumiApp.ts +++ b/packages/pulumi-aws/src/enterprise/createCorePulumiApp.ts @@ -76,7 +76,10 @@ export function createCorePulumiApp(projectAppParams: CreateCorePulumiAppParams onResource(resource => { if (isResourceOfType(resource, aws.lambda.Function)) { - resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + const canUseVpc = resource.meta.canUseVpc !== false; + if (canUseVpc) { + resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + } } if (isResourceOfType(resource, aws.iam.Role)) { diff --git a/packages/pulumi-aws/src/enterprise/createWebsitePulumiApp.ts b/packages/pulumi-aws/src/enterprise/createWebsitePulumiApp.ts index a745799e980..c870ec4f04d 100644 --- a/packages/pulumi-aws/src/enterprise/createWebsitePulumiApp.ts +++ b/packages/pulumi-aws/src/enterprise/createWebsitePulumiApp.ts @@ -49,7 +49,10 @@ export function createWebsitePulumiApp(projectAppParams: CreateWebsitePulumiAppP onResource(resource => { if (isResourceOfType(resource, aws.lambda.Function)) { - resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + const canUseVpc = resource.meta.canUseVpc !== false; + if (canUseVpc) { + resource.config.vpcConfig(useExistingVpc!.lambdaFunctionsVpcConfig); + } } if (isResourceOfType(resource, aws.iam.Role)) { From 917f4c5efe9f8f49a2aef608271863c3ad6aa802 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Wed, 30 Aug 2023 19:57:21 +0200 Subject: [PATCH 10/28] fix: always use locale in index name for CMS models --- packages/migrations/src/utils/elasticsearch/esGetIndexName.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/migrations/src/utils/elasticsearch/esGetIndexName.ts b/packages/migrations/src/utils/elasticsearch/esGetIndexName.ts index dd2d133f352..e23b4d4e074 100644 --- a/packages/migrations/src/utils/elasticsearch/esGetIndexName.ts +++ b/packages/migrations/src/utils/elasticsearch/esGetIndexName.ts @@ -28,7 +28,7 @@ export const esGetIndexName = (params: EsGetIndexNameParams) => { const tenantId = sharedIndex ? "root" : tenant; let localeCode: string | null = null; - if (process.env.WEBINY_ELASTICSEARCH_INDEX_LOCALE === "true") { + if (isHeadlessCmsModel || process.env.WEBINY_ELASTICSEARCH_INDEX_LOCALE === "true") { if (!locale) { throw new WebinyError( `Missing "locale" parameter when trying to create Elasticsearch index name.`, From 36831e800cf341a4149198f237aef3fe51ae79b6 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Thu, 31 Aug 2023 09:53:30 +0200 Subject: [PATCH 11/28] fix: add missing `iam:CreateServiceLinkedRole` permission --- docs/DEPLOY_WEBINY_PROJECT_CF_TEMPLATE.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/DEPLOY_WEBINY_PROJECT_CF_TEMPLATE.yaml b/docs/DEPLOY_WEBINY_PROJECT_CF_TEMPLATE.yaml index f05c66ace52..2a4bde81725 100644 --- a/docs/DEPLOY_WEBINY_PROJECT_CF_TEMPLATE.yaml +++ b/docs/DEPLOY_WEBINY_PROJECT_CF_TEMPLATE.yaml @@ -227,6 +227,15 @@ Resources: - arn:aws:iam::*:role/wby-* - arn:aws:iam::*:policy/wby-* + # AWS Identity and Access Management (IAM) - Service-Linked Roles + # Only needed for the "Amazon DynamoDB + Amazon Elasticsearch" database setup. + # https://www.webiny.com/docs/architecture/introduction#different-database-setups + - Effect: Allow + Action: + - iam:CreateServiceLinkedRole + Resource: + - arn:aws:iam::*:role/aws-service-role/es.amazonaws.com/AWSServiceRoleForAmazonElasticsearchService + # AWS Lambda - Effect: Allow Action: From 95b13b04cbedc315b38a889ffdf3b92d71948dd5 Mon Sep 17 00:00:00 2001 From: Sasho Mihajlov <82515066+mihajlovco@users.noreply.github.com> Date: Thu, 31 Aug 2023 13:37:26 +0200 Subject: [PATCH 12/28] docs(rich-text-lexical-renderer): add instructions about mismatching versions (#3497) --- packages/create-webiny-project/README.md | 80 +++++++++------ .../README.md | 91 +++++++++++++++--- ...eact-renderer-versisons-conflict-error.png | Bin 0 -> 579159 bytes 3 files changed, 126 insertions(+), 45 deletions(-) create mode 100644 packages/react-rich-text-lexical-renderer/images/react-renderer-versisons-conflict-error.png diff --git a/packages/create-webiny-project/README.md b/packages/create-webiny-project/README.md index 66806892226..e943a74f605 100644 --- a/packages/create-webiny-project/README.md +++ b/packages/create-webiny-project/README.md @@ -12,27 +12,33 @@ A tool for setting up a new Webiny project. #### Simple: ``` -npx create-webiny-project@beta my-test-project --tag beta +npx create-webiny-project@local-npm my-test-project --tag local-npm ``` #### Advanced: ``` -npx create-webiny-project@beta my-test-project - --tag beta --no-interactive +npx create-webiny-project@local-npm my-test-project + --tag local-npm --no-interactive --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}' --template-options '{"region":"eu-central-1","vpc":false}' ``` This usage is more ideal for CI/CD environments, where interactivity is not available. -But do note that this is probably more useful to us, Webiny developers, than for actual Webiny projects. This is simply because in real project's CI/CD pipelines, users would simply start off by cloning the project from their private repository, and not create a new one with the above command. +But do note that this is probably more useful to us, Webiny developers, than for actual Webiny projects. This is simply +because in real project's CI/CD pipelines, users would simply start off by cloning the project from their private +repository, and not create a new one with the above command. ## Development Notes -Testing this, and related packages (like [cwp-template-aws](./../cwp-template-aws)) is a bit complicated, because in order to get the best results, it's recommended to test everything with packages published to a real NPM. +Testing this, and related packages (like [cwp-template-aws](./../cwp-template-aws)) is a bit complicated, because in +order to get the best results, it's recommended to test everything with packages published to a real NPM. -But of course, publishing to NPM just to test something is not ideal, and that's why, we use [Verdaccio](https://verdaccio.org/) instead, which is, basically, an NPM-like service you can run locally. So, instead of publishing packages to NPM, you publish them to Verdaccio, which is much cleaner, because everything stays on your laptop. +But of course, publishing to NPM just to test something is not ideal, and that's why, we +use [Verdaccio](https://verdaccio.org/) instead, which is, basically, an NPM-like service you can run locally. So, +instead of publishing packages to NPM, you publish them to Verdaccio, which is much cleaner, because everything stays on +your laptop. #### Usage @@ -42,19 +48,25 @@ The following steps show how to do it. #### 1. Start Verdaccio -Start by running the `yarn verdaccio:start` command, which will, as the script name itself suggests, spin up Verdaccio locally. +Start by running the `yarn verdaccio:start` command, which will, as the script name itself suggests, spin up Verdaccio +locally. -> All of the files uploaded to Verdaccio service will be stored in the `.verdaccio` folder, located in your project root. +> All of the files uploaded to Verdaccio service will be stored in the `.verdaccio` folder, located in your project +> root. #### 2. Set default NPM registry -Once you have Verdaccio up and running, you'll also need to change the default NPM registry. Meaning, when you run `npx create-webiny-project ...`, you want it to start fetching packages from Verdaccio, not real NPM. Verdaccio runs on localhost, on port 4873, so, in your terminal, run the following command: +Once you have Verdaccio up and running, you'll also need to change the default NPM registry. Meaning, when you +run `npx create-webiny-project ...`, you want it to start fetching packages from Verdaccio, not real NPM. Verdaccio runs +on localhost, on port 4873, so, in your terminal, run the following command: ``` npm config set registry http://localhost:4873 ``` -Note that this will only help you with `npx`, but won't help you when a new project foundation is created, and the dependencies start to get pulled. This is because we're using yarn2, which actually doesn't respect the values that were written by the `npm config set ...` command we just executed. +Note that this will only help you with `npx`, but won't help you when a new project foundation is created, and the +dependencies start to get pulled. This is because we're using yarn2, which actually doesn't respect the values that were +written by the `npm config set ...` command we just executed. It's super important that, when you're testing your npx project, you also pass the following argument: @@ -62,15 +74,16 @@ It's super important that, when you're testing your npx project, you also pass t --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}' ``` -This will set the necessary values in yarn2 config file, which will be located in your newly created project. But don't worry about it right now, this will be revisited in step 4. +This will set the necessary values in yarn2 config file, which will be located in your newly created project. But don't +worry about it right now, this will be revisited in step 4. -> Yarn2 projects don't rely on global configurations and is not installed globally, but on per-project basis. This allows having multiple versions of yarn2, for different projects. +> Yarn2 projects don't rely on global configurations and is not installed globally, but on per-project basis. This +> allows having multiple versions of yarn2, for different projects. #### 3. Release Commit (no need to push it if you don't want to) all of the code changes, and execute the following command: - ```bash yarn release --type=verdaccio ``` @@ -80,7 +93,7 @@ yarn release --type=verdaccio Test your changes with the following command: ``` -npx create-webiny-project@next my-test-project --tag next --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}' +npx create-webiny-project@local-npm my-test-project --tag local-npm --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}' ``` This should create a project, with all of the packages pulled from Verdaccio. @@ -94,17 +107,17 @@ Once you're done, do the following: ### Commands Cheat Sheet -| Description | Command | -|-----------------------------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Remove `.verdaccio` folder | `rm -rf .verdaccio` | -| List all v5\* tags | `git tag -l "v5*"` | -| Remove specific tag | `git tag -d "v5.0.0-next.5"` | -| Set Verdaccio as the NPM registry | `npm config set registry http://localhost:4873` | -| Reset NPM registry | `npm config set registry https://registry.npmjs.org/` | -| Start Verdaccio | `yarn verdaccio:start` | -| Release to Verdaccio | `yarn release --type=verdaccio` | -| Create a new Webiny project | `npx create-webiny-project@next my-test-project --tag next --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}'` | -| Revert versioning commit | `git reset HEAD~ && git reset --hard HEAD` | +| Description | Command | +|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Remove `.verdaccio` folder | `rm -rf .verdaccio` | +| List all v5\* tags | `git tag -l "v5*"` | +| Remove specific tag | `git tag -d "v5.0.0-next.5"` | +| Set Verdaccio as the NPM registry | `npm config set registry http://localhost:4873` | +| Reset NPM registry | `npm config set registry https://registry.npmjs.org/` | +| Start Verdaccio | `yarn verdaccio:start` | +| Release to Verdaccio | `yarn release --type=verdaccio` | | +| Create a new Webiny project | `npx create-webiny-project@local-npm my-test-project --tag local-npm --assign-to-yarnrc '{"npmRegistryServer":"http://localhost:4873","unsafeHttpWhitelist":["localhost"]}` | +| Revert versioning commit | `git reset HEAD~ && git reset --hard HEAD` | ## Troubleshooting @@ -112,18 +125,23 @@ Once you're done, do the following: This is probably because of one of the Yarn package caching mechanisms. -Yarn has two levels of cache - local and shared. +Yarn has two levels of cache - local and shared. -When you install a package, it gets cached in the local cache folder (located in your project), and in the shared cache folder. This makes it much faster when you're working on a couple of projects on your local machine, and you're pulling the same package in each. If the package doesn't exist in local cache, it will be pulled from shared cache. +When you install a package, it gets cached in the local cache folder (located in your project), and in the shared cache +folder. This makes it much faster when you're working on a couple of projects on your local machine, and you're pulling +the same package in each. If the package doesn't exist in local cache, it will be pulled from shared cache. -On Windows, the shared cache folder should be located in: `C:\Users\{USER-NAME}\AppData\Local\Yarn`. +On Windows, the shared cache folder should be located in: `C:\Users\{USER-NAME}\AppData\Local\Yarn`. On Linux/Mac, the shared cache folder should be located in: `/Users/adrian/Library/Caches/Yarn`. -In these folders, most probably, you'll also have the `\Berry\cache` folder. But, there were also cases where this folder did not exist. +In these folders, most probably, you'll also have the `\Berry\cache` folder. But, there were also cases where this +folder did not exist. -Deleting the mentioned cache folders should help with the issue of still receiving old packages in your testing sessions. +Deleting the mentioned cache folders should help with the issue of still receiving old packages in your testing +sessions. -With all of this being said, you can also try the [following command](https://yarnpkg.com/features/offline-cache#cleaning-the-cache): +With all of this being said, you can also try +the [following command](https://yarnpkg.com/features/offline-cache#cleaning-the-cache): ```bash yarn cache clean --mirror diff --git a/packages/react-rich-text-lexical-renderer/README.md b/packages/react-rich-text-lexical-renderer/README.md index 2c767c6fb86..674ce9dcb10 100644 --- a/packages/react-rich-text-lexical-renderer/README.md +++ b/packages/react-rich-text-lexical-renderer/README.md @@ -9,7 +9,8 @@ A React component to render lexical editor data coming from Webiny Headless CMS ## About -Webiny uses Lexical editor https://lexical.dev/ as a go to Rich Text Editor, with some additional plugins. To speed up the rendering of data for developers, we created this component. +Webiny uses Lexical editor https://lexical.dev/ as a go to Rich Text Editor, with some additional plugins. To speed up +the rendering of data for developers, we created this component. ## Install @@ -28,7 +29,7 @@ yarn add @webiny/react-rich-text-lexical-renderer Fetch your data from Headless CMS, then pass it to the component like this: ```tsx -import { RichTextRenderer } from "@webiny/react-rich-text-renderer"; +import {RichTextRenderer} from "@webiny/react-rich-text-renderer"; // Load content from Headless CMS (here we show what your content might look like). const content = { @@ -55,16 +56,16 @@ const content = { version: 1 } ], - direction: "ltr", - format: "", - indent: 0, - type: "root", - version: 1 + direction: "ltr", + format: "", + indent: 0, + type: "root", + version: 1 } } // Mount the component -; +; ``` ## Adding your custom lexical nodes for rendering @@ -74,18 +75,22 @@ You can add custom lexical nodes for rendering your content: ```tsx class MyCustomNode extends LexicalNode { - ... +... } // Mount the component -; +; ``` ## Adding your custom typography theme. -You can override Webiny default typography theme that is used by lexical editor by providing your custom typography object. +You can override Webiny default typography theme that is used by lexical editor by providing your custom typography +object. + +Please [ read our docs ](https://www.webiny.com/docs/page-builder/theming/theme-object) and check +our [theme object on GitHub](hhttps://github.com/webiny/webiny-js/blob/v5.35.0/packages/cwp-template-aws/template/common/apps/theme/theme.ts) +before add you custom theme. -Please [ read our docs ](https://www.webiny.com/docs/page-builder/theming/theme-object) and check our [theme object on GitHub](hhttps://github.com/webiny/webiny-js/blob/v5.35.0/packages/cwp-template-aws/template/common/apps/theme/theme.ts) before add you custom theme. ```tsx const myTheme = { @@ -96,12 +101,70 @@ const myTheme = { id: "custom_heading1", name: "Custom Heading 1", tag: "h1", - styles: { ...headings, fontWeight: "bold", fontSize: 48 } + styles: {...headings, fontWeight: "bold", fontSize: 48} }] } } } // Mount the component -; +; +``` + +## Resolve the mismatch of the versions in the React v18 application + +When you try to use `RichTextLexicalRenderer` component in React `v18` application you will see this error on the +screen: + +![React application error for mismatch of the React versions](./images/react-renderer-versisons-conflict-error.png) + +This is because our `@webiny/react-rich-text-lexical-renderer` package and the React application have +different versions of React. Our rich text renderer component is using `v17.0.2`, and the React application is +using `v18.x.x`. + +> You can check which React versions are requested by various dependencies by running the following command: +> - `yarn why react` for `yarn` users. +> - `npm ls react` for `npm` users. + +To resolve this problem, we need to force all dependencies to use the same version of React. + +### Instructions for `yarn` users + +To force `yarn` to resolve dependencies across the project to the exact versions we're looking for, use +the `resolutions` field in the root `package.json` file. + +```json package.json +{ + ... + "resolutions": { + "react": "18.x.x" + }, + ... +} ``` + +Once the `resolutions` field is defined, run `yarn` to apply the new config. + +To learn more about the `resolutions` field, please check +this [yarn documentation article](https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/). + +### Instructions for `npm` users + +The `npm` supports the same functionality as `yarn` with the `overrides` field name. You need to add `overrides` +field in `package.json` file. + +```json package.json +{ + ... + "overrides": { + "react": "^18.x.x" + }, + ... +} +``` + +Once the `overrides` field is defined, run `npm install` to apply the new config. + +To learn more about the `overrides` field, please check +this [npm documentation article](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides). + diff --git a/packages/react-rich-text-lexical-renderer/images/react-renderer-versisons-conflict-error.png b/packages/react-rich-text-lexical-renderer/images/react-renderer-versisons-conflict-error.png new file mode 100644 index 0000000000000000000000000000000000000000..3fcc3c1cc1ec9587900b1e91068c747007f873d8 GIT binary patch literal 579159 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

_MUaXCleXNmB3Hz^R4FdLEv8^N%}`W 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≧W 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