@basaldev/blocks-catalog-service
v5.2.5
Published
Service for managing product catalog and categories.
Keywords
Readme
blocks-catalog-service
Overview
TODO
🏗 Project Structure
.
├── .github
├── .husky # husky settings - @basaldev/lint-staged-config
├── .vscode # vscode settings
├── .yarn # yarn binary, config and project dependencies
├── coverage * # jest coverage report
├── dist *
├── docs
│ ├── assets # documentation related assets
│ └── reference # api docs
├── src
│ ├── adapter
│ ├── test
│ └── index.ts
├── .eslintignore
├── .eslintrc.js # @basaldev/eslint-config
├── .gitignore
├── .nvmrc
├── .pnp.cjs # yarn config
├── .pnp.loader.mjs # yarn config
├── .prettierignore
├── .prettierrc.json # @basaldev/prettier-config
├── .yarnrc.yml # yarn config
├── cspell.config.js # @basaldev/cspell-config
├── .yarnrc.yml # yarn config
├── jest.config.js # @basaldev/jest-preset
├── package.json
├── README.md
├── tsconfig.json # @basaldev/tsconfig
└── yarn.lock
* Not tracked by git🔰 Setup
Get NPMJS private token for nodeblocks
- Please contact @basal-gen or @basal-luke for getting the token
- Add to your local environment -
.zshrc.bashrcetc
export NODEBLOCKS_DEV_TOKEN=__INSERT_YOUR_TOKEN_HERE__Install NVM
Install Yarn (Global)
Yarn must be installed globally for the project's NodeJS version. This should be done so using the command below.
nvm use && npm install -g yarnInstall Husky 🐺
yarn husky install⚠️ IMPORTANT: Only use the yarn command install or run scripts. Do not use npm run xxx
🪄 Usage
Run typescript compiler
yarn startRun debug server on default port: 9339.
- Requires
yarn startto be running in a separate session - Port should be updated to avoid conflicts with other projects
package.json > scripts > debug
yarn debugRun unit tests
docker compose up
yarn testInstalling packages
yarn add <package> | yarn add <package> -DDB Migration
DB need Atlas Mongodb
DB need create a Search index for search use (name is product_free_text_search_index)
{
"analyzer": "lucene.kuromoji",
"searchAnalyzer": "lucene.kuromoji",
"mappings": {
"dynamic": true,
"fields": {
"description": {
"analyzer": "lucene.kuromoji",
"ignoreAbove": 18,
"searchAnalyzer": "lucene.kuromoji",
"type": "string"
},
"name": {
"analyzer": "lucene.japanese",
"ignoreAbove": 20,
"searchAnalyzer": "lucene.japanese",
"type": "string"
}
}
},
"storedSource": true
}⚡️ Special Notes for VSCode Users
📐 Required Extensions
Please ensure the following extensions are installed:
- arcanis.vscode-zipfs
- dbaeumer.vscode-eslint
- seatonjiang.gitmoji-vscode
- henrynguyen5-vsc.vsc-nvm (optional)
🛠 Workspaces
The kit uses vscode workspaces for vscode project settings:
- All common vscode project settings should be specified in the
.vscode/${project_name}-workspacefile. - Personal user settings should be added to
.vscode/settings.json(gitignored) - ⚠️ You must open this project as a workspace in vscode This can be done by clicking the workspace file while in vscode, or by using
File > Open workspace from file.
🪛 TypeScript
When prompted asking which typescript VSCode should use, it's very important that you choose the local project version located at .yarn/sdks/typescript/...
💅 Prettier
If you have the prettier extension installed, please disable it for this project. ts-kit uses eslint to execute prettier, so having prettier enabled in vscode will cause conflicts and strange behavior.
🤖 Format on Save (optional)
Add the following code to your .vscode/settings.json will automatically fix all eslint errors whenever you save a file.
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}🚀 Package Deployment
This library uses github registry to publish private npm package. For detailed instructions see here
💡 Note: that npm is used for version & publish commands
1. Bump version
npm version ${VERSION}2. Build Package
yarn build3. Publish Package
npm publish --tag=latest | experimentalThen go to github https://github.com/basaldev/backend-sdk/packages to check published packages.
