db-ui / mono Goto Github PK
View Code? Open in Web Editor NEWDB UX Design System Monorepo - Provides Design Tokens and components for Web UIs
Home Page: https://db-ui.github.io/mono/review/main/
License: Apache License 2.0
DB UX Design System Monorepo - Provides Design Tokens and components for Web UIs
Home Page: https://db-ui.github.io/mono/review/main/
License: Apache License 2.0
With the introduction of Standalone Components with Angular 14, components can be imported and tree-shaked individually without the need of a wrapping module such as DBUIElementsModule
.
It would be great if all components can be marked as standalone
and imported individually.
compare to db-ui/elements#605
Especially to migrate from Angular 13, but to provide version Angular 14 and 15 showcases we'll introduce current
and lts
showcase folders at least for Angular and React, as both Svelte and Vue don't seem have a lower major LTS version (any more) at the moment.
We should add a linter or formatter for shell scripts e.g. https://github.com/un-ts/prettier.
https://github.com/kucherenko/jscpd <- is also a good option
We should definitely integrate something like that ([CSSNANO](https://cssnano.co/) looks promising, I've tested it the other day, it could even merge some declarations that we're currently spreading across some files for better separation), but this should most likely only squeeze out the last bytes – if we do have a general problem within our imports of our modular SCSS files, our users who might do an individual SCSS consumption and build would either still have this problem or additionally even also setup postcss on their end which might be acceptable, but still strange if we could instead analyze and fix our file imports instead.
Originally posted by @mfranzke in #228 (comment)
We'd like to evaluate whether we stay with cypress or move to playwright.
We most likely would need to differentiate in between regular and enterprise themes from the very beginning (like e.g. for a different general tonality). We do have this within e.g. DB UI Core and Base at the moment and need to even also enable it within this repo.
We should either use a `button` or `a` HTML tag within the `card` component to enable keyboard and screenreader compatibility.
Originally posted by @mfranzke in #211 (comment)
see also #98
Examples:
https://github.com/parcel-bundler/parcel/issues/new/choose
This might be especially beneficial as it should be possible to link to those templates directly on links when we have a specific scope in mind like e.g. https://github.com/db-ui/mono/blob/main/output/angular/README.md?plain=1#L16
We're differentiating in between the major framework releases within our showcase
folders and that for need to ensure that those aren't being updated as major releases by dependabot.
This is somehow more of a conceptual question, because the main difference is regarding whether those should change in case that only the text-size gets increased by browser settings vs. the zoom functionality is actually being used (e.g. in Firefox: "Zoom text only").
Originally posted by @mfranzke in #20 (comment)
Is this still in use somewhere ?
Originally posted by @mfranzke in #10 (comment)
Our CSS file has doubled in size, so it seems like we're having a problem with code redundancy (which you could even also see in WebDeveloper tools).
Within other installations we were using npm ci
, and now only npm i
within our CI/CD scripts. Let's find out what's best and document it. Most likely we would need npm ci
for comparable builds (as only the lock file guarantees consistent versions).
Specifically for the JS frameworks (Angular, Vue, React) that we're providing showcases for, it's always about the current and the LTS version; in these cases we don't want to be flooded by PRs that include major version updates, that would also increase the major version for the LTS folders.
The easiest might be to deactivate major version updates specifically for these frameworks dependencies in total, as we would be aware and need to a lot of more work than just a PR to provide a new version, both in our output targets, as well as the showcase folders.
This would be a followup to the existing entries: https://github.com/db-ui/mono/blob/main/.github/dependabot.yml#L21
Currently we only tested template driven forms in angular.
Further tests should include the following:
We need to introduce the system to our users and provide guidance on how to contribute or how to use examples / try out the components themselves. This even also includes working examples.
A nice to have would be to even also provide boilerplate creation.
let's rename this to something more clearly like you did with https://github.com/db-ui/mono/pull/250/files#diff-ad7e7a997beb8ef9a515ddb702af1aeb855c01a6f33dd6b43f6a1b045f1663c1R21 (or it's a leftover in https://github.com/db-ui/mono/pull/250/files#diff-1a9b5ad81b8ee2e24995352d594f2bb9a5ee1aee41ece3221071f00b5fd3d8d7R11)
Originally posted by @mfranzke in #250 (comment)
As a followup for db-ui/core#223 we even also need to ensure that we collect general styles to the source/_patterns/01-elements/_form-elements.scss
again.
Due to an issue with Mitosis (BuilderIO/mitosis#833) we're currently not able to use custom emits for vue components. Therefore we have to provide a solution for to allow access of component values (e.g. input component)
We should evaluate whether we still would need to provide a showcase base on Angular 13, as Angular 15 is even already out now and 13 only in LTS mode (same as version 14): https://angular.io/guide/releases#actively-supported-versions
We could get some insight into the necessary updates via https://update.angular.io/?v=13.0-14.0
Additionally we should think about providing more than one framework version, compare to db-ui/elements#1
see also db-ui/elements#691
Add a start
script to the root of the monorepo with the option to select a showcase.
Candidate for terminal selection of one of them:
https://github.com/SBoudrias/Inquirer.js
As dependabot doesn‘t proceed with their grouping PRs feature at the moment, we should consider to use renovate (at least for the moment). there‘s some progress now regarding grouped updates: dependabot/dependabot-core#1190 (comment)
Besides that, it seems to have some further interesting defaults, that dependabot doesn't provide at all:
Instead of previous evaluations, it seems that renovate additionally provides a good stack of default settings.
We'll introduce partly a whole new techstack to this monorepo. We therefore need to document our decisions e.g. via ADRs.
e.g. dependabot
:
renovate
https://ivantanev.com/safer-coding-with-husky-hooks/ -> "3. Auto-install npm dependencies when switching branches"
or https://www.npmjs.com/package/git-pull-run
The PRs #151 (dependabot) and https://github.com/db-ui/mono/actions/runs/3987330539/jobs/6837019345 have been merged (automatically) even though that the linting step failed.
@nmerget where is this file being in use? Could you please add a comment that documents / includes some information?
Originally posted by @mfranzke in #10 (comment)
If I understand this component correctly, a [`hr`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr) tag might be a semantically better fit than a `div`.
Originally posted by @mfranzke in #10 (comment)
This line needs refactoring
fyi @nmerget
How to start, etc.
The package.json defines ./dist/index.js
both in its main
and module
fields, whereas this file doesn't exist: https://cdn.jsdelivr.net/npm/@db-ui/[email protected]/dist/
Candidates:
Background:
We don't want to manually update (even not per "Auto update" button) the PRs, especially the ones that are set to auto-merge.
Most of the currently deactivated eslint
rules are enabled or introduced by XO
for good reasons that are described in the related documentation pages. If we'd like to deactivate those, we should do this for good reasons that we should document somewhere (probably an ADR).
Check whether we can use ACT to run GitHub Actions locally.
Ideally we would be able to run all CI/CD steps locally, so one does not need to push into a remote branch to know whether the CI status would still be green.
Document why we could only have incorrect versions within our version field in the package.json files:
Let's try to avoid this tag and use the existing wrapping one within another evaluation.
Originally posted by @mfranzke in db-ui/core#198 (comment)
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.