Skip to end of banner
Go to start of banner

Development Setup

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

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:

$ 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:

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

Clone platform and applicable ui-module code

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:

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

  • No labels