From 4fd0b74b8c862f25450aa639c547179268f0ea34 Mon Sep 17 00:00:00 2001 From: Dmitriynj Date: Tue, 22 Dec 2020 20:49:20 +0300 Subject: [PATCH] change folders structure --- chinook/.gitignore | 3 +- chinook/README.md | 28 +- chinook/app/{react => front}/.babelrc | 0 chinook/app/{react => front}/.eslintrc.json | 0 chinook/app/{react => front}/.gitignore | 0 chinook/app/{react => front}/.prettierrc | 0 .../app/{react => front}/.vscode/launch.json | 0 chinook/app/{react => front}/README.md | 0 chinook/app/{react => front}/package.json | 4 +- .../app/{react => front}/public/index.html | 0 .../app/{react => front}/public/logo192.png | Bin .../app/{react => front}/public/logo512.png | Bin .../app/{react => front}/public/manifest.json | 0 .../app/{react => front}/public/robots.txt | 0 .../app/{react => front}/public/xs-app.json | 0 chinook/app/{react => front}/src/App.css | 0 chinook/app/{react => front}/src/App.jsx | 0 .../{react => front}/src/api/axiosInstance.js | 0 chinook/app/{react => front}/src/api/calls.js | 0 .../src/components/ErrorPage.jsx | 0 .../src/components/Header.css | 0 .../src/components/Header.jsx | 0 .../src/components/InvoicePage.jsx | 0 .../{react => front}/src/components/Login.jsx | 0 .../src/components/ManageStore.jsx | 0 .../src/components/MyInvoicesPage.jsx | 0 .../src/components/PersonPage.jsx | 0 .../src/components/Router.jsx | 0 .../src/components/TracksPage.css | 0 .../src/components/TracksPage.jsx | 8 +- .../components/manage-store/AddAlbumForm.jsx | 0 .../components/manage-store/AddArtistForm.jsx | 0 .../src/components/manage-store/TrackForm.jsx | 0 .../src/components/tracks/DeleteAction.jsx | 0 .../src/components/tracks/EditAction.jsx | 6 +- .../src/components/tracks/ManagedTrack.css | 0 .../src/components/tracks/ManagedTrack.jsx | 0 .../src/components/tracks/Track.jsx | 0 .../src/components/tracks/TrackCardBody.jsx | 0 .../src/contexts/AppStateContext.jsx | 0 .../src/hocs/withRestrictions.jsx | 0 .../src/hooks/useAbortableEffect.js | 0 .../{react => front}/src/hooks/useAppState.js | 0 .../{react => front}/src/hooks/useErrors.js | 0 chinook/app/{react => front}/src/index.jsx | 0 chinook/app/{react => front}/src/logo.svg | 0 .../app/{react => front}/src/serviceWorker.js | 0 .../app/{react => front}/src/setupTests.js | 0 .../{react => front}/src/util/EventEmitter.js | 0 .../{react => front}/src/util/constants.js | 0 .../src/util/localStorageService.js | 0 .../{react => front}/src/util/validateUser.js | 0 .../webpack/common-plugins.js | 6 +- .../{react => front}/webpack/common-rules.js | 1 + .../webpack/webpack-dev-server.js | 60 ++- .../webpack/webpack.common.js | 2 +- .../{react => front}/webpack/webpack.dev.js | 0 .../{react => front}/webpack/webpack.prod.js | 0 chinook/mta.yaml | 5 +- chinook/package.json | 6 +- chinook/test/data/media-store.mock.js | 108 ----- chinook/test/media-store.test.js | 442 ------------------ chinook/test/{test.http => requests.http} | 0 63 files changed, 89 insertions(+), 590 deletions(-) rename chinook/app/{react => front}/.babelrc (100%) rename chinook/app/{react => front}/.eslintrc.json (100%) rename chinook/app/{react => front}/.gitignore (100%) rename chinook/app/{react => front}/.prettierrc (100%) rename chinook/app/{react => front}/.vscode/launch.json (100%) rename chinook/app/{react => front}/README.md (100%) rename chinook/app/{react => front}/package.json (96%) rename chinook/app/{react => front}/public/index.html (100%) rename chinook/app/{react => front}/public/logo192.png (100%) rename chinook/app/{react => front}/public/logo512.png (100%) rename chinook/app/{react => front}/public/manifest.json (100%) rename chinook/app/{react => front}/public/robots.txt (100%) rename chinook/app/{react => front}/public/xs-app.json (100%) rename chinook/app/{react => front}/src/App.css (100%) rename chinook/app/{react => front}/src/App.jsx (100%) rename chinook/app/{react => front}/src/api/axiosInstance.js (100%) rename chinook/app/{react => front}/src/api/calls.js (100%) rename chinook/app/{react => front}/src/components/ErrorPage.jsx (100%) rename chinook/app/{react => front}/src/components/Header.css (100%) rename chinook/app/{react => front}/src/components/Header.jsx (100%) rename chinook/app/{react => front}/src/components/InvoicePage.jsx (100%) rename chinook/app/{react => front}/src/components/Login.jsx (100%) rename chinook/app/{react => front}/src/components/ManageStore.jsx (100%) rename chinook/app/{react => front}/src/components/MyInvoicesPage.jsx (100%) rename chinook/app/{react => front}/src/components/PersonPage.jsx (100%) rename chinook/app/{react => front}/src/components/Router.jsx (100%) rename chinook/app/{react => front}/src/components/TracksPage.css (100%) rename chinook/app/{react => front}/src/components/TracksPage.jsx (96%) rename chinook/app/{react => front}/src/components/manage-store/AddAlbumForm.jsx (100%) rename chinook/app/{react => front}/src/components/manage-store/AddArtistForm.jsx (100%) rename chinook/app/{react => front}/src/components/manage-store/TrackForm.jsx (100%) rename chinook/app/{react => front}/src/components/tracks/DeleteAction.jsx (100%) rename chinook/app/{react => front}/src/components/tracks/EditAction.jsx (97%) rename chinook/app/{react => front}/src/components/tracks/ManagedTrack.css (100%) rename chinook/app/{react => front}/src/components/tracks/ManagedTrack.jsx (100%) rename chinook/app/{react => front}/src/components/tracks/Track.jsx (100%) rename chinook/app/{react => front}/src/components/tracks/TrackCardBody.jsx (100%) rename chinook/app/{react => front}/src/contexts/AppStateContext.jsx (100%) rename chinook/app/{react => front}/src/hocs/withRestrictions.jsx (100%) rename chinook/app/{react => front}/src/hooks/useAbortableEffect.js (100%) rename chinook/app/{react => front}/src/hooks/useAppState.js (100%) rename chinook/app/{react => front}/src/hooks/useErrors.js (100%) rename chinook/app/{react => front}/src/index.jsx (100%) rename chinook/app/{react => front}/src/logo.svg (100%) rename chinook/app/{react => front}/src/serviceWorker.js (100%) rename chinook/app/{react => front}/src/setupTests.js (100%) rename chinook/app/{react => front}/src/util/EventEmitter.js (100%) rename chinook/app/{react => front}/src/util/constants.js (100%) rename chinook/app/{react => front}/src/util/localStorageService.js (100%) rename chinook/app/{react => front}/src/util/validateUser.js (100%) rename chinook/app/{react => front}/webpack/common-plugins.js (81%) rename chinook/app/{react => front}/webpack/common-rules.js (99%) rename chinook/app/{react => front}/webpack/webpack-dev-server.js (64%) rename chinook/app/{react => front}/webpack/webpack.common.js (92%) rename chinook/app/{react => front}/webpack/webpack.dev.js (100%) rename chinook/app/{react => front}/webpack/webpack.prod.js (100%) delete mode 100644 chinook/test/data/media-store.mock.js delete mode 100644 chinook/test/media-store.test.js rename chinook/test/{test.http => requests.http} (100%) diff --git a/chinook/.gitignore b/chinook/.gitignore index 2e5ed3c6..fa48301d 100644 --- a/chinook/.gitignore +++ b/chinook/.gitignore @@ -7,9 +7,10 @@ gen/ node_modules/ target/ package-lock.json +app/build # html5Deployer -deployers/html5Deployer/resources/app/ +app/deployers/html5Deployer/resources/ # Web IDE, App Studio .che/ diff --git a/chinook/README.md b/chinook/README.md index e93c0d68..55e1cadd 100644 --- a/chinook/README.md +++ b/chinook/README.md @@ -5,9 +5,9 @@ Welcome to your new project. It contains these folders and files, following our recommended project layout: | File or Folder | Purpose | -|------------------|--------------------------------------| +| ---------------- | ------------------------------------ | | `app/` | will contain compiled front bundles | -| `app/react/` | contains frontend app on react | +| `app/front/` | contains frontend app on react | | `app/deployers/` | contains deployment staff | | `db/` | your domain models and data go here | | `srv/` | your service models and code go here | @@ -31,7 +31,7 @@ npm run deploy cds watch ``` -- Open `app/react` folder and run next commands. This will install dependencies and run frontend src files watcher. When you will change src files your bundles in app directory will re-compiled. Now you can enjoy development: +- Open `app/front` folder and run next commands. This will install dependencies and run frontend src files watcher. When you will change src files your bundles in app directory will re-compiled. Now you can enjoy development: ```json npm install @@ -44,6 +44,22 @@ npm run watch > npm run start > ``` +## Test + +- Change package.json db section + +```json + "db": { + "kind": "sql" + } +``` + +- Run tests + +```json +npm run test +``` + ## Deployment - Make sure you already have hanatrial instance in your cockpit dashboard (SAP Cloud Platform). @@ -56,17 +72,17 @@ npm run watch } ``` -- Authenticate in the Cloud Foundry: +- Authenticate to the Cloud Foundry: ```json cf login ``` -- Open `app/react` folder and run the following commands. This will create frontend production bundles in app subfolder: +- Open `app/front` folder and run the following commands. This will create frontend production bundles in app subfolder: ```json npm install -npm run build +npm run build:prod ``` - Clean up app/deployers/html5Deployer/resources folder from the previous frontend build diff --git a/chinook/app/react/.babelrc b/chinook/app/front/.babelrc similarity index 100% rename from chinook/app/react/.babelrc rename to chinook/app/front/.babelrc diff --git a/chinook/app/react/.eslintrc.json b/chinook/app/front/.eslintrc.json similarity index 100% rename from chinook/app/react/.eslintrc.json rename to chinook/app/front/.eslintrc.json diff --git a/chinook/app/react/.gitignore b/chinook/app/front/.gitignore similarity index 100% rename from chinook/app/react/.gitignore rename to chinook/app/front/.gitignore diff --git a/chinook/app/react/.prettierrc b/chinook/app/front/.prettierrc similarity index 100% rename from chinook/app/react/.prettierrc rename to chinook/app/front/.prettierrc diff --git a/chinook/app/react/.vscode/launch.json b/chinook/app/front/.vscode/launch.json similarity index 100% rename from chinook/app/react/.vscode/launch.json rename to chinook/app/front/.vscode/launch.json diff --git a/chinook/app/react/README.md b/chinook/app/front/README.md similarity index 100% rename from chinook/app/react/README.md rename to chinook/app/front/README.md diff --git a/chinook/app/react/package.json b/chinook/app/front/package.json similarity index 96% rename from chinook/app/react/package.json rename to chinook/app/front/package.json index 457556aa..0e392a4b 100644 --- a/chinook/app/react/package.json +++ b/chinook/app/front/package.json @@ -10,12 +10,13 @@ "lint": "./node_modules/.bin/eslint" }, "dependencies": { + "@ant-design/icons": "4.3.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", "@umijs/hooks": "^1.9.3", "antd": "^4.8.2", - "@ant-design/icons": "4.3.0", "axios": "^0.20.0", "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^6.3.2", @@ -29,6 +30,7 @@ "react": "^16.14.0", "react-dev-utils": "^11.0.1", "react-dom": "^16.14.0", + "react-refresh": "^0.9.0", "react-router-dom": "^5.2.0", "terser-webpack-plugin": "^5.0.3", "webpack": "5.8.0", diff --git a/chinook/app/react/public/index.html b/chinook/app/front/public/index.html similarity index 100% rename from chinook/app/react/public/index.html rename to chinook/app/front/public/index.html diff --git a/chinook/app/react/public/logo192.png b/chinook/app/front/public/logo192.png similarity index 100% rename from chinook/app/react/public/logo192.png rename to chinook/app/front/public/logo192.png diff --git a/chinook/app/react/public/logo512.png b/chinook/app/front/public/logo512.png similarity index 100% rename from chinook/app/react/public/logo512.png rename to chinook/app/front/public/logo512.png diff --git a/chinook/app/react/public/manifest.json b/chinook/app/front/public/manifest.json similarity index 100% rename from chinook/app/react/public/manifest.json rename to chinook/app/front/public/manifest.json diff --git a/chinook/app/react/public/robots.txt b/chinook/app/front/public/robots.txt similarity index 100% rename from chinook/app/react/public/robots.txt rename to chinook/app/front/public/robots.txt diff --git a/chinook/app/react/public/xs-app.json b/chinook/app/front/public/xs-app.json similarity index 100% rename from chinook/app/react/public/xs-app.json rename to chinook/app/front/public/xs-app.json diff --git a/chinook/app/react/src/App.css b/chinook/app/front/src/App.css similarity index 100% rename from chinook/app/react/src/App.css rename to chinook/app/front/src/App.css diff --git a/chinook/app/react/src/App.jsx b/chinook/app/front/src/App.jsx similarity index 100% rename from chinook/app/react/src/App.jsx rename to chinook/app/front/src/App.jsx diff --git a/chinook/app/react/src/api/axiosInstance.js b/chinook/app/front/src/api/axiosInstance.js similarity index 100% rename from chinook/app/react/src/api/axiosInstance.js rename to chinook/app/front/src/api/axiosInstance.js diff --git a/chinook/app/react/src/api/calls.js b/chinook/app/front/src/api/calls.js similarity index 100% rename from chinook/app/react/src/api/calls.js rename to chinook/app/front/src/api/calls.js diff --git a/chinook/app/react/src/components/ErrorPage.jsx b/chinook/app/front/src/components/ErrorPage.jsx similarity index 100% rename from chinook/app/react/src/components/ErrorPage.jsx rename to chinook/app/front/src/components/ErrorPage.jsx diff --git a/chinook/app/react/src/components/Header.css b/chinook/app/front/src/components/Header.css similarity index 100% rename from chinook/app/react/src/components/Header.css rename to chinook/app/front/src/components/Header.css diff --git a/chinook/app/react/src/components/Header.jsx b/chinook/app/front/src/components/Header.jsx similarity index 100% rename from chinook/app/react/src/components/Header.jsx rename to chinook/app/front/src/components/Header.jsx diff --git a/chinook/app/react/src/components/InvoicePage.jsx b/chinook/app/front/src/components/InvoicePage.jsx similarity index 100% rename from chinook/app/react/src/components/InvoicePage.jsx rename to chinook/app/front/src/components/InvoicePage.jsx diff --git a/chinook/app/react/src/components/Login.jsx b/chinook/app/front/src/components/Login.jsx similarity index 100% rename from chinook/app/react/src/components/Login.jsx rename to chinook/app/front/src/components/Login.jsx diff --git a/chinook/app/react/src/components/ManageStore.jsx b/chinook/app/front/src/components/ManageStore.jsx similarity index 100% rename from chinook/app/react/src/components/ManageStore.jsx rename to chinook/app/front/src/components/ManageStore.jsx diff --git a/chinook/app/react/src/components/MyInvoicesPage.jsx b/chinook/app/front/src/components/MyInvoicesPage.jsx similarity index 100% rename from chinook/app/react/src/components/MyInvoicesPage.jsx rename to chinook/app/front/src/components/MyInvoicesPage.jsx diff --git a/chinook/app/react/src/components/PersonPage.jsx b/chinook/app/front/src/components/PersonPage.jsx similarity index 100% rename from chinook/app/react/src/components/PersonPage.jsx rename to chinook/app/front/src/components/PersonPage.jsx diff --git a/chinook/app/react/src/components/Router.jsx b/chinook/app/front/src/components/Router.jsx similarity index 100% rename from chinook/app/react/src/components/Router.jsx rename to chinook/app/front/src/components/Router.jsx diff --git a/chinook/app/react/src/components/TracksPage.css b/chinook/app/front/src/components/TracksPage.css similarity index 100% rename from chinook/app/react/src/components/TracksPage.css rename to chinook/app/front/src/components/TracksPage.css diff --git a/chinook/app/react/src/components/TracksPage.jsx b/chinook/app/front/src/components/TracksPage.jsx similarity index 96% rename from chinook/app/react/src/components/TracksPage.jsx rename to chinook/app/front/src/components/TracksPage.jsx index ed6c9835..a53ca465 100644 --- a/chinook/app/react/src/components/TracksPage.jsx +++ b/chinook/app/front/src/components/TracksPage.jsx @@ -19,6 +19,10 @@ const DEBOUNCE_OPTIONS = { trailing: false, }; +const isEven = (value) => { + return value % 2 === 0; +}; + const renderGenres = (genres) => genres.map(({ ID, name }) => (