From dae7a546623c98f7248ca8e5927fd174894ddaae Mon Sep 17 00:00:00 2001 From: Steven Nance Date: Wed, 18 Sep 2024 02:42:12 +0200 Subject: [PATCH 1/5] WIP: feat: update lab 2 to nx 19.7 --- .github/CONTRIBUTING.md | 16 +- .../nx-workshop-e2e/tests/nx-workshop.spec.ts | 56 +++- docs/assets/lab2_cmds.png | Bin 66777 -> 95829 bytes docs/assets/lab2_cmds.svg | 290 ++++++++++++++++++ docs/lab2/LAB.md | 22 +- docs/lab2/SOLUTION.md | 5 +- libs/nx-react-workshop/package.json | 3 +- .../complete-lab-1/complete-lab-1.ts | 52 +--- 8 files changed, 373 insertions(+), 71 deletions(-) create mode 100644 docs/assets/lab2_cmds.svg diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 986528c..133ce13 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -41,7 +41,13 @@ When updating: 1. Use the migration generator to jump to the lab before the being updating ```sh - nx generate @nrwl/nx-react-workshop:complete-labs --from=1 --to= + # Reset the repo (currently required as a separate step due to issue with getProjects) + # See comment in nx-workspace-e2e/tests/nx-workshop.spec.ts for more details + nx generate @nrwl/nx-react-workshop:complete-labs 1 + nx migrate --run-migrations=migrations.json --verbose + + # Run migrations to the prior lab + nx generate @nrwl/nx-react-workshop:complete-labs --from=2 --to= nx migrate --run-migrations=migrations.json --verbose ``` @@ -59,8 +65,12 @@ When updating: # git commit git add . && git commit -m 'manually run through completion steps' - # reset repo state and migrate to end of lab: - nx generate @nrwl/nx-react-workshop:complete-labs --from=1 --to= + # reset repo state + nx generate @nrwl/nx-react-workshop:complete-labs 1 + nx migrate --run-migrations=migrations.json --verbose + + # migrate to end of lab + nx generate @nrwl/nx-react-workshop:complete-labs --from=2 --to= nx migrate --run-migrations=migrations.json --verbose # Verify there are no differences diff --git a/apps/nx-workshop-e2e/tests/nx-workshop.spec.ts b/apps/nx-workshop-e2e/tests/nx-workshop.spec.ts index e1538c1..468bd2a 100644 --- a/apps/nx-workshop-e2e/tests/nx-workshop.spec.ts +++ b/apps/nx-workshop-e2e/tests/nx-workshop.spec.ts @@ -77,7 +77,7 @@ describe('nx-react-workshop', () => { projectDirectory ); runNxCommand( - 'run-many --target=e2e --parallel=false --exclude=internal-plugin-e2e', + 'run-many --target=e2e --parallel=false', projectDirectory ); runNxCommand( @@ -87,6 +87,44 @@ describe('nx-react-workshop', () => { } ); + /** + * TODO: figure out what best approach for getProjects(tree) is + * + * Right now, if you call the removeGenerator for a project and then + * immediately call getProjects(tree), getProjects will throw. + * + * This is due to getProjects fetching a list of project.json files + * using globWithWorkspaceContextSync, which globs against the real + * filesystem rather than the in-memory tree. + * + * Once the list of project.json flies is fetched, the project details + * are they attempted to be fetched from the in-memory tree, which + * subsequently fails because we just deleted it. + * + * See: {@link https://github.com/nrwl/nx/blob/master/packages/nx/src/generators/utils/project-configuration.ts#L251} + * + * Re-enabling this test will recreate the issue as long as the current + * workspace has at least one project in it (which the previous test will create) + */ + it.skip('should support migrating from one version to another', () => { + runNxCommand( + `generate @nrwl/nx-react-workshop:complete-labs --from=1 --to=${LAB_COUNT}`, + projectDirectory + ); + runNxCommand( + 'migrate --run-migrations=migrations.json --verbose', + projectDirectory + ); + runNxCommand( + 'run-many --target=e2e --parallel=false', + projectDirectory + ); + runNxCommand( + 'run-many --target=lint --parallel=false', + projectDirectory + ); + }); + // NOTE: this test assumes that the current test project is in the final lab completed state it('complete-lab-1 migration should match an empty create-nx-workspace', () => { // Reset the test project to it's initial state using the "complete-lab-1" migration @@ -119,22 +157,6 @@ describe('nx-react-workshop', () => { expect(result.same).toBeTruthy(); }); }); - - it('should support migrating from one version to another', () => { - runNxCommand( - `generate @nrwl/nx-react-workshop:complete-labs --from=1 --to=${LAB_COUNT}`, - projectDirectory - ); - runNxCommand( - 'migrate --run-migrations=migrations.json --verbose', - projectDirectory - ); - runNxCommand( - 'run-many --target=e2e --parallel=false --exclude=internal-plugin-e2e', - projectDirectory - ); - runNxCommand('run-many --target=lint --parallel=false', projectDirectory); - }); }); }); diff --git a/docs/assets/lab2_cmds.png b/docs/assets/lab2_cmds.png index 99bea0b05bf5e556aff25a0811f9cac82292f0a3..4c1144bdeb6fa1750e07df93b4ccd9c173838b2d 100644 GIT binary patch literal 95829 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 ORH!~Qs2fbi>IA@?^Jc`MrbT^TFPqZ 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 diff --git a/docs/assets/lab2_cmds.svg b/docs/assets/lab2_cmds.svg new file mode 100644 index 0000000..04a137d --- /dev/null +++ b/docs/assets/lab2_cmds.svg @@ -0,0 +1,290 @@ + + + +@org/packageName:generatorNamegenerate.....nxInvoke the Nx CLIuse "generate" to invoke a generatoroptions to send to the generatoruse "--help" to see themNote: The "@org/packageName:" is optionalWhen omitted, nx will prompt you to select oneif multiple plugins use the same generatorNameor "g" as a shorthand diff --git a/docs/lab2/LAB.md b/docs/lab2/LAB.md index 3cc8a5a..06d9dc2 100644 --- a/docs/lab2/LAB.md +++ b/docs/lab2/LAB.md @@ -23,28 +23,38 @@ In this lab we'll generate our first React application within the new monorepo. - install the CLI globally: `npm i -g nx` - if you don't want to install it globally, use `npx/yarn/pnpm nx` (depending on the installed package manager) instead of `nx` in all the commands in the upcoming labs - > Please make sure you are using the latest version of Nx (17+) + > Please make sure you are using the latest version of Nx (19+) >
2. Run `nx list` to see which plugins you have installed
-3. Add the React plugin: `npm i -S @nx/react` (or `yarn add @nx/react` or `pnpm add @nx/react`) +3. Add the React plugin: `nx add @nx/react`
-4. Let's also add Material UI so we can use some of their components: `npm i -S @mui/material @emotion/react @emotion/styled` (or `yarn add ...` or `pnpm add ...`) +4. Let's also add Material UI so we can use some of their components: + ```sh + npm i -S @mui/material @emotion/react @emotion/styled + # (or `yarn add ...` or `pnpm add ...`) + ```
-5. Use the [`@nx/react` plugin](https://nx.dev/nx-api/react/generators/application) to generate an React app called `store` in your new workspace +5. Use the [`@nx/react` plugin](https://nx.dev/nx-api/react/generators/application) to generate an React app called `store` in the `apps` directory of your new workspace by passing the `--directory=apps/store` option. - ⚠️**Important:** Make sure you **add React Router**, select **SCSS** as a style, select **cypress** as E2E test runner, and use the **Webpack** bundler when asked! + ⚠️**Important** Make sure to select the following when prompted: + + - **SCSS** as a stylesheet format + - add **React Router** + - **cypress** as the E2E test runner + - **Webpack** for bundling + - use the project name and location **[As Provided](https://nx.dev/deprecated/as-provided-vs-derived)**

🐳   Hint Nx generate cmd structure

-6. Create a `fake-api.ts` file in your new app's `src` folder that returns an array of some games (you can just copy the code from [here](../../examples/lab2/apps/store/src/fake-api/index.ts)) +6. Create a `fake-api/index.ts` file in your new app's `src` folder that returns an array of some games (you can just copy the code from [here](../../examples/lab2/apps/store/src/fake-api.ts)) ⏳**Reminder:** When you are given example files to copy, the folder they're in hints to the _folder_ and _filename_ you can place them in when you do the copying
diff --git a/docs/lab2/SOLUTION.md b/docs/lab2/SOLUTION.md index 00fae07..2226cba 100644 --- a/docs/lab2/SOLUTION.md +++ b/docs/lab2/SOLUTION.md @@ -1,5 +1,8 @@ ##### To generate a new React application: ```shell -nx generate @nx/react:application store --directory=apps/store # or `nx g app store --directory=apps/store` +nx generate @nx/react:application store --directory=apps/store --style=scss --routing --e2eTestRunner=cypress --bundler=webpack + +# Alternatively using the shorthand +nx g app store --directory=apps/store # the rest of the arguments are the same ``` diff --git a/libs/nx-react-workshop/package.json b/libs/nx-react-workshop/package.json index 9273f03..26ea364 100644 --- a/libs/nx-react-workshop/package.json +++ b/libs/nx-react-workshop/package.json @@ -17,6 +17,7 @@ "@nx/express": "19.7.2", "@nx/react": "19.7.2", "@nx/nest": "19.7.2", - "@nx/next": "19.7.2" + "@nx/next": "19.7.2", + "typescript": "5.5.4" } } diff --git a/libs/nx-react-workshop/src/migrations/complete-lab-1/complete-lab-1.ts b/libs/nx-react-workshop/src/migrations/complete-lab-1/complete-lab-1.ts index 5b53d43..2563d41 100644 --- a/libs/nx-react-workshop/src/migrations/complete-lab-1/complete-lab-1.ts +++ b/libs/nx-react-workshop/src/migrations/complete-lab-1/complete-lab-1.ts @@ -11,39 +11,13 @@ import { removeGenerator } from '@nx/workspace'; import { execSync } from 'child_process'; export default async function update(tree: Tree) { - // npx create-nx-workspace bg-hoard --preset=empty --no-nx-cloud - const projects = getProjects(tree); - const projectsToRemove = [ - 'store-e2e', - 'store', - 'api', - 'api-e2e', - 'api-util-interface', - 'util-interface', - 'store-feature-game-detail', - 'ui-shared', - 'store-ui-shared', - 'store-ui-shared-e2e', - 'store-util-formatters', - 'api-util-notifications', - 'admin-ui', - 'admin-ui-e2e', - 'internal-plugin', - 'internal-plugin-e2e', - ].filter((removeProject) => projects.has(removeProject)); - projectsToRemove.forEach( - async (projectName) => - await removeGenerator(tree, { - projectName, - skipFormat: true, - forceRemove: true, - }) - ); - // hack to fix remove generator - updateJson(tree, 'tsconfig.base.json', (json) => { - json.compilerOptions.paths = {}; - return json; - }); + for (const [projectName] of getProjects(tree)) { + await removeGenerator(tree, { + projectName, + skipFormat: true, + forceRemove: true, + }); + } // Lab 2 [ @@ -53,11 +27,7 @@ export default async function update(tree: Tree) { 'jest.preset.js', ].forEach((file) => tree.delete(file)); - // Lab 13 - tree.delete('tools/generators/util-lib'); - // Lab 14 - tree.delete('tools/generators/update-scope-schema'); tree.delete('.husky'); // Lab 15 @@ -65,14 +35,12 @@ export default async function update(tree: Tree) { // Lab 19 if (tree.exists('.nx-workshop.json')) { const { flyName } = readJson(tree, '.nx-workshop.json'); - const flyApps = await execSync(`fly apps list`).toString(); + const flyApps = execSync(`fly apps list`).toString(); if (flyApps.includes(flyName)) { execSync(`fly apps destroy ${flyName} --yes`); } tree.delete('.nx-workshop.json'); } - // Lab 19-alt - tree.delete('tools/generators/add-deploy-target'); // Lab 21 tree.delete('.github/workflows/deploy.yml'); @@ -88,6 +56,7 @@ export default async function update(tree: Tree) { }; // Keep nxCloudAccessToken if they connected their repo to Nx Cloud + // TODO: migrate to PATs and keep ID here instead? if (json.nxCloudAccessToken) { newJson['nxCloudAccessToken'] = json.nxCloudAccessToken; } @@ -127,7 +96,4 @@ export default async function update(tree: Tree) { ); await formatFiles(tree); - return () => { - installPackagesTask(tree); - }; } From b5a120f0eddb9e3cdd122d9ee8a77bab73238c77 Mon Sep 17 00:00:00 2001 From: Steven Nance Date: Wed, 18 Sep 2024 19:04:12 +0200 Subject: [PATCH 2/5] WIP --- .github/CONTRIBUTING.md | 48 +++ .../lab2/apps/store-e2e/src/e2e/app.cy.ts | 9 + libs/nx-react-workshop/package.json | 1 + libs/nx-react-workshop/project.json | 5 + .../complete-lab-2/complete-lab-2.ts | 336 +++++++++--------- .../nx-react-workshop/src/migrations/utils.ts | 13 +- package.json | 3 +- yarn.lock | 36 +- 8 files changed, 270 insertions(+), 181 deletions(-) create mode 100644 examples/lab2/apps/store-e2e/src/e2e/app.cy.ts diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 133ce13..55d722d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -76,3 +76,51 @@ When updating: # Verify there are no differences git status # should show no changes ``` + +
+A helper utility script + +```bash +#! /usr/bin/env bash + +set -euxo pipefail + +if [ $# -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +LAB_NUMBER="$1" +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +if [ ! -z "$(git status --porcelain)" ]; then + echo "Local changes detected. Please commit or stash them before running this script." + exit 1 +fi + +step () { + echo -e "\n\n${YELLOW}>>>> $1${NC}\n\n" +} + +step "Updating to latest lab utility:" +npm i @nrwl/nx-react-workshop@latest +git add package*.json && git commit -m "chore: update to latest lab utility" || true + + +step "Resetting workspace to initial state:" +nx g complete-labs 1 +nx migrate --run-migrations=migrations.json --verbose +nx reset +sleep 1 # give the daemon a chance to restart +nx show projects # should be empty + +step "Migrating to lab $LAB_NUMBER:" +nx g complete-labs --from=2 --to=$LAB_NUMBER +nx migrate --run-migrations=migrations.json --verbose + +step "Checking git status, this should be clean:" +git status + +``` +
diff --git a/examples/lab2/apps/store-e2e/src/e2e/app.cy.ts b/examples/lab2/apps/store-e2e/src/e2e/app.cy.ts new file mode 100644 index 0000000..eb34e7b --- /dev/null +++ b/examples/lab2/apps/store-e2e/src/e2e/app.cy.ts @@ -0,0 +1,9 @@ +describe('store', () => { + beforeEach(() => cy.visit('/')); + + it('should have 3 games', () => { + cy.contains('Settlers in the Can'); + cy.contains('Chess Pie'); + cy.contains('Purrfection'); + }); +}); diff --git a/libs/nx-react-workshop/package.json b/libs/nx-react-workshop/package.json index 26ea364..5424d10 100644 --- a/libs/nx-react-workshop/package.json +++ b/libs/nx-react-workshop/package.json @@ -18,6 +18,7 @@ "@nx/react": "19.7.2", "@nx/nest": "19.7.2", "@nx/next": "19.7.2", + "@nx/webpack": "19.7.2", "typescript": "5.5.4" } } diff --git a/libs/nx-react-workshop/project.json b/libs/nx-react-workshop/project.json index 8cf0b6c..69c0a84 100644 --- a/libs/nx-react-workshop/project.json +++ b/libs/nx-react-workshop/project.json @@ -49,6 +49,11 @@ "input": "./libs/nx-react-workshop", "glob": "migrations.json", "output": "." + }, + { + "input": "./examples", + "glob": "**/*", + "output": "./examples" } ], "updateBuildableProjectDepsInPackageJson": true diff --git a/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts b/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts index b43c116..826dc0a 100644 --- a/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts +++ b/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts @@ -1,14 +1,8 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ -import { - addDependenciesToPackageJson, - formatFiles, - installPackagesTask, - Tree, -} from '@nx/devkit'; +import { addDependenciesToPackageJson, formatFiles, Tree } from '@nx/devkit'; import { dependencies } from '../../../package.json'; import { applicationGenerator } from '@nx/react'; import { Linter } from '@nx/eslint'; -import fetch from 'node-fetch'; +import { generateLabExamples } from '../utils'; export default async function update(tree: Tree) { await addDependenciesToPackageJson( @@ -21,8 +15,8 @@ export default async function update(tree: Tree) { { '@nx/react': dependencies['@nx/react'], } - ); - process.env.NX_PROJECT_GLOB_CACHE = 'false'; + )(); + await applicationGenerator(tree, { name: 'store', e2eTestRunner: 'cypress', @@ -34,165 +28,165 @@ export default async function update(tree: Tree) { unitTestRunner: 'jest', routing: true, }); - process.env.NX_PROJECT_GLOB_CACHE = 'true'; - tree.write( - 'apps/store/src/fake-api.ts', - `const games = [ - { - id: 'settlers-in-the-can', - name: 'Settlers in the Can', - image: '/assets/beans.png', // 'https://media.giphy.com/media/xUNda3pLJEsg4Nedji/giphy.gif', - description: - 'Help your bug family claim the best real estate in a spilled can of beans.', - price: 35, - rating: Math.random() - }, - { - id: 'chess-pie', - name: 'Chess Pie', - image: '/assets/chess.png', // 'https://media.giphy.com/media/iCZyBnPBLr0dy/giphy.gif', - description: 'A circular game of Chess that you can eat as you play.', - price: 15, - rating: Math.random() - }, - { - id: 'purrfection', - name: 'Purrfection', - image: '/assets/cat.png', // 'https://media.giphy.com/media/12xMvwvQXJNx0k/giphy.gif', - description: 'A cat grooming contest goes horribly wrong.', - price: 45, - rating: Math.random() - } - ]; - - export const getAllGames = () => games; - export const getGame = (id: string) => games.find(game => game.id === id); - ` - ); - tree.write( - 'apps/store/src/app/app.module.scss', - `.games-layout { - display: flex; - justify-content: space-between; - margin-bottom: 20px; - } - - .container { - max-width: 800px; - margin: 50px auto; - } - - .game-card { - max-width: 250px; - display: flex; - flex-direction: column; - justify-content: space-between; - - .game-rating { - padding-top: 10px; - } - } - - .center-content { - display: flex; - justify-content: center; - } - - .game-details { - display: flex; - flex-direction: column; - margin: 0; - } - - .game-card-media { - height: 140px; - } - ` - ); - tree.write( - 'apps/store/src/app/app.tsx', - `import styles from './app.module.scss'; - import { getAllGames } from '../fake-api'; - - import Card from '@mui/material/Card'; - import CardActionArea from '@mui/material/CardActionArea'; - import CardContent from '@mui/material/CardContent'; - import CardMedia from '@mui/material/CardMedia'; - import Typography from '@mui/material/Typography'; - - export const App = () => { - return ( -
-
- {getAllGames().map((x) => ( - - - - - - {x.name} - - - {x.description} - - - Rating: {x.rating} - - - - - ))} -
-
- ); - }; - - export default App; - ` - ); - tree.write( - 'apps/store-e2e/src/e2e/app.cy.ts', - `describe('store', () => { - beforeEach(() => cy.visit('/')); - - it('should have 3 games', () => { - cy.contains('Settlers in the Can'); - cy.contains('Chess Pie'); - cy.contains('Purrfection'); - }); - }); - ` - ); - formatFiles(tree); - async function download(uri: string, filename: string) { - await fetch(uri) - .then(async (res) => Buffer.from(await res.arrayBuffer())) - .then((buffer) => { - tree.write(filename, buffer); - }); - } - await download( - 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/beans.png', - 'apps/store/src/assets/beans.png' - ); - await download( - 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/cat.png', - 'apps/store/src/assets/cat.png' - ); - await download( - 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/chess.png', - 'apps/store/src/assets/chess.png' - ); - return async () => { - installPackagesTask(tree); - }; + + generateLabExamples(tree, 2); + + await formatFiles(tree); + + // tree.write( + // 'apps/store/src/fake-api.ts', + // `const games = [ + // { + // id: 'settlers-in-the-can', + // name: 'Settlers in the Can', + // image: '/assets/beans.png', // 'https://media.giphy.com/media/xUNda3pLJEsg4Nedji/giphy.gif', + // description: + // 'Help your bug family claim the best real estate in a spilled can of beans.', + // price: 35, + // rating: Math.random() + // }, + // { + // id: 'chess-pie', + // name: 'Chess Pie', + // image: '/assets/chess.png', // 'https://media.giphy.com/media/iCZyBnPBLr0dy/giphy.gif', + // description: 'A circular game of Chess that you can eat as you play.', + // price: 15, + // rating: Math.random() + // }, + // { + // id: 'purrfection', + // name: 'Purrfection', + // image: '/assets/cat.png', // 'https://media.giphy.com/media/12xMvwvQXJNx0k/giphy.gif', + // description: 'A cat grooming contest goes horribly wrong.', + // price: 45, + // rating: Math.random() + // } + // ]; + + // export const getAllGames = () => games; + // export const getGame = (id: string) => games.find(game => game.id === id); + // ` + // ); + // tree.write( + // 'apps/store/src/app/app.module.scss', + // `.games-layout { + // display: flex; + // justify-content: space-between; + // margin-bottom: 20px; + // } + + // .container { + // max-width: 800px; + // margin: 50px auto; + // } + + // .game-card { + // max-width: 250px; + // display: flex; + // flex-direction: column; + // justify-content: space-between; + + // .game-rating { + // padding-top: 10px; + // } + // } + + // .center-content { + // display: flex; + // justify-content: center; + // } + + // .game-details { + // display: flex; + // flex-direction: column; + // margin: 0; + // } + + // .game-card-media { + // height: 140px; + // } + // ` + // ); + // tree.write( + // 'apps/store/src/app/app.tsx', + // `import styles from './app.module.scss'; + // import { getAllGames } from '../fake-api'; + + // import Card from '@mui/material/Card'; + // import CardActionArea from '@mui/material/CardActionArea'; + // import CardContent from '@mui/material/CardContent'; + // import CardMedia from '@mui/material/CardMedia'; + // import Typography from '@mui/material/Typography'; + + // export const App = () => { + // return ( + //
+ //
+ // {getAllGames().map((x) => ( + // + // + // + // + // + // {x.name} + // + // + // {x.description} + // + // + // Rating: {x.rating} + // + // + // + // + // ))} + //
+ //
+ // ); + // }; + + // export default App; + // ` + // ); + // tree.write( + // 'apps/store-e2e/src/e2e/app.cy.ts', + // `describe('store', () => { + // beforeEach(() => cy.visit('/')); + + // it('should have 3 games', () => { + // cy.contains('Settlers in the Can'); + // cy.contains('Chess Pie'); + // cy.contains('Purrfection'); + // }); + // }); + // ` + // ); + // async function download(uri: string, filename: string) { + // await fetch(uri) + // .then(async (res) => Buffer.from(await res.arrayBuffer())) + // .then((buffer) => { + // tree.write(filename, buffer); + // }); + // } + // await download( + // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/beans.png', + // 'apps/store/src/assets/beans.png' + // ); + // await download( + // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/cat.png', + // 'apps/store/src/assets/cat.png' + // ); + // await download( + // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/chess.png', + // 'apps/store/src/assets/chess.png' + // ); } diff --git a/libs/nx-react-workshop/src/migrations/utils.ts b/libs/nx-react-workshop/src/migrations/utils.ts index eae14fd..8826135 100644 --- a/libs/nx-react-workshop/src/migrations/utils.ts +++ b/libs/nx-react-workshop/src/migrations/utils.ts @@ -1,6 +1,7 @@ -import { Tree } from '@nx/devkit'; +import { generateFiles, OverwriteStrategy, Tree } from '@nx/devkit'; import * as ts from 'typescript'; import { insertImport as astInsertImport } from '@nx/js'; +import { join } from 'path'; export function replaceInFile( host: Tree, @@ -36,3 +37,13 @@ export function stripConsoleColors(log: string): string { '' ); } + +export function generateLabExamples(tree: Tree, labNumber: number) { + generateFiles( + tree, + join(__dirname, `../../examples/lab${labNumber}`), + './', + {}, + { overwriteStrategy: OverwriteStrategy.Overwrite } + ); +} diff --git a/package.json b/package.json index 9b93e1c..8cf9024 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,9 @@ "@nx/plugin": "19.7.2", "@nx/react": "19.7.2", "@nx/storybook": "19.7.2", + "@nx/webpack": "19.7.2", "@nx/workspace": "19.7.2", - "@phenomnomnominal/tsquery": "^4.1.1", + "@phenomnomnominal/tsquery": "^6.1.3", "@storybook/addon-webpack5-compiler-swc": "^1.0.5", "@swc-node/register": "~1.9.1", "@swc/core": "1.5.7", diff --git a/yarn.lock b/yarn.lock index 2af2ef9..f0480f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6017,8 +6017,9 @@ __metadata: "@nx/plugin": "npm:19.7.2" "@nx/react": "npm:19.7.2" "@nx/storybook": "npm:19.7.2" + "@nx/webpack": "npm:19.7.2" "@nx/workspace": "npm:19.7.2" - "@phenomnomnominal/tsquery": "npm:^4.1.1" + "@phenomnomnominal/tsquery": "npm:^6.1.3" "@storybook/addon-interactions": "npm:^8.2.9" "@storybook/addon-webpack5-compiler-swc": "npm:^1.0.5" "@storybook/builder-webpack5": "npm:^8.2.9" @@ -6549,14 +6550,15 @@ __metadata: languageName: node linkType: hard -"@phenomnomnominal/tsquery@npm:^4.1.1": - version: 4.1.1 - resolution: "@phenomnomnominal/tsquery@npm:4.1.1" +"@phenomnomnominal/tsquery@npm:^6.1.3": + version: 6.1.3 + resolution: "@phenomnomnominal/tsquery@npm:6.1.3" dependencies: - esquery: "npm:^1.0.1" + "@types/esquery": "npm:^1.5.0" + esquery: "npm:^1.5.0" peerDependencies: - typescript: ^3 || ^4 - checksum: cd600f67232dca9c58457257d607c10d271721758de515a3d9642eff53da0e3e13985403192644b5d359b05add29804e899832ef622a79d68661dba5fdf8f6d4 + typescript: ^3 || ^4 || ^5 + checksum: 484e408fd85bf5b7f84290f1639af175956697369bcadd150a5fa405f3514a3212e1794760723a55935ede977f27db2341faf518cb902e4abfd3a9c9ae24d102 languageName: node linkType: hard @@ -7926,6 +7928,15 @@ __metadata: languageName: node linkType: hard +"@types/esquery@npm:^1.5.0": + version: 1.5.4 + resolution: "@types/esquery@npm:1.5.4" + dependencies: + "@types/estree": "npm:*" + checksum: a9fdd09d42ce2e94a8bcb59fbeb56e87f65c0c140747a64e70f55ceb8cd41b12f0ee5daf6c1e6eee51bc05b7d90e51cebc607dab22c3657d4b9aa299bf4e9873 + languageName: node + linkType: hard + "@types/estree@npm:*": version: 0.0.50 resolution: "@types/estree@npm:0.0.50" @@ -13724,7 +13735,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.0.1, esquery@npm:^1.4.0": +"esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" dependencies: @@ -13742,6 +13753,15 @@ __metadata: languageName: node linkType: hard +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + "esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" From e689aecab1a5087fc1d935b8e5c2e285c1d42a74 Mon Sep 17 00:00:00 2001 From: Steven Nance Date: Wed, 18 Sep 2024 19:05:53 +0200 Subject: [PATCH 3/5] chore: update to nx 19.7.4 --- libs/nx-react-workshop/package.json | 16 +- package.json | 30 +- yarn.lock | 543 ++++++++++++++-------------- 3 files changed, 294 insertions(+), 295 deletions(-) diff --git a/libs/nx-react-workshop/package.json b/libs/nx-react-workshop/package.json index 5424d10..4e44bae 100644 --- a/libs/nx-react-workshop/package.json +++ b/libs/nx-react-workshop/package.json @@ -11,14 +11,14 @@ "cors": "*", "node-fetch": "^2.x", "surge": "*", - "@nx/workspace": "19.7.2", - "@nx/storybook": "19.7.2", - "@nx/plugin": "19.7.2", - "@nx/express": "19.7.2", - "@nx/react": "19.7.2", - "@nx/nest": "19.7.2", - "@nx/next": "19.7.2", - "@nx/webpack": "19.7.2", + "@nx/workspace": "19.7.4", + "@nx/storybook": "19.7.4", + "@nx/plugin": "19.7.4", + "@nx/express": "19.7.4", + "@nx/react": "19.7.4", + "@nx/nest": "19.7.4", + "@nx/next": "19.7.4", + "@nx/webpack": "19.7.4", "typescript": "5.5.4" } } diff --git a/package.json b/package.json index 8cf9024..ca39693 100644 --- a/package.json +++ b/package.json @@ -19,20 +19,20 @@ }, "devDependencies": { "@chromatic-com/storybook": "^1", - "@nx/devkit": "19.7.2", - "@nx/eslint": "19.7.2", - "@nx/eslint-plugin": "19.7.2", - "@nx/express": "19.7.2", - "@nx/jest": "19.7.2", - "@nx/js": "19.7.2", - "@nx/nest": "19.7.2", - "@nx/next": "19.7.2", - "@nx/node": "19.7.2", - "@nx/plugin": "19.7.2", - "@nx/react": "19.7.2", - "@nx/storybook": "19.7.2", - "@nx/webpack": "19.7.2", - "@nx/workspace": "19.7.2", + "@nx/devkit": "19.7.4", + "@nx/eslint": "19.7.4", + "@nx/eslint-plugin": "19.7.4", + "@nx/express": "19.7.4", + "@nx/jest": "19.7.4", + "@nx/js": "19.7.4", + "@nx/nest": "19.7.4", + "@nx/next": "19.7.4", + "@nx/node": "19.7.4", + "@nx/plugin": "19.7.4", + "@nx/react": "19.7.4", + "@nx/storybook": "19.7.4", + "@nx/webpack": "19.7.4", + "@nx/workspace": "19.7.4", "@phenomnomnominal/tsquery": "^6.1.3", "@storybook/addon-webpack5-compiler-swc": "^1.0.5", "@swc-node/register": "~1.9.1", @@ -51,7 +51,7 @@ "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "node-fetch": "^2.6.1", - "nx": "19.7.2", + "nx": "19.7.4", "prettier": "2.6.2", "ts-jest": "29.1.0", "ts-node": "10.9.1", diff --git a/yarn.lock b/yarn.lock index f0480f5..28d267e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5910,93 +5910,93 @@ __metadata: languageName: node linkType: hard -"@nrwl/cypress@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/cypress@npm:19.7.2" +"@nrwl/cypress@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/cypress@npm:19.7.4" dependencies: - "@nx/cypress": "npm:19.7.2" - checksum: 33dc3b597c73e07842e2671dd3fc74beace76df42e5e05556ff540dc4d8e74091206b81e0c3c7f5cba7bd6b47059b3c59b454f158696498f5c08b9f960941e0e + "@nx/cypress": "npm:19.7.4" + checksum: 179ce706de54df360447a446e18af0943de9ffe466c1aa32d346808e81864cf480d104a268c7d3157314bb5fd51cf45113b89034f6dbafccf5523318fed5efac languageName: node linkType: hard -"@nrwl/devkit@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/devkit@npm:19.7.2" +"@nrwl/devkit@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/devkit@npm:19.7.4" dependencies: - "@nx/devkit": "npm:19.7.2" - checksum: ba74aa7ef136003dc9b829c90efdff53c1423b90408ef68cad14b525a69ea9e8643b5846c24ef634f7cf0f7ca99e08b2ce7e82a50b1659839f6d0dd458c30697 + "@nx/devkit": "npm:19.7.4" + checksum: c9e4b2091b7463a03e4e35df4ecabd371f17893c419dc361587915c9d6e456d1e3f7bdd4055e32b1c152ecf86686d46714a2af8fd481b3c3f6e8f15f0d9bba61 languageName: node linkType: hard -"@nrwl/eslint-plugin-nx@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/eslint-plugin-nx@npm:19.7.2" +"@nrwl/eslint-plugin-nx@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/eslint-plugin-nx@npm:19.7.4" dependencies: - "@nx/eslint-plugin": "npm:19.7.2" - checksum: b7656350002dde2a42e3208bb3799c607c5be02310265d6b433cb1d29299e275be9304c3a754500cc15f3dae7ad9d3da557e0af3180593eb5b557a4d8166b420 + "@nx/eslint-plugin": "npm:19.7.4" + checksum: 8f240a0166a745c1aa9e93f100a866a0c092f08bf5354192f80e1122be202630232c1b3054887397f865130793e26cea7c359d20f41cf0e1033b8ed389600eb5 languageName: node linkType: hard -"@nrwl/express@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/express@npm:19.7.2" +"@nrwl/express@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/express@npm:19.7.4" dependencies: - "@nx/express": "npm:19.7.2" - checksum: a76a82e1b309eddb10d1ce89635b8e78eb13ae9e1f2bff56bd958faa6914c8377a0ab92e1de34081adfece86009dd14af3a7c3d6ac50fef04fd3a57772cad375 + "@nx/express": "npm:19.7.4" + checksum: 8eaf4d31ef3624ed592deb49e959b19028e8672f18a7c986b74734651bc7f226b699a49d68c7b4028036b9bcd76e2df5ea37350a022505ff7e0ac65837668d54 languageName: node linkType: hard -"@nrwl/jest@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/jest@npm:19.7.2" +"@nrwl/jest@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/jest@npm:19.7.4" dependencies: - "@nx/jest": "npm:19.7.2" - checksum: a48f40a1a32331f1f33afd9a14b78f53e34340c5a150fccd01fed71911de1a278c3a181638ed23a39b421f25703fe78d94c1c72303d0ae0532d6e297d4792fc9 + "@nx/jest": "npm:19.7.4" + checksum: a350c021a779fab44d2ad0e060f81448c66b7ca631079d3ef746f1c5b821a07fb41bb53700cb53900b5314b3b874a0804db2ed1966433bf7fa17d970618a04d3 languageName: node linkType: hard -"@nrwl/js@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/js@npm:19.7.2" +"@nrwl/js@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/js@npm:19.7.4" dependencies: - "@nx/js": "npm:19.7.2" - checksum: 600e6b23c9c8a29ce72a54ed93561d47d38b63121a2a06eb621cbb10a58156841f96584d527bba7c2ff7bbe309a68c3f3b46e7e5b5d3dbca02de61c0e13c709d + "@nx/js": "npm:19.7.4" + checksum: 27efd0ad6981c5220e06fd4fe9f7304dce297b02f06f5c609d0fb41d6eb81982e468a88b3fa9b484bd86a12a89aab068c042d58f9dee7113c675c891841eca77 languageName: node linkType: hard -"@nrwl/nest@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/nest@npm:19.7.2" +"@nrwl/nest@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/nest@npm:19.7.4" dependencies: - "@nx/nest": "npm:19.7.2" - checksum: 9671a115a0c922aa56f8d3d0031bd20d2c6c6b7664115db67a45d2fb0995c6d389fbf9f38f29b16c68ea37de3cbc332ebd1c4f3645e1c3636fcb0253aeaf656d + "@nx/nest": "npm:19.7.4" + checksum: 32bb05366f7d6cf3042cc86a215f266b2fb31b792b0aff1c8da0f6698572d277f0f340a424d6fd011cc8f6d7f4b438401def446d13487bcf68976ef3d50df777 languageName: node linkType: hard -"@nrwl/next@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/next@npm:19.7.2" +"@nrwl/next@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/next@npm:19.7.4" dependencies: - "@nx/next": "npm:19.7.2" - checksum: a46d957568cfcbba319305d5021fb3149c8b4af3986778af7a7533b368640ef03c61a97049a0408c5d6922df73ca0be96c6053a1b19891acdb83cdd0760c5dcb + "@nx/next": "npm:19.7.4" + checksum: 7874093b73b97de88a8ecacfe6c2122786836625d1dbd04e8e89ae56a87fc586d3adeece41406fc4cb259ef1ca5af8f41c8c29b4be3b251912a6653d8d75d2a8 languageName: node linkType: hard -"@nrwl/node@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/node@npm:19.7.2" +"@nrwl/node@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/node@npm:19.7.4" dependencies: - "@nx/node": "npm:19.7.2" - checksum: 8b824bd263f48b4466aab9c1d7589dd21968e9afe6c6d2e5fbe363748354e5be3e1bee0c0d114bc4f979025b4f1911ab6d701b13b7b0386f34574649037d9b00 + "@nx/node": "npm:19.7.4" + checksum: 57505f7672181d69f7bc24c14e7bd40bc6326c28726348d3cb178045522381295842019836c7279ef45d3568ec4a61d4937f93a219779b241e439b6a2d45f548 languageName: node linkType: hard -"@nrwl/nx-plugin@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/nx-plugin@npm:19.7.2" +"@nrwl/nx-plugin@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/nx-plugin@npm:19.7.4" dependencies: - "@nx/plugin": "npm:19.7.2" - checksum: 8f6c350c8777cb91b33d9bd9707f1d32a9fbb70583bb799c197389f23f859952cff06d968b5b66b5b64645b955ba863e8d38c0ad5827ef72c127fce8552ee972 + "@nx/plugin": "npm:19.7.4" + checksum: 675f16e162aea1375df738ac1d16ef52c6e77b8094228b234b2e3f98f7f7e3fb70c992cec02de1f8f886185377db0d5d5a92b4272043ba6a97972e564b0cadad languageName: node linkType: hard @@ -6005,20 +6005,20 @@ __metadata: resolution: "@nrwl/nx-react-workshop@workspace:." dependencies: "@chromatic-com/storybook": "npm:^1" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/eslint-plugin": "npm:19.7.2" - "@nx/express": "npm:19.7.2" - "@nx/jest": "npm:19.7.2" - "@nx/js": "npm:19.7.2" - "@nx/nest": "npm:19.7.2" - "@nx/next": "npm:19.7.2" - "@nx/node": "npm:19.7.2" - "@nx/plugin": "npm:19.7.2" - "@nx/react": "npm:19.7.2" - "@nx/storybook": "npm:19.7.2" - "@nx/webpack": "npm:19.7.2" - "@nx/workspace": "npm:19.7.2" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/eslint-plugin": "npm:19.7.4" + "@nx/express": "npm:19.7.4" + "@nx/jest": "npm:19.7.4" + "@nx/js": "npm:19.7.4" + "@nx/nest": "npm:19.7.4" + "@nx/next": "npm:19.7.4" + "@nx/node": "npm:19.7.4" + "@nx/plugin": "npm:19.7.4" + "@nx/react": "npm:19.7.4" + "@nx/storybook": "npm:19.7.4" + "@nx/webpack": "npm:19.7.4" + "@nx/workspace": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:^6.1.3" "@storybook/addon-interactions": "npm:^8.2.9" "@storybook/addon-webpack5-compiler-swc": "npm:^1.0.5" @@ -6041,7 +6041,7 @@ __metadata: jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" node-fetch: "npm:^2.6.1" - nx: "npm:19.7.2" + nx: "npm:19.7.4" prettier: "npm:2.6.2" react: "npm:18.3.1" react-dom: "npm:18.3.1" @@ -6055,71 +6055,71 @@ __metadata: languageName: unknown linkType: soft -"@nrwl/react@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/react@npm:19.7.2" +"@nrwl/react@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/react@npm:19.7.4" dependencies: - "@nx/react": "npm:19.7.2" - checksum: 07f88d3fbb221acd6bd7c44219212186e8c49fea3b1235cb294d34907f03d35b860ef722afb2361e7e2ce19d549ed6e072a42c467727722f237e94201fb7e7e0 + "@nx/react": "npm:19.7.4" + checksum: 55dc95b1948a7550e0fa07fb43c2b19b832c0bf2751d12145b978598f8ca51800b3c6a4da358bd85d8907fecd158a6469134446c66111f0968d22afe1e26c0fc languageName: node linkType: hard -"@nrwl/storybook@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/storybook@npm:19.7.2" +"@nrwl/storybook@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/storybook@npm:19.7.4" dependencies: - "@nx/storybook": "npm:19.7.2" - checksum: f6018e4c7c06c2403c53461e3d7ea42b7c1be89837db75f615700d6c56591a5c9c6c73b1ebd02ade5f94d184ff952486355999b3b485a9b0bb4f309b99684558 + "@nx/storybook": "npm:19.7.4" + checksum: 8147cfc5063040cfaa5425c08fc7370f74438965b32bc19e1e9048208d355ecb6b7d234ddd03e98c76c2e7f9aba36816e567ad08bf85f0af49cf1286037d2576 languageName: node linkType: hard -"@nrwl/tao@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/tao@npm:19.7.2" +"@nrwl/tao@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/tao@npm:19.7.4" dependencies: - nx: "npm:19.7.2" + nx: "npm:19.7.4" tslib: "npm:^2.3.0" bin: tao: index.js - checksum: 744d79e6b5697ad091edbca6875fab3307c5a21f8d4c1d11b2e7ea947177b96cf4811bcc31f43fa21fe06d4371fc440644eafda3ee79ebd97b5060ee755ef730 + checksum: 68c6349cb7e4d77ab6ff21f0d578ce391565233341d08e3eea04e86d201fbffc3211b774343a2bbc1ee9ac71de09490737d9dc4862d437845ec994d83d23c8c1 languageName: node linkType: hard -"@nrwl/web@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/web@npm:19.7.2" +"@nrwl/web@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/web@npm:19.7.4" dependencies: - "@nx/web": "npm:19.7.2" - checksum: 3112bfe47e4ab9514e1c82c34ae88bc627b0160eb346cb8afcf77a672447a0c9e190d0ba71e535e1c59252aba892bd8f7e6e9677f222bdc7778c3a9c600ebfc2 + "@nx/web": "npm:19.7.4" + checksum: d291bbd8f916ea411d792cc5f35c37fb24a9f8ee6cd6f602dbf48d788e57b72b770dab1d02c18afa40c2946882a8aadcfaeb2fbbc1b7f7cf908d224f4d79caf5 languageName: node linkType: hard -"@nrwl/webpack@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/webpack@npm:19.7.2" +"@nrwl/webpack@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/webpack@npm:19.7.4" dependencies: - "@nx/webpack": "npm:19.7.2" - checksum: 8625fe63f021af286724bcf4882b30092d570e913e38a31e4d6af1b4712ca80904c2aa4c85a61ee6922b4fd826d974cadfe97087bcf00e060c89231c60a9cdd3 + "@nx/webpack": "npm:19.7.4" + checksum: 92424bd360316fc58ec004ac67327d38d2057184478374e00b2eaedbcc2849d4963d390f666e18ed94307a2e606988f53f24b987a40a91de25b20eec11d13f4f languageName: node linkType: hard -"@nrwl/workspace@npm:19.7.2": - version: 19.7.2 - resolution: "@nrwl/workspace@npm:19.7.2" +"@nrwl/workspace@npm:19.7.4": + version: 19.7.4 + resolution: "@nrwl/workspace@npm:19.7.4" dependencies: - "@nx/workspace": "npm:19.7.2" - checksum: 1ba05b41bac30a7c1c5198183f82392b0f4ecc572613c12c1136a13a217da98878948378ba77b405280d79de1f7522f310ae264971fe1964f41a184bfcca12ef + "@nx/workspace": "npm:19.7.4" + checksum: 4b8774046303dcc4091633260f951ca16af4ebc3e7e859e8ecb09c4d27debfd8d7adb5747bbc8ac5d1015b92639fbd2da78717f986017226743bc8c78693a05a languageName: node linkType: hard -"@nx/cypress@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/cypress@npm:19.7.2" +"@nx/cypress@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/cypress@npm:19.7.4" dependencies: - "@nrwl/cypress": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/cypress": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/js": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" detect-port: "npm:^1.5.1" tslib: "npm:^2.3.0" @@ -6128,15 +6128,15 @@ __metadata: peerDependenciesMeta: cypress: optional: true - checksum: 960139a6b7ba1a4cb088fa724f50ea7afa1e2752b53e1bd4dcdc17c5d316ae3e06a35c7143e9064d3fd639036518e5679ce88639b5f8332e233745eea56dfd25 + checksum: 7bc2c7a22eba13ff08d312aa1530f3618b64f55d37938828d95106e2247a8844d49596c263c83e4ee49e53c1646d287d41c75076bcc66fbd54baaec847902995 languageName: node linkType: hard -"@nx/devkit@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/devkit@npm:19.7.2" +"@nx/devkit@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/devkit@npm:19.7.4" dependencies: - "@nrwl/devkit": "npm:19.7.2" + "@nrwl/devkit": "npm:19.7.4" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" @@ -6147,17 +6147,17 @@ __metadata: yargs-parser: "npm:21.1.1" peerDependencies: nx: ">= 17 <= 20" - checksum: 39c7622f0c40dd4247fd8c4d4426a4c9eae5cc227ef6ac337147402ab3147bb1f263c25d3ea8a453c69d42ae5ab144505562faecc33d923edb31523a188806b1 + checksum: 6de5e514c60c561f3eebdb98b06235011a6ebe943f6843748545e4719df3e1aeb37afba2890e031b896e727189aa1c27730fdc264a09b1a9de50b1723d69b96d languageName: node linkType: hard -"@nx/eslint-plugin@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/eslint-plugin@npm:19.7.2" +"@nx/eslint-plugin@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/eslint-plugin@npm:19.7.4" dependencies: - "@nrwl/eslint-plugin-nx": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/eslint-plugin-nx": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/js": "npm:19.7.4" "@typescript-eslint/type-utils": "npm:^7.16.0" "@typescript-eslint/utils": "npm:^7.16.0" chalk: "npm:^4.1.0" @@ -6171,17 +6171,17 @@ __metadata: peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: bd7f862493e5fdc067b90d1ebeff2fd1bdaafb6db06ff913d97bc540276c2eebca8cd804ed546654f2bdcd3baec89d4f0755f6ca89fa78e30b8c031435b20376 + checksum: d8c1740e58224a8124597d8edb9fd8563e2f0fccc2ed2daf674011b33d7044c9cc11c5ee2fa1caa18e6ce0d4042f95d92cbd13ecf83e3690e89b15e0f95fa55c languageName: node linkType: hard -"@nx/eslint@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/eslint@npm:19.7.2" +"@nx/eslint@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/eslint@npm:19.7.4" dependencies: - "@nx/devkit": "npm:19.7.2" - "@nx/js": "npm:19.7.2" - "@nx/linter": "npm:19.7.2" + "@nx/devkit": "npm:19.7.4" + "@nx/js": "npm:19.7.4" + "@nx/linter": "npm:19.7.4" semver: "npm:^7.5.3" tslib: "npm:^2.3.0" typescript: "npm:~5.4.2" @@ -6191,36 +6191,36 @@ __metadata: peerDependenciesMeta: "@zkochan/js-yaml": optional: true - checksum: c1ce4dc9221aeed03cb1662724706d444246d700ef962d3775cb0d6bf87f6f09a6647b3066d7a64302910ef67e35ca1e4767701a100078f2c2d781684496af07 + checksum: d89b0fe41181f7b4445d0c1d69c7e02dc49df6415cdfc95cf38f08bce23ca1ce492be1fb50d88473f3c3209f7ce84403cd9af655050bdcc0113aebd9b149a8ca languageName: node linkType: hard -"@nx/express@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/express@npm:19.7.2" +"@nx/express@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/express@npm:19.7.4" dependencies: - "@nrwl/express": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/node": "npm:19.7.2" + "@nrwl/express": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/node": "npm:19.7.4" tslib: "npm:^2.3.0" peerDependencies: express: ^4.18.1 peerDependenciesMeta: express: optional: true - checksum: 86994f0ffe998c9113f7644c780e433f04312350e085eee46db9e10db40a0518f170706d29a785f3baa15bb33f9f096153fd6e1df1ad715e6de0de4cbac621f4 + checksum: 2a5d48c2c1c2cd17c94674a67f5b74eb09049adb6391cf041e6e51d96fc25f6d847e30a70f072da52b8f475ac4de5771c80a8f4bdc2a6b1cea75f6038834683b languageName: node linkType: hard -"@nx/jest@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/jest@npm:19.7.2" +"@nx/jest@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/jest@npm:19.7.4" dependencies: "@jest/reporters": "npm:^29.4.1" "@jest/test-result": "npm:^29.4.1" - "@nrwl/jest": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/jest": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/js": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" chalk: "npm:^4.1.0" identity-obj-proxy: "npm:3.0.0" @@ -6232,13 +6232,13 @@ __metadata: semver: "npm:^7.5.3" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" - checksum: a44dfdb82203a57c0bcc5f69a6a723bc359bedc1b7df41b4308709876e69b047667ad50c56e34f2569a06f1c812f2fc3fa4452099eaa0b4f83ba6a68a2aac50b + checksum: 466a0a987b417f22d4582530adf8cab8b0aa93d0d70a743991e1d8f098b7a08191545e62063569a4f3d4510c5262d4f4af71c2a5b93cac30ef119b77e2fede13 languageName: node linkType: hard -"@nx/js@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/js@npm:19.7.2" +"@nx/js@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/js@npm:19.7.4" dependencies: "@babel/core": "npm:^7.23.2" "@babel/plugin-proposal-decorators": "npm:^7.22.7" @@ -6247,9 +6247,9 @@ __metadata: "@babel/preset-env": "npm:^7.23.2" "@babel/preset-typescript": "npm:^7.22.5" "@babel/runtime": "npm:^7.22.6" - "@nrwl/js": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/workspace": "npm:19.7.2" + "@nrwl/js": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/workspace": "npm:19.7.4" babel-plugin-const-enum: "npm:^1.0.1" babel-plugin-macros: "npm:^2.8.0" babel-plugin-transform-typescript-metadata: "npm:^0.3.1" @@ -6257,7 +6257,6 @@ __metadata: columnify: "npm:^1.6.0" detect-port: "npm:^1.5.1" fast-glob: "npm:3.2.7" - fs-extra: "npm:^11.1.0" ignore: "npm:^5.0.4" js-tokens: "npm:^4.0.0" jsonc-parser: "npm:3.2.0" @@ -6275,48 +6274,48 @@ __metadata: peerDependenciesMeta: verdaccio: optional: true - checksum: 84cf202f07c4632da868afa60b165493663d51ad7eb4f070960e17eca7464a1a731073e974dfeaeef5b1f90ea6a1de52b3a1f448f7afb1a2c96ca13074e5ad22 + checksum: fc1b2dd1af79a85d884ad7df3ae8e09ff46245d0a7ddf8ecd3a87f5d681713dc8abe895e7b558af04ea72c19e5e8fdfe4010b43cd47c610372bc0ae4b97f49b1 languageName: node linkType: hard -"@nx/linter@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/linter@npm:19.7.2" +"@nx/linter@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/linter@npm:19.7.4" dependencies: - "@nx/eslint": "npm:19.7.2" - checksum: 3623ffb50ace85da2177b0ae557728cf646b66b4ccf56733b382993525d051f0d95144393ef8b559f5324c6cd8458e8c9685823e502bdecf76e4b5d73e729701 + "@nx/eslint": "npm:19.7.4" + checksum: bf49408216d4e6312a5d4d51d719997be60634bba148b51ecb32db99455a0c297f8401c04d4a3d025e5c51baf7d74772a030f459ed418758660ec0667b2e813f languageName: node linkType: hard -"@nx/nest@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nest@npm:19.7.2" +"@nx/nest@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nest@npm:19.7.4" dependencies: "@nestjs/schematics": "npm:^9.1.0" - "@nrwl/nest": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/js": "npm:19.7.2" - "@nx/node": "npm:19.7.2" + "@nrwl/nest": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/js": "npm:19.7.4" + "@nx/node": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" tslib: "npm:^2.3.0" - checksum: 9e488bd4b9db87011340694c9212c46fce76b613b7836b8169544b9a9833a7125dfbe46c6363279dd608eb5ebd4a4547444dc99b20d24b5f2689565efcae159e + checksum: 0f29336ca04717a3e6e3f29dff4d6a4aad35299b06a48c0a8b8c4d8f0cf98a80ee8c08b3ea366f20c09fd63720ac9f1b5b9d165085085aaa35dc27e3e8581553 languageName: node linkType: hard -"@nx/next@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/next@npm:19.7.2" +"@nx/next@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/next@npm:19.7.4" dependencies: "@babel/plugin-proposal-decorators": "npm:^7.22.7" - "@nrwl/next": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/js": "npm:19.7.2" - "@nx/react": "npm:19.7.2" - "@nx/web": "npm:19.7.2" - "@nx/webpack": "npm:19.7.2" - "@nx/workspace": "npm:19.7.2" + "@nrwl/next": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/js": "npm:19.7.4" + "@nx/react": "npm:19.7.4" + "@nx/web": "npm:19.7.4" + "@nx/webpack": "npm:19.7.4" + "@nx/workspace": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" "@svgr/webpack": "npm:^8.0.1" chalk: "npm:^4.1.0" @@ -6329,119 +6328,119 @@ __metadata: webpack-merge: "npm:^5.8.0" peerDependencies: next: ">=14.0.0" - checksum: 081097e3c4cbb75c3b79ae8bd79bdafb96656871ddb59c08b1d6d2b125dc2580628371caa21f0ec49b9822184a60f3be2515c63576bae6f06b3c22b52eb837a6 + checksum: 417e1cf94c3486d1e990bb8e6964aef62516852449aa13d5aa31a261bf298e237af21aa9d1b881fe679e5fa19a23829b157a44384fbbb15dd4b09b0e980e46e4 languageName: node linkType: hard -"@nx/node@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/node@npm:19.7.2" +"@nx/node@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/node@npm:19.7.4" dependencies: - "@nrwl/node": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/jest": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/node": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/jest": "npm:19.7.4" + "@nx/js": "npm:19.7.4" tslib: "npm:^2.3.0" - checksum: 13bd181f7594ad35ba4647c6dfc42ef1a5bb589ca0c061cab305a3f89ad359aaa9b3ebc73c43d532c73ee83b31280b473e94d0b6d242c36bed66b57e1d6f0feb + checksum: 1cef5920a03c21dda7be7604f20a71270e9a475e52d64b1f9aa123627b97ca8c022769aa250f28626fbec086391c9a5f17168415771ba9034dcf20c0e24ae773 languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-darwin-arm64@npm:19.7.2" +"@nx/nx-darwin-arm64@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-darwin-arm64@npm:19.7.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-darwin-x64@npm:19.7.2" +"@nx/nx-darwin-x64@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-darwin-x64@npm:19.7.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-freebsd-x64@npm:19.7.2" +"@nx/nx-freebsd-x64@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-freebsd-x64@npm:19.7.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.7.2" +"@nx/nx-linux-arm-gnueabihf@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.7.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-linux-arm64-gnu@npm:19.7.2" +"@nx/nx-linux-arm64-gnu@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.7.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-linux-arm64-musl@npm:19.7.2" +"@nx/nx-linux-arm64-musl@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-linux-arm64-musl@npm:19.7.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-linux-x64-gnu@npm:19.7.2" +"@nx/nx-linux-x64-gnu@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-linux-x64-gnu@npm:19.7.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-linux-x64-musl@npm:19.7.2" +"@nx/nx-linux-x64-musl@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-linux-x64-musl@npm:19.7.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-win32-arm64-msvc@npm:19.7.2" +"@nx/nx-win32-arm64-msvc@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.7.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/nx-win32-x64-msvc@npm:19.7.2" +"@nx/nx-win32-x64-msvc@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/nx-win32-x64-msvc@npm:19.7.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@nx/plugin@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/plugin@npm:19.7.2" +"@nx/plugin@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/plugin@npm:19.7.4" dependencies: - "@nrwl/nx-plugin": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/jest": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/nx-plugin": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/jest": "npm:19.7.4" + "@nx/js": "npm:19.7.4" fs-extra: "npm:^11.1.0" tslib: "npm:^2.3.0" - checksum: 47630b2dd38b752c17d0108ca3a51dad7b4704955817ef2c35c3321ff8a6033c3201bda1f7494dd3df2842d8c37640f178c7c5326e59ae1f5b9a4c9ffc2d94c1 + checksum: dec6c71de034c118bf39c6c8c4bc3d734e5e5b989235ad4f7423f619373b8ba06ff96f47a34801e07557b5ecb9156c3af1c6ff9a65ffe79b83faf18c960d0598 languageName: node linkType: hard -"@nx/react@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/react@npm:19.7.2" +"@nx/react@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/react@npm:19.7.4" dependencies: "@module-federation/enhanced": "npm:~0.6.0" - "@nrwl/react": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/js": "npm:19.7.2" - "@nx/web": "npm:19.7.2" + "@nrwl/react": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/js": "npm:19.7.4" + "@nx/web": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" "@svgr/webpack": "npm:^8.0.1" chalk: "npm:^4.1.0" @@ -6450,51 +6449,51 @@ __metadata: http-proxy-middleware: "npm:^3.0.0" minimatch: "npm:9.0.3" tslib: "npm:^2.3.0" - checksum: 843afc3ad47b6a5d1c8eadb69516747bfef0dbac6bf5cfe1150fd484bf75d3f30d79226da20eb4727e10987e85b22b52443d8969772f76110901e7891b650cc9 + checksum: ce8e30dff64d6ad3fc43fefbf5d74d81ceff92a6d19aaa8fac30ceb387e83426ed5eabf591c65c3e46405395b3e7216baaa4c4707c754cbb5378521ba64f3d6d languageName: node linkType: hard -"@nx/storybook@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/storybook@npm:19.7.2" +"@nx/storybook@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/storybook@npm:19.7.4" dependencies: - "@nrwl/storybook": "npm:19.7.2" - "@nx/cypress": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/eslint": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/storybook": "npm:19.7.4" + "@nx/cypress": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/eslint": "npm:19.7.4" + "@nx/js": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" semver: "npm:^7.5.3" tslib: "npm:^2.3.0" - checksum: 37af8143bd13ed70976931956a17ef8ae4ca06f624710d90a5a54153ae4e7255ec67b3f1b23b5ef01bbdf20a8be0b628e38222079d463cb0979c9bcfc4585395 + checksum: 1fdf11506c17d9f7de81ba1c5be4dec8df4c00a943c8c45392c9447f5012e32c3379c90cd1895672064628d734cc0da486eb1dd20e8e33d134af45dcad44f2dd languageName: node linkType: hard -"@nx/web@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/web@npm:19.7.2" +"@nx/web@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/web@npm:19.7.4" dependencies: - "@nrwl/web": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/web": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/js": "npm:19.7.4" chalk: "npm:^4.1.0" detect-port: "npm:^1.5.1" http-server: "npm:^14.1.0" tslib: "npm:^2.3.0" - checksum: 6fddecc61a5d3fd94b7b2d9dbc279501e9762924b08fbd69fab462adba1589d315dbda66d98da6e590d3c59d89186d8b527c2049db84bfe94e475a6535abc6af + checksum: b30ded8de6ea69412cd50f6449da77b595e44878594affefef3128c334b6cd14ec151a483e57b2fa01c36c0f0aec62a878a3e2c748c5d3bb1b3d9118008348ed languageName: node linkType: hard -"@nx/webpack@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/webpack@npm:19.7.2" +"@nx/webpack@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/webpack@npm:19.7.4" dependencies: "@babel/core": "npm:^7.23.2" "@module-federation/enhanced": "npm:^0.6.0" "@module-federation/sdk": "npm:^0.6.0" - "@nrwl/webpack": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" - "@nx/js": "npm:19.7.2" + "@nrwl/webpack": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" + "@nx/js": "npm:19.7.4" "@phenomnomnominal/tsquery": "npm:~5.0.1" ajv: "npm:^8.12.0" autoprefixer: "npm:^10.4.9" @@ -6531,22 +6530,22 @@ __metadata: webpack-dev-server: "npm:^5.0.4" webpack-node-externals: "npm:^3.0.0" webpack-subresource-integrity: "npm:^5.1.0" - checksum: 2d2c85bc41dcce2826f71983f8130d3b86e78b577af0d93f1564ee93038df8be38593505f174a69de6a1f33256c70db35df20321188df7a3554139c1352d887a + checksum: fa8b615266586437c60694b97663a6ef12ab85668e4a1da78a2ff9c105e46d9cced6a6fba1ab09a3dea2d98691196bac1b698331bffb2ad57e8ba4ab1ed3f9da languageName: node linkType: hard -"@nx/workspace@npm:19.7.2": - version: 19.7.2 - resolution: "@nx/workspace@npm:19.7.2" +"@nx/workspace@npm:19.7.4": + version: 19.7.4 + resolution: "@nx/workspace@npm:19.7.4" dependencies: - "@nrwl/workspace": "npm:19.7.2" - "@nx/devkit": "npm:19.7.2" + "@nrwl/workspace": "npm:19.7.4" + "@nx/devkit": "npm:19.7.4" chalk: "npm:^4.1.0" enquirer: "npm:~2.3.6" - nx: "npm:19.7.2" + nx: "npm:19.7.4" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" - checksum: 864055292731bc33362e117a56033b1dd3319c4f37b97f4de9756165243b71e2d7273bc1f88565fcce550d142f70a8c0ec5058ccc339a72eb0c8c9d072e6bc58 + checksum: fd731d440e8aadf281e5f8c679df0aad21666cbf1579dd8b0b95ddd02bfb9fa8fdafa1b55f67464f94eb6920e042339caf95fc2a01be6aa85304e36519ccea31 languageName: node linkType: hard @@ -19624,22 +19623,22 @@ __metadata: languageName: node linkType: hard -"nx@npm:19.7.2": - version: 19.7.2 - resolution: "nx@npm:19.7.2" +"nx@npm:19.7.4": + version: 19.7.4 + resolution: "nx@npm:19.7.4" dependencies: "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nrwl/tao": "npm:19.7.2" - "@nx/nx-darwin-arm64": "npm:19.7.2" - "@nx/nx-darwin-x64": "npm:19.7.2" - "@nx/nx-freebsd-x64": "npm:19.7.2" - "@nx/nx-linux-arm-gnueabihf": "npm:19.7.2" - "@nx/nx-linux-arm64-gnu": "npm:19.7.2" - "@nx/nx-linux-arm64-musl": "npm:19.7.2" - "@nx/nx-linux-x64-gnu": "npm:19.7.2" - "@nx/nx-linux-x64-musl": "npm:19.7.2" - "@nx/nx-win32-arm64-msvc": "npm:19.7.2" - "@nx/nx-win32-x64-msvc": "npm:19.7.2" + "@nrwl/tao": "npm:19.7.4" + "@nx/nx-darwin-arm64": "npm:19.7.4" + "@nx/nx-darwin-x64": "npm:19.7.4" + "@nx/nx-freebsd-x64": "npm:19.7.4" + "@nx/nx-linux-arm-gnueabihf": "npm:19.7.4" + "@nx/nx-linux-arm64-gnu": "npm:19.7.4" + "@nx/nx-linux-arm64-musl": "npm:19.7.4" + "@nx/nx-linux-x64-gnu": "npm:19.7.4" + "@nx/nx-linux-x64-musl": "npm:19.7.4" + "@nx/nx-win32-arm64-msvc": "npm:19.7.4" + "@nx/nx-win32-x64-msvc": "npm:19.7.4" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.0-rc.46" "@zkochan/js-yaml": "npm:0.0.7" @@ -19705,7 +19704,7 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 665d959000a45cc216fc8cc7d0ff9caa38f01bcba50a78cd59323c9c9511afb945ba6a93b7fe7054a6c6678abb4b89e6aebce682ba682e922ff2fca0f79159b3 + checksum: aba9e19608e2f4157dd023ae80704609a480c2ffbbf79dfa8841d72e4be51538180de318b6f4939b28994c14c8d6259c2a3118d0b350f05f77d79878b5fb8ee3 languageName: node linkType: hard From 31b5bcbe5da3d4294dbdebe228964c4fd109f0ec Mon Sep 17 00:00:00 2001 From: Steven Nance Date: Wed, 18 Sep 2024 21:32:03 +0200 Subject: [PATCH 4/5] use generator rather than inlining/duplicating examples --- docs/assets/lab2_example_generator.png | Bin 0 -> 31753 bytes docs/assets/lab2_file_structure.png | Bin 95555 -> 0 bytes docs/lab2/LAB.md | 29 ++-- docs/lab2/SOLUTION.md | 8 +- libs/nx-react-workshop/generators.json | 5 + libs/nx-react-workshop/package.json | 4 +- .../src/generators/lab-examples/generator.ts | 25 +++ .../src/generators/lab-examples/schema.d.ts | 3 + .../src/generators/lab-examples/schema.json | 17 ++ .../complete-lab-2/complete-lab-2.ts | 162 +----------------- .../nx-react-workshop/src/migrations/utils.ts | 10 -- 11 files changed, 75 insertions(+), 188 deletions(-) create mode 100644 docs/assets/lab2_example_generator.png delete mode 100644 docs/assets/lab2_file_structure.png create mode 100644 libs/nx-react-workshop/src/generators/lab-examples/generator.ts create mode 100644 libs/nx-react-workshop/src/generators/lab-examples/schema.d.ts create mode 100644 libs/nx-react-workshop/src/generators/lab-examples/schema.json diff --git a/docs/assets/lab2_example_generator.png b/docs/assets/lab2_example_generator.png new file mode 100644 index 0000000000000000000000000000000000000000..36add2bb3813adbdf3daca97222306b2306915ae GIT binary patch literal 31753 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 literal 0 HcmV?d00001 diff --git a/docs/assets/lab2_file_structure.png b/docs/assets/lab2_file_structure.png deleted file mode 100644 index 73b324eef1306bac283c3f897c4f387bdb0cb6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95555 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 diff --git a/docs/lab2/LAB.md b/docs/lab2/LAB.md index 06d9dc2..8eed40f 100644 --- a/docs/lab2/LAB.md +++ b/docs/lab2/LAB.md @@ -32,11 +32,13 @@ In this lab we'll generate our first React application within the new monorepo. 3. Add the React plugin: `nx add @nx/react`
-4. Let's also add Material UI so we can use some of their components: +4. Let's also add Material UI so we can use some of their components: + ```sh npm i -S @mui/material @emotion/react @emotion/styled # (or `yarn add ...` or `pnpm add ...`) ``` +
5. Use the [`@nx/react` plugin](https://nx.dev/nx-api/react/generators/application) to generate an React app called `store` in the `apps` directory of your new workspace by passing the `--directory=apps/store` option. @@ -54,28 +56,25 @@ In this lab we'll generate our first React application within the new monorepo. Nx generate cmd structure
-6. Create a `fake-api/index.ts` file in your new app's `src` folder that returns an array of some games (you can just copy the code from [here](../../examples/lab2/apps/store/src/fake-api.ts)) +6. Add some basic styling to your new app and display the games from a fake API by copying the files from [examples/lab2](../../examples/lab2) into your workspace. To save time, we've supplied a generator that does this for you: - ⏳**Reminder:** When you are given example files to copy, the folder they're in hints to the _folder_ and _filename_ you can place them in when you do the copying -
+ ```sh + nx generate lab-examples --lab=2 + ``` +
+ Example Outout + screenshot of lab2 example generator +

-7. Add some basic styling to your new component and display the games from the Fake API (to not spend too much time on this, you can copy it from here [.tsx](../../examples/lab2/apps/store/src/app/app.tsx) / [.scss](../../examples/lab2/apps/store/src/app/app.module.scss) - and replace the full contents of the files) +7. Serve the app: `nx serve store`
-8. You can get the example game images from [here](../../examples/lab2/apps/store/src/assets) - - ⚠️  Make sure you put them in the correct folder +8. See your app live at [http://localhost:4200/](http://localhost:4200/)
-9. Serve the app: `nx serve store` +9. Inspect what changed from the last time you committed, then commit your changes
-10. See your app live at [http://localhost:4200/](http://localhost:4200/) -
- -11. Inspect what changed from the last time you committed, then commit your changes -
- --- screenshot of lab2 result diff --git a/docs/lab2/SOLUTION.md b/docs/lab2/SOLUTION.md index 2226cba..195cd68 100644 --- a/docs/lab2/SOLUTION.md +++ b/docs/lab2/SOLUTION.md @@ -1,7 +1,13 @@ ##### To generate a new React application: ```shell -nx generate @nx/react:application store --directory=apps/store --style=scss --routing --e2eTestRunner=cypress --bundler=webpack +nx generate @nx/react:application store \ + --directory=apps/store \ + --style=scss \ + --routing \ + --e2eTestRunner=cypress \ + --bundler=webpack \ + --projectNameAndRootFormat=as-provided # Alternatively using the shorthand nx g app store --directory=apps/store # the rest of the arguments are the same diff --git a/libs/nx-react-workshop/generators.json b/libs/nx-react-workshop/generators.json index 9cc9782..67a21a3 100644 --- a/libs/nx-react-workshop/generators.json +++ b/libs/nx-react-workshop/generators.json @@ -7,6 +7,11 @@ "factory": "./src/generators/complete-labs/generator", "schema": "./src/generators/complete-labs/schema.json", "description": "Completes the chosen labs" + }, + "lab-examples": { + "factory": "./src/generators/lab-examples/generator", + "schema": "./src/generators/lab-examples/schema.json", + "description": "Copies the example files for a lab into the workspace" } } } diff --git a/libs/nx-react-workshop/package.json b/libs/nx-react-workshop/package.json index 4e44bae..524a829 100644 --- a/libs/nx-react-workshop/package.json +++ b/libs/nx-react-workshop/package.json @@ -7,9 +7,7 @@ "migrations": "./migrations.json" }, "dependencies": { - "nx-cloud": "19.1.0", - "cors": "*", - "node-fetch": "^2.x", + "@nx/devkit": "19.7.4", "surge": "*", "@nx/workspace": "19.7.4", "@nx/storybook": "19.7.4", diff --git a/libs/nx-react-workshop/src/generators/lab-examples/generator.ts b/libs/nx-react-workshop/src/generators/lab-examples/generator.ts new file mode 100644 index 0000000..208ceea --- /dev/null +++ b/libs/nx-react-workshop/src/generators/lab-examples/generator.ts @@ -0,0 +1,25 @@ +import { + formatFiles, + generateFiles, + OverwriteStrategy, + Tree, +} from '@nx/devkit'; +import * as path from 'path'; +import { LabExamplesGeneratorSchema } from './schema'; + +export async function labExamplesGenerator( + tree: Tree, + { lab }: LabExamplesGeneratorSchema +) { + generateFiles( + tree, + path.join(__dirname, `../../../examples/lab${lab}`), + './', + {}, + { overwriteStrategy: OverwriteStrategy.Overwrite } + ); + + await formatFiles(tree); +} + +export default labExamplesGenerator; diff --git a/libs/nx-react-workshop/src/generators/lab-examples/schema.d.ts b/libs/nx-react-workshop/src/generators/lab-examples/schema.d.ts new file mode 100644 index 0000000..35bdb76 --- /dev/null +++ b/libs/nx-react-workshop/src/generators/lab-examples/schema.d.ts @@ -0,0 +1,3 @@ +export interface LabExamplesGeneratorSchema { + lab: number; +} diff --git a/libs/nx-react-workshop/src/generators/lab-examples/schema.json b/libs/nx-react-workshop/src/generators/lab-examples/schema.json new file mode 100644 index 0000000..678183f --- /dev/null +++ b/libs/nx-react-workshop/src/generators/lab-examples/schema.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://json-schema.org/schema", + "$id": "LabExamples", + "title": "", + "type": "object", + "properties": { + "lab": { + "type": "number", + "description": "The lab to copy examples from", + "$default": { + "$source": "argv", + "index": 0 + } + } + }, + "required": ["lab"] +} diff --git a/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts b/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts index 826dc0a..9f22380 100644 --- a/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts +++ b/libs/nx-react-workshop/src/migrations/complete-lab-2/complete-lab-2.ts @@ -2,7 +2,7 @@ import { addDependenciesToPackageJson, formatFiles, Tree } from '@nx/devkit'; import { dependencies } from '../../../package.json'; import { applicationGenerator } from '@nx/react'; import { Linter } from '@nx/eslint'; -import { generateLabExamples } from '../utils'; +import labExamplesGenerator from '../../generators/lab-examples/generator'; export default async function update(tree: Tree) { await addDependenciesToPackageJson( @@ -27,166 +27,10 @@ export default async function update(tree: Tree) { style: 'scss', unitTestRunner: 'jest', routing: true, + addPlugin: true, }); - generateLabExamples(tree, 2); + await labExamplesGenerator(tree, { lab: 2 }); await formatFiles(tree); - - // tree.write( - // 'apps/store/src/fake-api.ts', - // `const games = [ - // { - // id: 'settlers-in-the-can', - // name: 'Settlers in the Can', - // image: '/assets/beans.png', // 'https://media.giphy.com/media/xUNda3pLJEsg4Nedji/giphy.gif', - // description: - // 'Help your bug family claim the best real estate in a spilled can of beans.', - // price: 35, - // rating: Math.random() - // }, - // { - // id: 'chess-pie', - // name: 'Chess Pie', - // image: '/assets/chess.png', // 'https://media.giphy.com/media/iCZyBnPBLr0dy/giphy.gif', - // description: 'A circular game of Chess that you can eat as you play.', - // price: 15, - // rating: Math.random() - // }, - // { - // id: 'purrfection', - // name: 'Purrfection', - // image: '/assets/cat.png', // 'https://media.giphy.com/media/12xMvwvQXJNx0k/giphy.gif', - // description: 'A cat grooming contest goes horribly wrong.', - // price: 45, - // rating: Math.random() - // } - // ]; - - // export const getAllGames = () => games; - // export const getGame = (id: string) => games.find(game => game.id === id); - // ` - // ); - // tree.write( - // 'apps/store/src/app/app.module.scss', - // `.games-layout { - // display: flex; - // justify-content: space-between; - // margin-bottom: 20px; - // } - - // .container { - // max-width: 800px; - // margin: 50px auto; - // } - - // .game-card { - // max-width: 250px; - // display: flex; - // flex-direction: column; - // justify-content: space-between; - - // .game-rating { - // padding-top: 10px; - // } - // } - - // .center-content { - // display: flex; - // justify-content: center; - // } - - // .game-details { - // display: flex; - // flex-direction: column; - // margin: 0; - // } - - // .game-card-media { - // height: 140px; - // } - // ` - // ); - // tree.write( - // 'apps/store/src/app/app.tsx', - // `import styles from './app.module.scss'; - // import { getAllGames } from '../fake-api'; - - // import Card from '@mui/material/Card'; - // import CardActionArea from '@mui/material/CardActionArea'; - // import CardContent from '@mui/material/CardContent'; - // import CardMedia from '@mui/material/CardMedia'; - // import Typography from '@mui/material/Typography'; - - // export const App = () => { - // return ( - //
- //
- // {getAllGames().map((x) => ( - // - // - // - // - // - // {x.name} - // - // - // {x.description} - // - // - // Rating: {x.rating} - // - // - // - // - // ))} - //
- //
- // ); - // }; - - // export default App; - // ` - // ); - // tree.write( - // 'apps/store-e2e/src/e2e/app.cy.ts', - // `describe('store', () => { - // beforeEach(() => cy.visit('/')); - - // it('should have 3 games', () => { - // cy.contains('Settlers in the Can'); - // cy.contains('Chess Pie'); - // cy.contains('Purrfection'); - // }); - // }); - // ` - // ); - // async function download(uri: string, filename: string) { - // await fetch(uri) - // .then(async (res) => Buffer.from(await res.arrayBuffer())) - // .then((buffer) => { - // tree.write(filename, buffer); - // }); - // } - // await download( - // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/beans.png', - // 'apps/store/src/assets/beans.png' - // ); - // await download( - // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/cat.png', - // 'apps/store/src/assets/cat.png' - // ); - // await download( - // 'https://github.com/nrwl/nx-react-workshop/raw/main/examples/lab2/apps/store/src/assets/chess.png', - // 'apps/store/src/assets/chess.png' - // ); } diff --git a/libs/nx-react-workshop/src/migrations/utils.ts b/libs/nx-react-workshop/src/migrations/utils.ts index 8826135..03ea5b8 100644 --- a/libs/nx-react-workshop/src/migrations/utils.ts +++ b/libs/nx-react-workshop/src/migrations/utils.ts @@ -37,13 +37,3 @@ export function stripConsoleColors(log: string): string { '' ); } - -export function generateLabExamples(tree: Tree, labNumber: number) { - generateFiles( - tree, - join(__dirname, `../../examples/lab${labNumber}`), - './', - {}, - { overwriteStrategy: OverwriteStrategy.Overwrite } - ); -} From 9ae3089725abd86943e2d5255ec9b27cf4ca3264 Mon Sep 17 00:00:00 2001 From: Steven Nance Date: Wed, 18 Sep 2024 21:41:31 +0200 Subject: [PATCH 5/5] Discard changes to libs/nx-react-workshop/src/migrations/utils.ts --- libs/nx-react-workshop/src/migrations/utils.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libs/nx-react-workshop/src/migrations/utils.ts b/libs/nx-react-workshop/src/migrations/utils.ts index 03ea5b8..eae14fd 100644 --- a/libs/nx-react-workshop/src/migrations/utils.ts +++ b/libs/nx-react-workshop/src/migrations/utils.ts @@ -1,7 +1,6 @@ -import { generateFiles, OverwriteStrategy, Tree } from '@nx/devkit'; +import { Tree } from '@nx/devkit'; import * as ts from 'typescript'; import { insertImport as astInsertImport } from '@nx/js'; -import { join } from 'path'; export function replaceInFile( host: Tree,