Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Repository settings

Pre-release FOLIO modules are published to our folioci package repository, apart from publicly available npm . To install pre-release dependencies, you will need to configure your package manner to install @folio-scoped packages from the folioci repository by executing this in a command prompt:

Code Block
$ yarn config set @folio:registry https://repository.folio.org/repository/npm-folioci/

Dev Workspace

For the best developer experience, it’s advisable to do development within a yarn workspace. Your workspace will need to include a FOLIO platform as well as a clone of your own ui-module. A sample workspace package.json for convenience can be as follows:

Code Block
{
  "private": true,
  "workspaces": [
    "*"
  ],
  "dependencies": {
    "yarn": "^1.22.17"
  }
}

Clone platform and applicable ui-module code

Set Okapi URL

Typescript

Linting

...

Code Block
git clone git@github.com:folio-org/stripes-sample-platform.git

Configure your platform

In your platform directory, update stripes.config.js with the okapi URL of your backend. Update dependencies in package.json with the UI apps you want to include, and add them to the modules section of stripes.config.js as well:

Code Block
module.exports = { 
  okapi: {
    'url':'https://folio-snapshot-okapi.dev.folio.org', 
    'tenant':'diku'
  },
  config: {
    // ...
  },  

  modules: {
    '@folio/some-module': {}, 
    '@folio/other-module': {},
  }

Install dependencies for the workspace

In your workspace directory, run yarn install. This will pull in all dependencies for your platform, including those from your cloned modules.

Run your platform

In your platform directory, run yarn stripes serve stripes.config.js. This will construct a bundle and serve it at http://localhost:3000. The build supports hot-reloading for the cloned repositories, so any changes made there will be immediately reflected in your browser.

TypeScript

TypeScript

Linting

leverage eslint-config-stripes

Testing

leverage jest-config-stripes