superset/superset-frontend/temporary_superset_ui/superset-ui-plugins-deckgl
2021-11-30 11:14:21 +08:00
..
.github initial commit 2021-11-30 11:14:18 +08:00
packages docs: add scatter demo 2021-11-30 11:14:21 +08:00
.gitignore initial commit 2021-11-30 11:14:18 +08:00
.npmrc initial commit 2021-11-30 11:14:18 +08:00
.travis.yml initial commit 2021-11-30 11:14:18 +08:00
buildAssets.js initial commit 2021-11-30 11:14:18 +08:00
CHANGELOG.md docs: clear changelog 2021-11-30 11:14:20 +08:00
commitlint.config.js initial commit 2021-11-30 11:14:18 +08:00
lerna.json refactor: rename packages 2021-11-30 11:14:20 +08:00
LICENSE initial commit 2021-11-30 11:14:18 +08:00
package.json feat: add deckgl files 2021-11-30 11:14:19 +08:00
README.md docs: update readme 2021-11-30 11:14:20 +08:00

@superset-ui/plugins-deckgl 🔌💡

Codecov branch Build Status David Netlify Status

Demo (Storybook)

Most recent release: https://apache-superset.github.io/superset-ui-plugins-deckgl/

Current master: https://superset-ui-plugins-deckgl.netlify.com

Packages

Package Version
@superset-ui/legacy-preset-chart-deckgl Version

Development

lerna and yarn are used to manage versions and dependencies between packages in this monorepo.

superset-ui/
  lerna.json
  package.json
  ...
  packages/
    package1/
      package.json
      ...
      src/
      test/
      ...
      lib/
      esm/
      ...
    ...

Installation

  1. clone this repo
  2. have yarn install package dependencies and manage the symlinking between packages for you
git clone ...superset-ui-plugins-deckgl && cd superset-ui-plugins-deckgl
yarn install
yarn build

Activating plugins for local development

  1. Enable npm link for the package.
cd superset-ui
cd packages/superset-ui-chart
npm link
  1. Link the local package to incubator-superset.
cd incubator-superset
cd superset/assets
npm link @superset-ui/chart \# use package name in package.json, not directory name
  1. After npm link complete, update the import statements in Superset.

Instead of

import { xxx } from '@superset-ui/plugin-chart-horizon';

which will point to the transpiled code.

do refer to src

import { xxx } from '@superset-ui/plugin-chart-horizon/src'
  1. After that you can run dev-server as usual.
npm run dev-server

Now when you change the code in @superset-ui, it will update the app immediately similar to code inside incubator-superset.

Deactivating plugins for local development

  1. Change the import statements back.

  2. Unlink the package from incubator-superset.

cd superset/assets
npm unlink @superset-ui/chart

Note: Quite often, npm link mess up your node_modules and the unlink command above does not work correctly, making webpack build fails or other unexpected behaviors. If that happens, just delete your node_modules and npm install from scratch.

  1. Clean up global link.
cd superset-ui
cd packages/superset-ui-chart
npm unlink

Builds, linting, and testing

Each package defines its own build config, linting, and testing. You can have lerna run commands across all packages using the syntax yarn run test (or yarn run test:watch for watch mode) from the root @superset-ui directory.

Storybook

You can demo your changes by running the storybook demo locally with the following commands:

yarn install
yarn build
cd packages/superset-ui-plugins-deckgl-demo
yarn storybook:run

Alternatively, you can demo your changes by using the following command while in packages/superset-ui-plugins-deckgl-demo:

yarn storybook

Committing

This repository follows conventional commits guideline for commit messages and has a commitlint hook which will require you to have the valid commit message before committing. You can use npm run commit to help you create a commit message.

Publishing

Prerequisite: You'll need an npmjs.com account that is part of the @superset-ui organization.

  1. Make sure you're logged in to NPM from your shell. Run npm login if necessary.
  2. To make the release, run yarn run release and follow the prompts.

License

Apache-2.0