Skip to content
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

Enhancement/issue 426 plugin babel #481

Merged
merged 20 commits into from
Mar 19, 2021

Conversation

thescientist13
Copy link
Member

@thescientist13 thescientist13 commented Feb 22, 2021

Related Issue

resolves #426 (finally!)

Summary of Changes

  1. Added a new plugin for supporting Babel (using private fields / members as an example)
  2. Added initial support for exportMap handling in plugin-node-modules
  3. Established peerDependency for plugin-postcss and plugin-babel
  4. Restored support for browserslist for Babel and PostCSS
  5. Dropped IE11 from .browserslistrc
  6. Restored eject functionality

Demo code using #private members running via branch preview
Screen Shot 2021-03-14 at 6 16 14 PM

TODO

  1. Tests
  2. improve support for / remove commonjs dependency from Babel
  3. Add support for preset-env / browserslist for both PostCSS and Babel
  4. Remove test code / www/package.json / .eslintignore override

Questions / Thoughts

Do we still need an eject feature at this point as now all but our (equivalent) webpack configuration is gone from the project and is being moved to plugins, and I would honestly prefer not to couple so tightly to any particular technology (e.g. Rollup). I think the Rollup plugin API is actually a leaky abstraction but I recognize can be a useful escape hatch. However, if I can find a way to reuse something like ResourceInterface.intercept during build time instead, I might consider deprecating the Rollup plugin API, or at least dropping support for eject.

@thescientist13 thescientist13 added enhancement Improve something existing (e.g. no docs, new APIs, etc) question Further information is requested P0 Critical issue that should get addressed ASAP Plugins Greenwood Plugins breaking labels Feb 22, 2021
@thescientist13 thescientist13 self-assigned this Feb 22, 2021
@thescientist13 thescientist13 linked an issue Feb 22, 2021 that may be closed by this pull request
7 tasks
...pluginBabel({
mergeConfigs: true
}),
...pluginCommonJs(),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will try and remove the need for this this through better exportMap handling

@thescientist13 thescientist13 marked this pull request as ready for review March 5, 2021 21:36
@thescientist13 thescientist13 force-pushed the enhancement/issue-426-plugin-babel branch from dd29716 to 952905f Compare March 5, 2021 23:50
@thescientist13 thescientist13 removed their assignment Mar 14, 2021
@thescientist13 thescientist13 removed the question Further information is requested label Mar 14, 2021
@thescientist13 thescientist13 merged commit 4e6fbf1 into release/0.10.0 Mar 19, 2021
@thescientist13 thescientist13 deleted the enhancement/issue-426-plugin-babel branch March 19, 2021 00:12
thescientist13 added a commit that referenced this pull request Apr 3, 2021
* initial example of a babel plugin

* babel working with babel

* ignore test file

* set default value for babelHelpers

* set peer deps for plugin-postcss and plugin-babel

* WIP babel preset env

* babel preset env working

* add default test case

* minor cleanup

* minor cleanup

* extendConfig refactoring and specs

* improve export map detection and force ESM support from Babel

* test cases and refactoring for postcss

* config look refactor

* enable preset env for postcss and update docs

* grammar

* grammar and punctuation

* delete obsolete test case

* restore eject command and specs and docs

* remove example code from www
thescientist13 added a commit that referenced this pull request Apr 3, 2021
* initial example of a babel plugin

* babel working with babel

* ignore test file

* set default value for babelHelpers

* set peer deps for plugin-postcss and plugin-babel

* WIP babel preset env

* babel preset env working

* add default test case

* minor cleanup

* minor cleanup

* extendConfig refactoring and specs

* improve export map detection and force ESM support from Babel

* test cases and refactoring for postcss

* config look refactor

* enable preset env for postcss and update docs

* grammar

* grammar and punctuation

* delete obsolete test case

* restore eject command and specs and docs

* remove example code from www
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking enhancement Improve something existing (e.g. no docs, new APIs, etc) P0 Critical issue that should get addressed ASAP Plugins Greenwood Plugins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

restore Babel / PostCSS / Browserslist for no bundle development
1 participant