Symlink Manager easily manage to symbolic link processes of your dependency packages.
npm install symlink-managerSymlink Manager easily manage to symbolic link processes of your dependency packages.
``bash
yarn add symlink-manager --dev
npm install symlink-manager --save-dev
`
Insert the following line in scripts of your package.json file.
`js`
// ...
"scripts": {
"symlink": "symlink",
// ...
},
Symlink-manager will help you for direction.
`bash
yarn symlink
npm run symlink
`
| Command | Description |
| ------- | ------------------------------------------------------------------- |
| Link | Creates symbolic link for selected packages |
| Unlink | Removes symbolic link for linked packages |
| Copy | Copies link folder into node_modules directly without symbolic link |
Symlink-manager supports Angular. (Only supports created with ng generate lib libraries).
`bash`
yarn symlink --angular
Symlink-manager supports Yarn.
`bash`
yarn symlink --yarn
Symlink-manager can take your packages on command.
`bash`
yarn symlink --packages my-package-1,my-package-2 --no-watch
Symlink-manager supports the CI
`bash`
yarn symlink copy --angular --all-packages --no-watch --sync --excluded-packages package1,package2
> If building order matters, you can pass --sync.--prod
> You can pass option for production configuration.
`bash`
yarn symlink --sync
If you are not using Angular, you must add symlink.config.json for your configuration.
symlink.config.json example:
`js`
{
"yarn": true,
"packages": [
{
// required
// your main dependency folder path. The folder must have package.json.
"libraryFolderPath": "packages/core",
// required
// this folder for symbolic link. You may enter the same value as libraryFolderPath.
// linkFolderPath folder must have package.json.
"linkFolderPath": "dist/core",
// optional
// your build command.
"buildCommand": "ng build core",
// optional
// output -> cd packages/core && ng build core
"buildCommandRunPath": "packages/core",
// optional
// symlink-manager doesn't watch these folders
"exclude": ["node_modules", "dist"]
}
]
}
For more:
See the Angular example project and document
See the React example project and document
- After 5th step (Check the 5 steps in Angular Example), run ng build core --watchcd dist/core
- Open new terminal window and go dist/core ()npm link
- Run cd ../../
- Go back to main folder ()npm link @symlink/core`
- Run
Repeat it for every package.
Do not forget, symlink-manager do this automatically. Symlink-manager can create symbolic link a lot of packages in one terminal window