Open IniZio opened 5 years ago
One way to make up/down()
easy is using git patch, but will require the project to be using git
Prototyping config at https://gist.github.com/IniZio/45282dbdba2ddc144f8fbbaa59141f8d
Config transform tools:
Nice reference:
For brainstorming and progress tracking.
Firstly, what is torbjorn for?
When i created clipped it was for grouping all kinds of config into one single object with jointed to make manipulations easier.
I thought unifying different ways of configuring libraries is easy but its actually pretty clumsy, since most libraries only provide some of the many ways like
.xxxrc
,package.json
and command line arguments.Instead of unifying, generators like yaoman might be a better solution.
But yaoman is a one-time boilerplate generator which is not really extendable, especially since you cannot revert a certain part of boilerplate.
I want to create torbjorn for a practical solution, unlike neutrino which has elegant code but hard to learn, or create-react-app that no one wants to read through its freaking codebase
So how will torbjorn solve it?
Generator approach instead of plugin so that when users want to add features on top they can just refer to normal ways instead of learning jointed and
clipped.config.js
Make it so generators will have typings intellisense support, in clipped you had to refer to docs over and over again. Kind of like gulp maybe?
You should be able to
up()
ordown()
parts of or the whole generatorGenerators themselves should be sustainable. The generator itself can provide fixed version, but there will be a hook before
dev
andwatch
that checks if there are any updates with https://www.npmjs.com/package/latest-versionTBD
Progress
fs
,git
,prompts
,config
,resolve
describe
,run
,dispatch
dispatch
git init
,npm init
run
: Runs all actionsreplaced withdispatch <action1> <action2> ...
: Dispatches named actions--only
option inrun
revert <action1> <action2> ...
: Revert named actionshelp
version
--external
: Fetches external turret (before any given command)config.require()
instead ofconfig('torbjorn')
?