Comments (3)
Yes, we've talked about this and agreed that a build step seems like the best way to make things easier for contributors without making them harder for the macros.
As you say, actually building the things seems trivial. I'm more worried about where the build code is hosted and how we secure it. Even just where we are now, we're automatically building (parts of) hundreds of MDN pages from content that lives outside developer.mozilla.org. To the extent that we can trust access to this repo, that's OK, but are we further extending our trust by having a build step?
from browser-compat-data.
My opinion here is that the build mechanism should be part of that repo as it will makes things easier to maintain in the short term. If we agree on #22, I would suggest the following organization:
Folder structure:
.src
.tools
.tools/hooks
.tools/scripts
data
.src
will contain all the JSON files with our data that needs to be maintained
data
will contain the built (aggregated, minified) JSON files ready to be used
.tools/scripts
will contain all the necessary script (Node.js scripts) to make the build, run tests, etc.
.tools/hooks
will contain git hooks necessary to enhance testing and build to make sure the whole data set remain coherent (at that point, as we are using Travis to automate testing, it is not a hard requirement, just some nice helpers).
On top of that, we can use NPM script to run everything is needed (at minimum I suggest npm test
and npm run build
)
Such organization will make things easier if it appears that maintaining the tool chain and the data in the same repo is not sustainable (but I doubt so at that stage)
from browser-compat-data.
WebExtension JSON files were the only ones with this problem. I'm calling this fixed.
from browser-compat-data.
Related Issues (20)
- api.ClipboardEvent.clipboardData - Incorrect availability banner HOT 1
- css.properties.letter-spacing - <Google chrome handle letter spacing diff> HOT 1
- html.textarea.spellcheck - duplicated global attributes
- api.fetch - Safari 17.2 supports setting priority of fetch HOT 3
- html.elements.image - <SUMMARIZE THE PROBLEM> HOT 1
- http.headers.Alt-Svc - Safari Alt-Svc compatibility is outdated
- html.elements.mark - Support in screen readers is mixed HOT 15
- http.status.503 - <SUMMARIZE YOUR PROBLEM> HOT 1
- http.status.504 - <SUMMARIZE THE PROBLEM> HOT 1
- api.File.type - duplicated data between `api.File.type` and `api.Blob.type`
- css.selectors.has - Baseline status banner incorrect HOT 1
- api.RTCRtpReceiver.transform - Chrome support encoded stream transform HOT 3
- api.HTMLAnchorElement.hrefTranslate&html.elements.a.hreftranslate - Missing browser compat data HOT 1
- api.KeyboardEvent.keyCode - <SUMMARIZE THE PROBLEM> HOT 1
- webextensions.api.userScripts - Chrome now supports userscripts HOT 2
- css.selectors.host - Discrepancies between the baseline widget and the full compatibility table HOT 1
- css.properties.font-family - < is not working> HOT 2
- api.File - The type of python file in Windows's browser is not recognized HOT 1
- html.elements.input.type_file - The type of python file in some Windows's browser is not recognized HOT 1
- webextensions.manifest.browser_specific_settings - `gecko_android` for `Firefox` should not be No HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from browser-compat-data.