ebayclassifiedsgroup / update-ts-references Goto Github PK
View Code? Open in Web Editor NEWHelper for multi-package repository with TypeScript
License: MIT License
Helper for multi-package repository with TypeScript
License: MIT License
I don't see the need for aliases within a workspace, but if you have the case in your repo please let me know by leaving a ๐๐ป on this comment and add a short comment by yourself, why you use it inside your repo, so I get a better understanding of the value.
Hi ๐
I like this tool and I plan to use it at Verdaccio, we have an increasing number of modules and update references manually is though, but we uses pnpm
and this requires some sort of refactoring to your tooling. Would you be interested?
https://pnpm.js.org/en/pnpm-workspace_yaml
https://github.com/verdaccio/verdaccio/blob/5.x/pnpm-workspace.yaml
It might be required to add some extra deps, as yaml to js and add some new CLI argument like --strategy
or --support
so users can choose and even add support for others tooling.
I'd like to work on this but first know your thoughts.
I work in a project where some people use windows and others use linux.
node, typescript (and most other tools) work fine if unix style paths are used in e.g. tsconfig.json
This tool is currently modifying all our tsconfig.json files if executed on windows by replacing all / by \.
I think this could be easily fixed by adding .replace(/\\/g, '/')
to the path.relative()
results.
Hello,
here is my use case: I have two types of packages that I put in two folders, namely foo
and bar
, that each contain many packages. The foo
packages do not contain any shared code and will never be referred to by other packages, though the foo
packages will often refer to the packages within bar
, where shared libs exist. Is there a way to avoid packages from foo
being added as references in the base tsconfig?
This is a healthy feature to have, but I wonder which strategy would be the best one. Thoughts on this ?
I would like to bring this to a PR.
here is a snippet from the main package.json
"private": true,
"workspaces": [
"nightwatch-core",
"sample-core",
"sample-test"
],
"engines": {
"node": ">=10.0.x"
},
removes references object after doing yarn install
yarn install
yarn install v1.22.5
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ update-ts-references
updating tsconfigs
Done in 2.68s.
"references": [
{
"path": "..\nightwatch-core"
}
]
it shouldn't be removed
In my monorepo, I have tsconfig.json
and tsconfig.build.json
. The project references are in tsconfig.build.json
and using the --configName
arg, I can correctly use that. However the changes have the reference point to the directory. I would like it to be able to specify which filename it points. As all the the different packages have their own tsconfig.json
and tsconfig.build.json
It would be great if I can specify that filename as well. Maybe with the option of falling back to the current directory approach if that file happens to not exist for a package.
Hello,
First of all, thanks for writing this library. I would like to use it in a project that is managed by Rush. The project doesn't contain a lerna.json or pnpm-workspaces.yml file. Would you be open to adding an additional option to load workspace configuration from a .update-ts-references.config.js
file, or something like that, using cosmicconfig.
If you're ok with that, I can put a PR together.
thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.