DEVELOPMENT.md 1.9 KB

Development

This repo is a monorepo powered by npm's official workspace feature. It contains the following packages:

quill

This is the Quill library. It's written in TypeScript, and use Webpack as the bundler. It uses Vitest for unit testing, and Playwright for E2E testing.

website

It's Quill's website (hosted at quilljs.com). It's built with Next.js.

Setup

To prepare your local environment for development, ensure you have Node.js installed. The repo uses npm, and doesn't support Yarn and pnpm.

Install the necessary dependencies with the command below:

npm install

Start the development environment using:

npm start

This command starts two services:

  • Quill's webpack dev server
  • Website's Next.js dev server

These servers dynamically build and serve the latest copy of the source code.

Access the running website at localhost:9000. By default, the website will use your local Quill build, that includes all the examples in the website. This convenient setup allows for seamless development and ensures changes to Quill do not disrupt the website's content.

If you need to modify only the website's code, start the website with npm start -w website`. This makes the website use the latest CDN version.

Testing

To run the unit tests in watch mode, run:

npm run test:unit -w quill

To execute the E2E tests, run:

npm run test:e2e -w quill

Workflow

A standard development workflow involves:

  1. npm start - to run development services
  2. localhost:9000/standalone/snow - to interactively develop and test an isolated example
  3. npm run test:unit -w quill - to run unit tests
  4. If everything is working, run the E2E tests