-
Help the adoption of Going Buildless by frontend developers, regardless of frameworks or libraries they use.
-
Make the most valuable tools related to Going Buildless easy to discover, use and contribute to.
@open-wc has become an umbrella project which consists of lots of parts mixed in the same repo and docs site:
-
tools:
es-dev-server
karma-esm
@mdjs/core
storybook-prebuilt
(separate repo)mdjs-viewer
(separate repo)
-
utilities:
building-utils
polyfills-loader
import-maps-generate
import-maps-resolve
-
plugins:
rollup-plugin-html
rollup-plugin-polyfills-loader
storybook-addon-web-components-knob
storybook-addon-markdown-docs
webpack-index-html-plugin
-
presets:
building-rollup
building-webpack
-
testing helpers:
chai-a11y-axe
semantic-dom-diff
testing-helpers
-
WC helpers:
dedupe-mixin
lit-helpers
-
configs:
eslint-config
prettier-config
testing-karma-bs
testing-karma
testing
-
recommendations:
testing-wallaby
deploying
- IDE (VSCode)
-
onboarding:
- create
- codelabs
-
experiments:
scoped-elements
IMHO, the current situation has the following problems, that affect developer experience:
-
navigation. I always struggle to find a link to ES dev server docs, due to complex navigation structure. And I'm already an experienced user familiar with the site. What about newbies who just discovered open-wc?
-
piling up content. Things like ESLint, Prettier, VSCode or Wallaby are definitely useful for those who never tried them. However, these are also matter of personal preference and probably should be downplayed.
-
contributing. The monorepo itself is kinda scary for certain users. It might be easier to maintain, but less clear how to contribute - find an issue, setup the environment locally, submit a PR, deal with CI.
-
versioning. Because of Lerna, there are many releases that are version bumps only. That forces me as a user to look through CHANGELOG entries figuring out if there are valid reasons for me to upgrade.
-
branding. The joke about WC has been so much repeatedly happening, and honestly now it's too annoying. When you reach out to external developers, their first impression really matters, and now it's a bit weird.
-
positioning. Many tools are not specific to web components, and could be used by frameworks users. Unfortunately, there is a somewhat negative feeling about Web Components in certain communitites.
-
walled garden. Despite the fact that developing with ES modules is becoming popular (e.g. Snowpack), the tools and libraries by open-wc are mostly used by web components (former Polymer) community.
Let me make a suggestion that might tackle some of the problems and help to achieve goals:
-
introduce Buildless as a separate brand and GitHub org.
-
suggested slogans:
- "build less, do more"
- "start with
index.html
" - "you might not need build tools"
- "forget about JS fatigue"
-
move the following packages to separate repos under new org:
- tools
- utilities
- plugins (except
storybook-addon-web-components-knob
) - presets
-
create a new website (consider 11ty). These domains are free:
-
keep configs, recommendations, codelabs, WC helpers under Open WC
-
refer to Buildless as a "sibling" project from https://open-wc.org
-
invite other tools authors (Vue.js / Vite, Snowpack) to collaborate
Thoughts?
there are many helpers which are useful for DOM or ES in general and are not WC related, I always suggested to move them out of open-wc and create some sort of generic "web-test-utils" library or contribute to existing ones which are used the most by the JS community