Clean duplicate code in UI project
This commit is contained in:
parent
60f48fbdc0
commit
e47dcf27fc
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Open Health Imaging Foundation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@ -14,3 +14,5 @@ yarn add --dev -W package-name
|
|||||||
- Patch status for PRs (we care about threshold only)
|
- Patch status for PRs (we care about threshold only)
|
||||||
- Allows us to use multiproject test runner
|
- Allows us to use multiproject test runner
|
||||||
- Flags per project for merged coverage; easier to break down coverage per project
|
- Flags per project for merged coverage; easier to break down coverage per project
|
||||||
|
- Remove all-contributors bot; install CLI per project and add per project commands
|
||||||
|
-
|
||||||
|
|||||||
@ -1,85 +0,0 @@
|
|||||||
version: 2
|
|
||||||
|
|
||||||
### ABOUT
|
|
||||||
#
|
|
||||||
# This configuration powers our Circleci.io integration
|
|
||||||
#
|
|
||||||
# Note:
|
|
||||||
# Netlify works independently from this configuration to
|
|
||||||
# create pull request previews and to update `https://react.ohif.org`
|
|
||||||
###
|
|
||||||
|
|
||||||
defaults: &defaults
|
|
||||||
working_directory: ~/repo
|
|
||||||
docker:
|
|
||||||
- image: circleci/node:10.15.1
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_test:
|
|
||||||
<<: *defaults
|
|
||||||
steps:
|
|
||||||
# Download and cache dependencies
|
|
||||||
- checkout
|
|
||||||
- restore_cache:
|
|
||||||
name: Restore Yarn Package Cache
|
|
||||||
keys:
|
|
||||||
# when lock file changes, use increasingly general patterns to restore cache
|
|
||||||
- yarn-packages-v1-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
||||||
- yarn-packages-v1-{{ .Branch }}-
|
|
||||||
- yarn-packages-v1-
|
|
||||||
- run:
|
|
||||||
name: Install Dependencies
|
|
||||||
command: yarn install --frozen-lockfile
|
|
||||||
- save_cache:
|
|
||||||
name: Save Yarn Package Cache
|
|
||||||
paths:
|
|
||||||
- ~/.cache/yarn
|
|
||||||
key: yarn-packages-v1-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
|
||||||
|
|
||||||
# Build & Test
|
|
||||||
- run: yarn build
|
|
||||||
- run: yarn test
|
|
||||||
|
|
||||||
# Persist :+1:
|
|
||||||
- persist_to_workspace:
|
|
||||||
root: ~/repo
|
|
||||||
paths: .
|
|
||||||
|
|
||||||
npm_publish:
|
|
||||||
<<: *defaults
|
|
||||||
steps:
|
|
||||||
- attach_workspace:
|
|
||||||
at: ~/repo
|
|
||||||
- run:
|
|
||||||
name: Avoid hosts unknown for github
|
|
||||||
command:
|
|
||||||
mkdir ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking
|
|
||||||
no\n" > ~/.ssh/config
|
|
||||||
- run:
|
|
||||||
name: Publish using Semantic Release
|
|
||||||
command: npx semantic-release
|
|
||||||
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
|
|
||||||
# PULL REQUESTS
|
|
||||||
pull_requests:
|
|
||||||
jobs:
|
|
||||||
- build_and_test:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
ignore:
|
|
||||||
- master
|
|
||||||
- feature/*
|
|
||||||
- hotfix/*
|
|
||||||
|
|
||||||
# MERGE TO MASTER
|
|
||||||
cut_release:
|
|
||||||
jobs:
|
|
||||||
- build_and_test:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only: master
|
|
||||||
- npm_publish:
|
|
||||||
requires:
|
|
||||||
- build_and_test
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
fixes:
|
|
||||||
- "::platform/ui/"
|
|
||||||
8
platform/ui/.vscode/extensions.json
vendored
8
platform/ui/.vscode/extensions.json
vendored
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"recommendations": [
|
|
||||||
"esbenp.prettier-vscode",
|
|
||||||
"sysoev.language-stylus",
|
|
||||||
"silvenon.mdx",
|
|
||||||
"dbaeumer.vscode-eslint"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
29
platform/ui/.vscode/settings.json
vendored
29
platform/ui/.vscode/settings.json
vendored
@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"editor.rulers": [80, 120],
|
|
||||||
|
|
||||||
// ===
|
|
||||||
// Spacing
|
|
||||||
// ===
|
|
||||||
|
|
||||||
"editor.insertSpaces": true,
|
|
||||||
"editor.tabSize": 2,
|
|
||||||
"editor.trimAutoWhitespace": true,
|
|
||||||
"files.trimTrailingWhitespace": true,
|
|
||||||
"files.eol": "\n",
|
|
||||||
"files.insertFinalNewline": true,
|
|
||||||
"files.trimFinalNewlines": true,
|
|
||||||
|
|
||||||
// ===
|
|
||||||
// Event Triggers
|
|
||||||
// ===
|
|
||||||
|
|
||||||
"editor.formatOnSave": true,
|
|
||||||
"eslint.autoFixOnSave": true,
|
|
||||||
"eslint.run": "onSave",
|
|
||||||
"eslint.validate": [
|
|
||||||
{ "language": "javascript", "autoFix": true },
|
|
||||||
{ "language": "javascriptreact", "autoFix": true }
|
|
||||||
],
|
|
||||||
"prettier.disableLanguages": [],
|
|
||||||
"prettier.endOfLine": "lf"
|
|
||||||
}
|
|
||||||
@ -3,48 +3,44 @@
|
|||||||
* https://www.docz.site/docs/project-configuration
|
* https://www.docz.site/docs/project-configuration
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { css } from 'docz-plugin-css';
|
import { css } from "docz-plugin-css";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
dest: 'example/build',
|
dest: "example/build",
|
||||||
public: '/public',
|
public: "/public",
|
||||||
wrapper: 'src/__docs__/wrapper',
|
wrapper: "src/__docs__/wrapper",
|
||||||
indexHtml: 'src/__docs__/index.html',
|
indexHtml: "src/__docs__/index.html",
|
||||||
// Limited support for importing `.styl` files
|
// Limited support for importing `.styl` files
|
||||||
codeSandbox: false,
|
codeSandbox: false,
|
||||||
// https://github.com/pedronauck/docz/pull/849/files
|
// https://github.com/pedronauck/docz/pull/849/files
|
||||||
// Because we re-export using `index.js` files
|
// Because we re-export using `index.js` files
|
||||||
notUseSpecifiers: true,
|
notUseSpecifiers: true,
|
||||||
// filterComponents: files =>
|
|
||||||
// files.filter(filepath =>
|
|
||||||
// /\/[A-Z]\w*(\/index)?\.(js|jsx|ts|tsx)$/.test(filepath)
|
|
||||||
// ),
|
|
||||||
menu: [
|
menu: [
|
||||||
'Introduction',
|
"Introduction",
|
||||||
'Getting Started',
|
"Getting Started",
|
||||||
{ name: 'Elements', menu: ['Form / Select'] },
|
{ name: "Elements", menu: ["Form / Select"] },
|
||||||
{
|
{
|
||||||
name: 'Components',
|
name: "Components",
|
||||||
menu: [
|
menu: [
|
||||||
'CINE Dialog',
|
"CINE Dialog",
|
||||||
'Layout Button',
|
"Layout Button",
|
||||||
'Measurement Table',
|
"Measurement Table",
|
||||||
'Overlay Trigger',
|
"Overlay Trigger",
|
||||||
'Quick Switch',
|
"Quick Switch",
|
||||||
'Rounded Button Group',
|
"Rounded Button Group",
|
||||||
'Select Tree',
|
"Select Tree",
|
||||||
'Simple Dialog',
|
"Simple Dialog",
|
||||||
'Study Browser',
|
"Study Browser",
|
||||||
'Study List',
|
"Study List",
|
||||||
'Table List',
|
"Table List",
|
||||||
'Toolbar Section',
|
"Toolbar Section",
|
||||||
'About Modal',
|
"About Modal",
|
||||||
'User Preferences Modal',
|
"User Preferences Modal"
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
'Styling & Theming',
|
"Styling & Theming",
|
||||||
'Translating',
|
"Translating",
|
||||||
'Compatibility',
|
"Compatibility"
|
||||||
],
|
],
|
||||||
// Rollup Aliases?
|
// Rollup Aliases?
|
||||||
// https://github.com/pedronauck/docz/issues/373
|
// https://github.com/pedronauck/docz/issues/373
|
||||||
@ -53,9 +49,9 @@ export default {
|
|||||||
css(),
|
css(),
|
||||||
// Stylus
|
// Stylus
|
||||||
css({
|
css({
|
||||||
preprocessor: 'stylus',
|
preprocessor: "stylus",
|
||||||
cssmodules: false,
|
cssmodules: false
|
||||||
}),
|
})
|
||||||
],
|
],
|
||||||
// `docz` uses file-loader to pull in SVGs. This kills our icons before
|
// `docz` uses file-loader to pull in SVGs. This kills our icons before
|
||||||
// They can be picked up by our `babel-plugin-inline-react-svg` dependency
|
// They can be picked up by our `babel-plugin-inline-react-svg` dependency
|
||||||
@ -64,50 +60,16 @@ export default {
|
|||||||
// How we delete our rule:
|
// How we delete our rule:
|
||||||
// https://github.com/neutrinojs/webpack-chain/issues/48
|
// https://github.com/neutrinojs/webpack-chain/issues/48
|
||||||
onCreateWebpackChain: config => {
|
onCreateWebpackChain: config => {
|
||||||
config.module.rules.delete('svg');
|
config.module.rules.delete("svg");
|
||||||
|
|
||||||
// config.module
|
|
||||||
// .rule('svg')
|
|
||||||
// .test(/\.(svg)(\?.*)?$/)
|
|
||||||
// .use('file-loader')
|
|
||||||
// .loader(require.resolve('file-loader'))
|
|
||||||
// .options({
|
|
||||||
// name: `static/img/[name].[ext]`,
|
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
modifyBabelRc: babelrc => {
|
modifyBabelRc: babelrc => {
|
||||||
const newBabelRc = {
|
const newBabelRc = {
|
||||||
...babelrc,
|
...babelrc,
|
||||||
plugins: [
|
plugins: [
|
||||||
...babelrc.plugins,
|
...babelrc.plugins,
|
||||||
require.resolve('babel-plugin-inline-react-svg'),
|
require.resolve("babel-plugin-inline-react-svg")
|
||||||
],
|
]
|
||||||
};
|
};
|
||||||
return newBabelRc;
|
return newBabelRc;
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Alternative ways to extend/modify underlying webpack config
|
|
||||||
*
|
|
||||||
modifyBundlerConfig: (config) => {
|
|
||||||
config.module.rules.push({
|
|
||||||
test: /\.scss$/,
|
|
||||||
use: ["style-loader", "css-loader", "sass-loader"]
|
|
||||||
})
|
|
||||||
|
|
||||||
return config
|
|
||||||
}
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
onCreateWebpackChain: config => {
|
|
||||||
config.module
|
|
||||||
.rule('css')
|
|
||||||
.test(/\.css$/)
|
|
||||||
.use('css-loader')
|
|
||||||
.loader('css-loader')
|
|
||||||
.options({ sourceMap: false,
|
|
||||||
importLoaders: 2 })
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
# https://www.netlify.com/docs/continuous-deployment/#deploy-contexts
|
|
||||||
#
|
|
||||||
# Global settings applied to the whole site.
|
|
||||||
#
|
|
||||||
# “base” is the directory to change to before starting build. If you set base:
|
|
||||||
# that is where we will look for package.json/.nvmrc/etc, not repo root!
|
|
||||||
# “command” is your build command.
|
|
||||||
# “publish” is the directory to publish (relative to the root of your repo).
|
|
||||||
|
|
||||||
# COMMENT: NODE_VERSION in root `.nvmrc` takes priority
|
|
||||||
# COMMENT: Why we specify YARN_FLAGS: https://www.netlify.com/docs/build-gotchas/#yarn
|
|
||||||
[build.environment]
|
|
||||||
NODE_VERSION = "10.15.3"
|
|
||||||
YARN_VERSION = "1.15.2"
|
|
||||||
YARN_FLAGS = "--no-ignore-optional --pure-lockfile"
|
|
||||||
|
|
||||||
# COMMENT: This a rule for Single Page Applications
|
|
||||||
[[redirects]]
|
|
||||||
from = "/*"
|
|
||||||
to = "/index.html"
|
|
||||||
status = 200
|
|
||||||
Loading…
Reference in New Issue
Block a user