scaleway/scaleway-lib
scaleway/scaleway-lib has 36 GitHub stars and 16 forks. Star changes are not measured yet. Last checked 2026-11-12 12:07 UTC. Last push 2026-11-12.
scaleway-lib is a set of NPM packages used at Scaleway
Crecimiento de estrellas medido
- in 24h
- Actualización retrasada
- in 7 days
- Actualización retrasada
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Original
scaleway-lib
scaleway-lib is a set of NPM packages used at Scaleway.
Available packages
@scaleway/changesets-renovate: A tool to automatically create changeset on renovate branches@scaleway/fuzzy-search: fuzzy search utility@scaleway/oxfmt-config: An oxfmt opiniated configuration.@scaleway/oxlint-config: An oxlint opiniated configuration.@scaleway/random-name: A tiny utility to generate random names.@scaleway/regex: usefull regex named.-
@scaleway/use-dataloader: A tiny react hook to to handle api requests.@scaleway/use-growthbook: A tiny hook to handle Growthbook Feature flag and A/B test tool.@scaleway/use-i18n: A tiny hook to handle i18n.-
-
@scaleway/use-state-reset: A small react hook to reset state to its initial value when one of the dependencies changes@scaleway/use-storage: A React hook to interact with local/session storage in reactive way with the same API as setState@scaleway/use-visual-persistence@scaleway/validate-icu-locales: A small cli to check ICU locale errors@scaleway/types: Shared TypeScript utility types used across Scaleway projects.
Development
Locally
git clone [email protected]:scaleway/scaleway-lib.git
cd scaleway-lib
pnpm install
# ... do your changes ...
pnpm run lint
pnpm run test:unit
Link against another project (with yalc) => FAVORED
yalcis a tool aiming to simplify working with local npm packages by providing a different workflow thannpm/yarn/pnpm link, hence avoiding most of their issues with module resolving.
pnpm install -g yalc # Make sure to have the yalc binary
cd scaleway-lib/packages/example_package
pnpm run build && yalc publish
# Now it's ready to install in your project
cd ../../../project-something
yalc add @scaleway/package-name
cd ../scaleway-lib/packages/example_package
# If you do some changes into your package
pnpm run build && yalc publish --push --sig # --push will automatically update the package on projects where it have been added, --sig updates the signature hash to trigger webpack update
:warning: since 1.0.0.pre.51 (2021-04-23),
yalc publishneeds the--sigoption to trigger webpack module actual update.
:warning:
yalccreate ayalc.lockand updates thepackage.jsonin the target project. Make sure to not commit these changes
Testing a package in a pnpm workspace
If you need to test a package that is used in more than one project in a pnpm workspace, it can be tedious to add the package in all projects and you might still have issues with modules resolution.
In order to install your local package in all the projects of the monorepo, you can use the pnpm overrides feature:
- first install the package using yalc (
yalc add @scaleway/package) at the root of the pnpm workspace - then add a pnpm override to use the yalc version in the whole workspace
Example package.json:
"dependencies": {
"@scaleway/package": "file:.yalc/@scaleway/package", // <- added by yalc
}
"pnpm": {
"overrides": {
"@scaleway/package": "$@scaleway/package", // <- tell pnpm to use the version referenced in the dependencies
}
}
Link against another project (with pnpm link)
cd packages/example_package && pnpm link
cd - && pnpm run build # rebuild the package
# Now it's ready to link into your project
cd ../project-something
pnpm link @scaleway/example_package
Linting
pnpm run lint
pnpm run lint:fix
Unit Test
pnpm run test:unit # Will run all tests
pnpm run test:unit:coverage # Will generate a coverage report
Notes
Tools
This projects uses
- turbo to manage our monorepo setup
- tsdown to compile and bundle our packages
- oxlint & oxfmt to lint and format files
- vitest to test our packages
On build targets
For platform neutral packages the target is esnext by default. And for Node cli packages target is node@24
On build outputs
We only output ESM modules. Please read this.
On commits
We don't enforce anything on the commit level but your PR title must respect the conventionnal commits convention
Contributing Guidelines
- Ensure tests are still ok and code coverage have not decreased
- Follow linter rules (tldr).
- CI is enforced, you won't be able to merge unless pipeline is successful.
Explorar proyectos relacionados
freeCodeCamp/freeCodeCamp
Base de código abierto y plan de estudios de freeCodeCamp.org. Aprende matemáticas, programación y ciencias de la computación gratis.
459,068 estrellasdonnemartin/system-design-primer
Aprende a diseñar sistemas a gran escala y prepárate para la entrevista de diseño de sistemas. Incluye fichas de Anki.
377,732 estrellasreact/react
La biblioteca para interfaces de usuario web y nativas.
252,565 estrellasvuejs/vue
Este es el repositorio de Vue 2. Para Vue 3, visita https://github.com/vuejs/core
212,527 estrellas