openedx / browserslist-config Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Affero General Public License v3.0
License: GNU Affero General Public License v3.0
Abstract
Node 16's support will end on September 11, 2023. So we have to upgrade node JS to v18 before that.
Extras
Project should use .nvmrc
to have a consistent node version
We have to update Readme accordingly.
Without specifying a node version (that is, by having an implicit dependency on whatever node version openedx is currently building on), we can easily break builds by using new JS features that came out after the node we use (currently 12, soon to be 16).
For example, we could use some fancy new JS feature that babel provides a polyfill for via the '2 last firefox' line. But then firefox gains support for it and babel stops polyfilling it. Then our CI tests suddenly and curiously break because node16 never supported it and chokes on the new syntax.
Let's make our node reliance explicit!
This sounds like it could maybe be a one-liner, like adding current node
to our list. But this was attempted before and then reverted because it broke our builds.
I don't know the specific error that occurred, but I do know that webpack will error out if you don't also set webpack.target = 'web'
because webpack can no longer infer that. Maybe other tooling would get also surprised by the addition of a node version in the browserslist.
So this ticket is to keep track of the need in general for adding node versions to the browserslist and maybe collect the work items that we'd need to fix when we do make this change.
The only one I know of now is also adding target = 'web'
to frontend-build
. But there ought to be some discovery work to suss out if that's it or there is more work needed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.