When I was creating my (use)Interceptor priorty PR it took me some time to get a working setup and I was wondering if there were some docs on how to ideally setup a local dev enviroment to test routing-controllers (against already existing projects).
A lot of the steps below were added because the (pre)publishing happens in the github workflow. I was curious if there is a better, easier alternative to test out local routing-controllers changes against already existing projects?
I've currently setup the project to support local development and use routing-controllers as a local (symlinked) package like so:
- Install yalc globally
- Install
fs-extra as a devDependency and create a file copyFiles.js in the root of routing-controllers:
const fse = require('fs-extra');
const buildFolders = ['/cjs', '/esm2015', '/types'];
buildFolders.forEach(folder => {
fse.copySync(`./build${folder}`, `.${folder}`, { overwrite: true }, function (err) {
if (err) {
console.error(err);
} else {
console.log('success!');
}
});
});
- Add the following lines to .gitignore in routing-controllers:
- Create a .prettierignore file and add the following in routing-controllers:
- Create a .yalcignore file in routing-controllers
/docs
/lang
/node_modules
/sample
/src
/test
/.github
/build
!cjs
!esm2015
!types
- Add the following script to your package.json in routing-controllers:
"preyalcpublish": "npm run build && npm run build:es2015 && npm run build:types && node copyFiles"
- Run
yalc publish in this (or forked) repository to publish to the local package store. This will show a message that the package has been published. In my case routing-controllers@0.9.0 published in store.
- In your consuming project, run
yalc link routing-controllers@0.9.0. This will add a folder .yalc folder in your project and symlink it to therouting-controllers in your node_modules. (Make sure to check your version specified in package.json and not straight up copy paste the version I'm using)
- Whenever you change something in the
routing-controllers package, publish again and run yalc update in the consuming package.
For the people using this setup; please do not add these files to version control (maybe even add them to .gitignore)
When I was creating my (use)Interceptor priorty PR it took me some time to get a working setup and I was wondering if there were some docs on how to ideally setup a local dev enviroment to test routing-controllers (against already existing projects).
A lot of the steps below were added because the (pre)publishing happens in the github workflow. I was curious if there is a better, easier alternative to test out local routing-controllers changes against already existing projects?
I've currently setup the project to support local development and use routing-controllers as a local (symlinked) package like so:
fs-extraas a devDependency and create a filecopyFiles.jsin the root of routing-controllers:yalc publishin this (or forked) repository to publish to the local package store. This will show a message that the package has been published. In my caserouting-controllers@0.9.0 published in store.yalc link routing-controllers@0.9.0. This will add a folder.yalcfolder in your project and symlink it to therouting-controllersin yournode_modules. (Make sure to check your version specified in package.json and not straight up copy paste the version I'm using)routing-controllerspackage,publishagain and runyalc updatein the consuming package.For the people using this setup; please do not add these files to version control (maybe even add them to .gitignore)