You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In https://github.com/chainsafe/js-libp2p-gossipsub, we're using typescript, and attempting to use aegir as much as possible for building/linting/releasing/etc to maintain as much standardization with the rest of the js-libp2p/js-ipfs ecosystem as possible and build off the great work accomplished here.
Right now, linting and releasing using aegir is not feasible due to assumptions aegir makes about our project.
For linting, the issue is:
we check in typescript files to ts/
we build javascript to src/
aegir only lints src/ and test/
For releasing the issue is:
we check in typescript files to ts/
we build javascript to src/
we don't check in src/ to version control
compiling js as a prerelease step creates a dirty repo, no hook is provided in aegir to compile js as part of the release pipeline
Describe the solution you'd like
Ideally, aegir's opinionated processes could be extended to the typescript realm (perhaps exposed w/ a --ts flag ?). To the greatest extent possible, ts->js transpilation can exist as a pre-processing step, and then after that "everything else is treated the same".
Linting, building, releasing can be augmented to
lint ts files directly (using separate typescript linter rules that extend the javascript linter rules)
run tsc to output javascript files when needed, eg to build, test, etc
Not sure what the 'right' workflow should be, just that there seems like an opportunity to extend extend the existing aegir workflow to support typescript-native projects.
If this seems beyond the scope of what aegir is meant for, no worries.
Describe alternatives you've considered
We could continue to work around these issues using package.json scripts and alternative tools when there are unworkable issues.
Is your feature request related to a problem? Please describe.
In https://github.com/chainsafe/js-libp2p-gossipsub, we're using typescript, and attempting to use aegir as much as possible for building/linting/releasing/etc to maintain as much standardization with the rest of the js-libp2p/js-ipfs ecosystem as possible and build off the great work accomplished here.
Right now, linting and releasing using aegir is not feasible due to assumptions aegir makes about our project.
For linting, the issue is:
ts/
src/
src/
andtest/
For releasing the issue is:
ts/
src/
src/
to version controldirty repo
, no hook is provided in aegir to compile js as part of the release pipelineDescribe the solution you'd like
Ideally, aegir's opinionated processes could be extended to the typescript realm (perhaps exposed w/ a
--ts
flag ?). To the greatest extent possible, ts->js transpilation can exist as a pre-processing step, and then after that "everything else is treated the same".Linting, building, releasing can be augmented to
tsc
to output javascript files when needed, eg to build, test, etcNot sure what the 'right' workflow should be, just that there seems like an opportunity to extend extend the existing aegir workflow to support typescript-native projects.
If this seems beyond the scope of what aegir is meant for, no worries.
Describe alternatives you've considered
We could continue to work around these issues using package.json scripts and alternative tools when there are unworkable issues.
Additional context
ChainSafe/js-libp2p-gossipsub#80
The text was updated successfully, but these errors were encountered: