Icon and logo kit providing a consistent and predictable user experience across platforms and NRK services
https://static.nrk.no/core-icons/latest/
First clone @nrk/core-icons
and install its dependencies:
git clone git@github.com:nrkno/core-icons.git
cd core-icons
# Install dependencies according to package-lock-file
npm ci
npm start # Your browser will open documentation with hot reloading
After having applied changes, remember to build before commiting and pushing your changes upstream.
See Conventional Commits for commit guidelines.
git checkout -b feature/my-changes
# Update the source code
npm run build
# Test to ensure integrity
npm run test
git commit -am "<type>[optional scope]: <desciption>"
git push --set-upstream origin feature/my-changes
# Make a PR to the master branch,
# Assign a developer to review your code
We use Testpack-cli to ensure published exports work as intended. In short it does the following:
- Runs
npm pack
and moves the generated archive to a sibling test foldernrk-core-icons-testpack
(which is created if not present) to core-icons - npm-installs React in the testpack-folder
- Copies the
test
-folder to the testpack-folder - Runs the
testpack-script
in the testpack-folder - Cleans up
We use arethetypeswring/cli to verify that our type declarations are available for consumers.
- We purposefully ignore the false-cjs-rule as our types are generated from @nrk/svg-to-js which only gives us cjs types. We chose not to duplicate the
d.ts
-file to ad.mts
to solve this error as it could lead to unexpected behavior for consumers.
Uses Node Version Manager (nvm) to organize node version
nvm config is saved in .nvmrc
, set appropriate node version using:
nvm use
See the installation guide and usage guide.
To test the script that generates the drawables and Kotlin code locally run node .github\scripts\generate-android-vectors.js
Use gradlew publishToMavenLocal
to publish a version locally on your machine to test in other projects