This repository is a monorepo for the iLib-js project. It aims to contain all the packages that are part of the iLib-js, even though every package is published to npm as a separate package.
The monorepo is managed using pnpm workspaces and Turborepo.
All packages are placed in the packages/
directory.
Each package has its own README.md
and package.json
, which are located in the package root directory.
- Project Status
- Project Structure
- Targeted Node.js Versions
- Usage
- Setup
- Contributing
- Publishing
- License
This project is currently in development.
iLib-js packages are now being migrated to this monorepo. All the packages that are moved to the monorepo are marked as 'archived' in their original GitHub repositories.
The project is structured as follows:
packages/
- Contains all the packages that are part of the monorepo. Each package is a separate directory containing its ownpackage.json
file. Each package is published to npm as a separate package.package.json
- Contains the root project configuration.pnpm-workspace.yaml
- Contains the configuration for pnpm workspaces.turbo.json
- Contains the configuration for Turborepo.pnpm-lock.yaml
- Contains the lockfile for pnpm.
ilib-mono
aim to target Node.js versions >=12.0.0 when building packages for npm registry.
To use packages in this monorepo, import them as any other npm package.
For example, to use the ilib-common
package from within any other package in the /packages
directory, import it like this:
import { JSUtils, Utils, Path } from 'ilib-common';
For detailed setup instructions to get the project running on local machine, please refer to the SETUP.md file.
Please see the CONTRIBUTING.md file for guidelines on how to contribute to this project.
For publishing instructions, please see the CONTRIBUTING.md file.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.