-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some Ideas #38
Comments
Hey @ozum! Thanks for the feedback! I love the idea of an
Which I have aliased to The TypeScript thing is fine, but I wont include that in kcd-scripts. If I do any static typing support eventually it'll be with flow which wont really require any changes anyway. I'll definitely eventually upgrade husky, but I'll probably using the In paypal-scripts, I switched to a remark plugin and I much prefer that so I'll probably switch this to that eventually. Thanks for the feedback and ideas! Good luck on your fork! |
@kentcdodds thanks for the feedback. For init script; I think users of toolkit already pay dependency tax during My biggest concern is about symlinks. What do you think about using symbolic links? |
I'm not sure I understand, so you're saying that it conditionally installs packages based on the way the project is set up?
I'm not sure what you mean... |
No, it installs all. Heavy, but in my case it is OK, because I use
For above,
For above,
I use symbolic links for So, after I update config file in Please see a sample project root for an example: (Auto executes Do you see any caveats on usage of symbolic links like that? |
I didn't do it, but it seems possible. You can divide Main module |
One of the benefits of That said the initial download is pretty big and I do want to reduce that. So I've been thinking about ways to lazily download some dependencies and I think I may have an idea. It will probably be a while before I implement it (lots of other priorities), but it basically amounts to caching the dependencies on-demand. So the first time you run a script it may take a moment to install some things, but the second time they'll be cached. I'm not certain this will work, but we'll see. I'll let you know if I ever work on this. As for symbolic links, I used to do that but I no longer do because it became too confusing and sometimes it didn't seem to work very well on other people's machines. So I don't mind duplicating things like those files. They don't change very often anyway. |
Hi,
This is a not bug report. I want to thank you for the toolkit. Previously I used a toolkit similar to this idea from Walmart Labs (don't remember name), but
kcd-scripts
is more feature rich.I implemented a derived version of
kcd-scripts
and would like to share a few ideas back here, hoping they are useful for others and hear what they think about them. My derivation is for typescript, but ideas are general.init
script: Since there are tons of config files, this script generates necessary files in project directory, and creates script entries inpackage.json
. For example:.gitattributes
,.gitignore
,.prettierrc.js
are generated.build
,test
,validate
etc. scripts entries are created..gitattributes
, is created as symlink to some base file inkcd-scripts
. So whenever original file is updated, this files acts as updated as well.kcd-scripts
work. However, IDEs are expecting them in project folder to be functional. For example WebStorm looks for.eslintrc
,tsconfig.json
etc. Those files are generated as inheriting from originals, so IDEs can find them, and they are up to date whenkcd-scripts
are updated.init
script is automatically executed viascripts.install
entry in package.json, when the module is installed.scripts.precommit
entry to.huskyrc.js
file, because it will be deprecated in next version of `husky``jsdoc2md
script andreadme.hbs
template withdoctoc
support, which generates API docs both for JavaScript and TypeScript.I didn't publish it yet, because it is still rough.
@kentcdodds, as the creator of original toolkit and experienced user of it, I would like to hear what do you think about those. Are there any caveats/pitfalls or any suggestions?
Kind Regards,
The text was updated successfully, but these errors were encountered: