Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@bloomreach/babujs
Advanced tools
This is a component shared library build in React. All the components are generic and can be used in any React application. The main goal of this library is to standardize the look and feel across multiple apps and to enable fast development.
npm run start
./src/components/<brComponentName>
Add your component brName.tsx
./src/components/<brComponentName>
Add unit tests for the new component./src/components/index.ts
Add your component export./stories/components/<brComponentName>/brName.stories.ts
Add a stories to the new component/stories/components/<brComponentName>/brName.stories.ts
More often than not, you will find yourself needing to make changes both to an app. as well as the library. For such a development setup we make use of Yalc which creates a symlink between the library repository and the dependent repository.
yalc publish
@bloomreach/babujs@<version> published in store
in the terminalyalc add @bloomreach/babujs@<version>
npm run devserver
yalc publish
yalc update @bloomreach/babujs@<version>
npm publish --tag beta
, and use that beta version in your app.Publishing a new version of the library is automated through GitLab and should be, for all effective purposes, the responsibility of nobody else but GitLab. You should never publish a non-beta version of the library from your local machine.
package.json
file
npm version patch
npm version minor
npm version major
A new version of the storybook will be created and deployed by merging changes into the main branch. The online instance of the storybook will be available at https://babujs.prod.br-engops.io
The Vitest unit test framework is used for the unit testing. The unit test files should end with *.spec.ts
and place close to the component or module which is going to be tested.
The Playwright test framework is used for end-to-end testing. All tests are located in the root folder tests/**/*.spec.ts
.
Currently, end-to-end tests contain only visual regression types of tests based on old demo pages. All the old demo pages have been converted into storybook stories, check stories/demo-pages
. It is not complete stories as they should be in the storybook it is the old demo pages rendered inside the storybook. The main purpose is to use them as a reference in visual regression testing. The visual regression tests for the demo pages located in the tests/visual-regression/demo-pages.spec.ts
file.
Those tests are used only as a first step during the transition to the full unit/e2e test coverage for components. Don't rely on them as final QA guards. Instead of putting effort to support them better write complete unit/e2e tests and add a story for each component.
npm run e2e
to start end-to-end tests inside the Docker container (the docker
and docker compose
should be installed on your machine).npm run e2e:report
npm run e2e:update
. The Playwright will generate new correct reference images which should be committed to the repositoryAll e2e tests run locally in Docker container based on the official image, see Playwright documentation for more details. Tests run inside the Docker container to keep a predictable environment for each developers and CI.
CI setup its own job based on the same Docker image and almost repeat the same commands as it done in docker-compose.yml
file.
Please, be aware that in case of any changes in the CI setup for the e2e tests
job, see .gitlab-ci.yml
they should be applied to the local setup in the docker-compose.yml
and vice-versa.
This process should be only done when updating the library to a mayor release.
FAQs
Bloomreach frontend UI React based shared components - Babu Lib
The npm package @bloomreach/babujs receives a total of 9 weekly downloads. As such, @bloomreach/babujs popularity was classified as not popular.
We found that @bloomreach/babujs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 36 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.