scaleway/scaleway-lib
scaleway/scaleway-lib has 36 GitHub stars and 16 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 06:11 UTC. Last push 2026-11-12.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
scaleway-lib is a set of NPM packages used at Scaleway
웹 및 앱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.
관련 프로젝트 살펴보기
freeCodeCamp/freeCodeCamp
freeCodeCamp.org의 오픈 소스 코드베이스와 커리큘럼입니다. 수학, 프로그래밍, 컴퓨터 과학을 무료로 배울 수 있습니다.
459,109 스타donnemartin/system-design-primer
대규모 시스템 설계 방법을 배우고 시스템 설계 면접을 준비할 수 있습니다. Anki 플래시카드가 포함되어 있습니다.
377,831 스타react/react
웹과 네이티브 사용자 인터페이스를 위한 라이브러리.
252,596 스타vuejs/vue
Vue 2 저장소입니다. Vue 3은 https://github.com/vuejs/core를 방문하세요.
212,524 스타