@kentickets/kencommon v1.0.15
Common
- To store the common/shared code for several services
- Pushed to NPM registry. Write in TS but publish as as JS
Dev-Dependencies
- typescript
- del-cli
Steps to push to NPM registry
- Register NPM accont
- Open a new project for the code
- git commit the project, no need push
git init
git add .
git commit -m "initial commit"- login (npm login)
Convert TS to JS
- Add script into file package.json.
"build":"tsc"
- Need to specify the configuration to convert to JS in tsconfig.json
"declaration": true: Generate .d.ts files from TypeScript and JavaScript files in your project.
"outDir":"./build": Specify an output folder for all emitted files.
- Add fields into file package.json
main: "./build/index.js" : Defining exactly what file we export. It indicates what file we tried to reach into when write out the import statement in other services.
types: "./build/index.d.js" : Tell TypeScript what the main type definition file inside of our project is.
files:["build/**/*"] : Tell NPM what set of files inside of our project want to make sure 100% gets included inside the final published version of the package. So, it is the everything inside the build directory
Update NPM Pacakge Changes
git statusto check any changesgit add .git commit -m <comment>- Add increment to the version
- Add manually in package.json
- Run command
npm version patch. It willa automatically add the number of the version. For example, 1.0.0 --> 1.0.1
How to import/include all the common/shared code in index.ts
Remember install all the dependencies
Method 1:
Cons: Have to know about different directories and different files inside of our project.
Pros: Easy to do and access.
Example: import {BadRequestError} from "@sgticketing/common/errors/bad-request-error"
Method 2:
Export everythings from the folders
Example: export * from "./errors/bad-request-error";