0.6.1 • Published 17 days ago

@cscart/tools v0.6.1

Weekly downloads
-
License
MIT
Repository
-
Last release
17 days ago

Build tools for cs-cart enterprise extensions

Install

  1. yarn add -D @cscart/tools
  2. create cscart.config.js at the root of your project
  3. Install required dependencies (like @cscart/tools-gql)
  4. yarn build-modules or yarn build-modules --watch

Share your components and functions

Share your code for reusing by other developers is a good practice. It allows to reduce develop time and JS bundle size, so you should keep your code accessible. To do it follow next steps:

  1. edit cscart.config.js:
const cscartConfig = {
  rollup: () => ({
    entries: [
      {
        // Add this line to build your code as ESM
        input: [ 'src/lib/*.ts' ],
      },
      ...
    ],
  }),
}
  1. Add exports and typesVersions to package.json:
 {
  "name": "package-name",
  "version": "0.0.1",
  "description": "",
  "types": "dist/index.d.ts",
  "module": "dist/index.js",
  "exports": {
    "./*": {
      "import": "./dist/lib/*"
    }
  },
  "typesVersions": {
    "*": {
      "*": [
        "./dist/lib/*"
      ]
    }
  },
  "files": [
    "dist/**/*"
  ],
  "type": "module",
  "devDependencies": {
    ...
  },
}
  1. Create lib directory at your src
  2. Add and re-export your code like this: src/lib/Button.ts:
export { default } from '../components/button/Button'
  1. yarn build-modules

DOC DRAFT

Share modules

external libraries - rebuild with treeshaking and reduce chunk count

@cscart libraries - install to vendors folder with special script

why not with npm? NPM is dependency manager. But we need to install only needed package

node install-esm.js @cscart/ui