> **Warning** > This library is under active development and is subject to significant changes. At any time code may be updated, depricated, or entirely removed based on our internal development of the [Apps](https://github.com/contentful/apps) repo.
Warning This library is under active development and is subject to significant changes. At any time code may be updated, depricated, or entirely removed based on our internal development of the Apps repo.
This repository is a home to frontend tooling, primarily used to support integration (app) development.
The library itself offers the Integrations team a place to develop components outside of the app itself, as well as to house highly repeated code, to support reusability as well as customizability.
Ensure that your global npmrc has the following, or if you prefer, create a local npmrc in this repository with the same information:
//npm.pkg.github.com/:_authToken=<your token>
@contentful:registry=https://npm.pkg.github.com
This will allow you to successfully install the node_modules.
To install or update the app locally:
npm i
To run storybook locally:
npm run storybook
To run tests:
npm run test
Option 1: Link the package using the global node module namespace
npm link
and within the test application run
npm link @contentful/integration-frontend-toolkit
Option 2: Use npm pack to create a tgz file locally that mimics a fully packed library structure
npm build
npm pack --pack-destination ~
import the packed file, i.e "file:~/contentful-integration-frontend-toolkit-0.0.0-semantic-release.tgz", into another library for testing
and within the testing library run:
npm install
to actually install the tgz packed file.
You may need to continually update the version in your local package, and repack the tgz file, and reimport it with the new version, when updates are made.
The current build of this toolkit creates build directories directly reflecting the directories under the src directory. You will notice upon building the toolkit, that these directories are created, and this supports submodule imports of the toolkit i.e:
import { HyperLink } from "@contentful/integration-frontend-toolkit/components"
import { sentryMarketplaceAppsSDK } from "@contentful/integration-frontend-toolkit/sdks"
When creating a new directory, you will need to add the directory name to the package.json "files" section in order for it to be exposed as a submodule.
Follow standard Semantic Versioning commit messages (when you squash or commit to master) in order to version the package correctly.
Examples commit messages:
feat(button): Add new button component
By default in this library right now, FIX is a patch release, FEATURE is a minor, and the label BREAKING CHANGE is a major release.