From 01e5fde3fa45638f3ad884ca76ad861d8781868a Mon Sep 17 00:00:00 2001 From: Ted Humphrey Date: Mon, 27 Jan 2020 18:57:39 -0500 Subject: Changes for populating ReactJS component library Modification of Maven pom.xml to segregate creation of component library away from the basic CLAMP UI. New directory ui-react-lib is introduced and populated with just a few files to support the library creation. Introduction of OnapConstants.js provides single focus for defining constants shared across multiple components, resolving circular dependency between LoopUI.js and MenuBar.js around defaultLoopName. Modified LoopSvg.js to import withRoute from react-router-dom instead of react-router, which was causing problems in usage of completed component library. Issue-ID: CLAMP-586 Change-Id: I3054d5388b8aa7417fe7566c34279390d24fb80a Signed-off-by: Ted Humphrey --- ui-react-lib/libIndex.js | 45 ++++++++++++++++++++++++++++++++++++++ ui-react-lib/package.json | 51 +++++++++++++++++++++++++++++++++++++++++++ ui-react-lib/rollup.config.js | 48 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100755 ui-react-lib/libIndex.js create mode 100755 ui-react-lib/package.json create mode 100755 ui-react-lib/rollup.config.js (limited to 'ui-react-lib') diff --git a/ui-react-lib/libIndex.js b/ui-react-lib/libIndex.js new file mode 100755 index 000000000..89bf831d9 --- /dev/null +++ b/ui-react-lib/libIndex.js @@ -0,0 +1,45 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2019 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +export { default as ConfigurationPolicyModal } from './src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal'; +export { default as DeployLoopModal } from './src/components/dialogs/Loop/DeployLoopModal'; +export { default as LoopActionService } from './src/api/LoopActionService'; +export { default as LoopCache } from './src/api/LoopCache'; +export { default as LoopComponentConverter } from './src/components/loop_viewer/svg/LoopComponentConverter'; +export { default as LoopLogs } from './src/components/loop_viewer/logs/LoopLogs'; +export { default as LoopPropertiesModal } from './src/components/dialogs/Loop/LoopPropertiesModal'; +export { default as LoopService } from './src/api/LoopService'; +export { default as LoopStatus } from './src/components/loop_viewer/status/LoopStatus'; +export { default as LoopSvg } from './src/components/loop_viewer/svg/LoopSvg'; +export { default as LoopUI } from './src/LoopUI'; +export { default as MenuBar } from './src/components/menu/MenuBar'; +export { default as NotFound } from './src/NotFound'; +export { default as OpenLoopModal } from './src/components/dialogs/Loop/OpenLoopModal'; +export { default as OperationalPolicyModal } from './src/components/dialogs/OperationalPolicy/OperationalPolicyModal'; +export { default as PerformActions } from './src/components/dialogs/PerformActions'; +export { default as RefreshStatus } from './src/components/dialogs/RefreshStatus'; +export { default as TemplateMenuService } from './src/api/TemplateMenuService'; +export { default as UserInfoModal } from './src/components/dialogs/UserInfoModal'; +export { default as UserService } from './src/api/UserService'; +export { default as ViewBlueprintMicroServiceTemplatesModal } from './src/components/dialogs/Tosca/ViewBlueprintMicroServiceTemplatesModal'; +export { default as ViewToscaPolicyModal } from './src/components/dialogs/Tosca/ViewToscaPolicyModal'; diff --git a/ui-react-lib/package.json b/ui-react-lib/package.json new file mode 100755 index 000000000..3698484d7 --- /dev/null +++ b/ui-react-lib/package.json @@ -0,0 +1,51 @@ +{ + "name": "onap-clamp-ui-lib", + "version": "${project.version}", + "description": "ONAP CLAMP UI Reactjs Component Library", + "author": "ONAP Clamp Team", + "license": "Apache-2.0", + "main": "dist/index.js", + "module": "dist/esindex.js", + "scripts": { + "build": "rollup -c" + }, + "files": [ + "dist" + ], + "peerDependencies": { + "@json-editor/json-editor": "1.4.0-beta.0", + "@material-ui/core": "4.6.0", + "@material-ui/icons": "4.5.1", + "bootstrap-css-only": "4.3.1", + "material-table": "1.53.0", + "react": "16.9.0", + "react-bootstrap": "1.0.0-beta.14", + "react-dom": "16.9.0", + "react-router-dom": "5.0.1", + "react-scripts": "3.1.1", + "react-select": "3.0.8", + "rollup": "^1.29.1", + "styled-components": "4.3.2" + }, + "devDependencies": { + "@babel/cli": "7.7.5", + "@babel/core": "7.7.5", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-external-helpers": "^7.7.4", + "@babel/plugin-proposal-class-properties": "7.5.5", + "@babel/plugin-transform-runtime": "7.7.6", + "@babel/preset-env": "7.5.5", + "@babel/preset-react": "7.0.0", + "rollup": "1.29.1", + "@rollup/plugin-commonjs": "^11.0.1", + "@rollup/plugin-image": "2.0.0", + "@rollup/plugin-node-resolve": "7.0.0", + "@rollup/plugin-replace": "2.2.1", + "@rollup/plugin-url": "4.0.0", + "@svgr/rollup": "5.1.0", + "babel-plugin-external-helpers": "6.22.0", + "rollup-plugin-babel": "4.3.3", + "rollup-plugin-peer-deps-external": "2.2.0", + "rollup-plugin-postcss": "2.0.3" + } +} diff --git a/ui-react-lib/rollup.config.js b/ui-react-lib/rollup.config.js new file mode 100755 index 000000000..c671779c0 --- /dev/null +++ b/ui-react-lib/rollup.config.js @@ -0,0 +1,48 @@ +import babel from 'rollup-plugin-babel' +import commonjs from '@rollup/plugin-commonjs' +import postcss from 'rollup-plugin-postcss' +import resolve from '@rollup/plugin-node-resolve' +import external from 'rollup-plugin-peer-deps-external' +import img from '@rollup/plugin-image' + +import pkg from './package.json' + +export default { + input: './libIndex.js', + output: [ + { + file: pkg.main, + format: 'cjs', + sourcemap: true + }, + { + file: pkg.module, + format: 'es', + sourcemap: true + } + ], + plugins: [ + img(), + external(), + postcss({ + modules: true + }), + babel({ + exclude: 'node_modules/**', + presets: [ + + "@babel/preset-env", {}, + "@babel/preset-react", {} + ], + plugins: [ + [ + "@babel/plugin-proposal-class-properties", + { + "loose": true + } + ] + ] + }), + resolve({ preferBuiltins: true, mainFields: ['browser'] }) + ] +} -- cgit 1.2.3-korg