forked from cerc-io/laconic-console
Merge pull request #27 from cerc-io/dboreham/remove-lerna
Remove lerna and update dependencies to modern versions
This commit is contained in:
commit
0266e7614e
23
README.md
23
README.md
@ -4,8 +4,6 @@ Laconic Kubenet GraphQL server and console application.
|
||||
|
||||
User interface for submitting and reading records registered on Laconic.
|
||||
|
||||
![Console](./docs/images/console.png)
|
||||
|
||||
## Development
|
||||
|
||||
* Clone the required repos:
|
||||
@ -21,9 +19,14 @@ User interface for submitting and reading records registered on Laconic.
|
||||
```bash
|
||||
./init.sh
|
||||
```
|
||||
* For auction functionality enabled, add this environment variable:
|
||||
|
||||
```bash
|
||||
TEST_AUCTION_ENABLED=true ./init.sh
|
||||
```
|
||||
|
||||
* Run the laconic-console app
|
||||
* In [laconic-console](https://github.com/cerc-io/laconic-console) repo, install dependencies
|
||||
* From the root of this repo, run:
|
||||
|
||||
```bash
|
||||
yarn
|
||||
@ -40,19 +43,15 @@ User interface for submitting and reading records registered on Laconic.
|
||||
|
||||
This can be ignored as it is an error for installing optional dependency
|
||||
|
||||
* Change directory to [packages/console-app](https://github.com/cerc-io/laconic-console/tree/main/packages/console-app) and start the react app
|
||||
* Start the app:
|
||||
|
||||
```bash
|
||||
# Change directory
|
||||
cd packages/console-app/
|
||||
|
||||
# Start app
|
||||
```bash
|
||||
CONFIG_FILE=config-local.yml yarn start
|
||||
```
|
||||
|
||||
* Open console-app at <http://localhost:8080>
|
||||
* Open console at <http://localhost:8080>
|
||||
|
||||
* To view records in the app, test suite in laconic-sdk can be run
|
||||
* To view records in the console, the test suite in laconic-sdk can be run
|
||||
|
||||
* Clone the [laconic-sdk](https://github.com/cerc-io/laconic-sdk) repo:
|
||||
|
||||
@ -88,4 +87,4 @@ User interface for submitting and reading records registered on Laconic.
|
||||
|
||||
*NOTE*: One test from [util.test.ts](https://github.com/cerc-io/laconic-sdk/blob/main/src/util.test.ts) fails as mentioned in the [PR](https://github.com/cerc-io/laconic-sdk/pull/5#issuecomment-1299572012)
|
||||
|
||||
* Open console-app at <http://localhost:8080> to view the records.
|
||||
* Open console at <http://localhost:8080> to view the records.
|
||||
|
@ -12,7 +12,6 @@ module.exports = {
|
||||
'import-graphql',
|
||||
'inline-json-import',
|
||||
|
||||
'@babel/plugin-proposal-class-properties',
|
||||
'@babel/plugin-proposal-export-default-from'
|
||||
'@babel/plugin-proposal-class-properties'
|
||||
]
|
||||
};
|
Binary file not shown.
Before Width: | Height: | Size: 820 KiB |
@ -1,5 +0,0 @@
|
||||
{
|
||||
"version": "1.2.9",
|
||||
"useWorkspaces": true,
|
||||
"npmClient": "yarn"
|
||||
}
|
124
package.json
124
package.json
@ -1,68 +1,90 @@
|
||||
{
|
||||
"name": "laconic-console",
|
||||
"version": "1.2.9-alpha.0",
|
||||
"name": "@cerc-io/console-app",
|
||||
"version": "1.2.9",
|
||||
"description": "Laconic Console",
|
||||
"main": "index.js",
|
||||
"private": true,
|
||||
"repository": "https://github.com/cerc-io/laconic-console",
|
||||
"main": "dist/es/index.js",
|
||||
"files": [
|
||||
"src/gql"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "lerna run build",
|
||||
"clean": "lerna run clean",
|
||||
"lint": "lerna run lint",
|
||||
"lint:fix": "lerna run lint -- --fix",
|
||||
"lint:staged": "lint-staged",
|
||||
"sort-package-json": "lerna exec npx sort-package-json",
|
||||
"test": "lerna run test"
|
||||
"analyzer": "webpack --config webpack-analyzer.config.js",
|
||||
"build": "yarn dist",
|
||||
"build:babel": "babel ./src --out-dir ./dist/es --ignore \"**/*.test.js\" --source-maps inline",
|
||||
"clean": "rm -rf dist",
|
||||
"dist": "yarn clean && yarn build:babel && CONFIG_FILE=config-production.yml webpack",
|
||||
"lint": "semistandard 'src/**/*.js'",
|
||||
"start": "CONFIG_FILE=${CONFIG_FILE:-config-testnet.yml} VERBOSE=true webpack-dev-server --mode development",
|
||||
"test": "jest --rootDir ./src --passWithNoTests --no-cache"
|
||||
},
|
||||
"author": "",
|
||||
"license": "AGPLv3",
|
||||
"workspaces": {
|
||||
"packages": [
|
||||
"packages/*"
|
||||
]
|
||||
},
|
||||
"license": "GPL-3.0",
|
||||
"browserslist": [
|
||||
"> 5%"
|
||||
"> 2%"
|
||||
],
|
||||
"jest": {
|
||||
"testEnvironment": "node"
|
||||
},
|
||||
"dependencies": {
|
||||
"lerna": "^3.19.0"
|
||||
"@apollo/client": "^3.7.10",
|
||||
"@apollo/react-components": "^4.0.0",
|
||||
"@apollo/react-hooks": "^4.0.0",
|
||||
"@babel/runtime": "^7.21.0",
|
||||
"@cerc-io/laconic-sdk": "0.1.6",
|
||||
"@lirewine/debug": "1.0.0-beta.78",
|
||||
"@lirewine/gem-core": "1.0.0-beta.28",
|
||||
"@lirewine/react-ux": "1.1.0-beta.0",
|
||||
"@material-ui/core": "^4.12.4",
|
||||
"@material-ui/icons": "^4.11.3",
|
||||
"@material-ui/lab": "^4.0.0-alpha.61",
|
||||
"@rehooks/component-size": "^1.0.3",
|
||||
"@visx/network": "^1.0.0",
|
||||
"@visx/tooltip": "^1.0.0",
|
||||
"@visx/zoom": "^1.0.0",
|
||||
"build-url": "^2.0.0",
|
||||
"clsx": "^1.1.0",
|
||||
"compare-versions": "^3.6.0",
|
||||
"d3-force": "^2.1.1",
|
||||
"debug": "^4.1.1",
|
||||
"graphql-tag": "^2.10.3",
|
||||
"lodash.defaultsdeep": "^4.6.1",
|
||||
"lodash.get": "^4.4.2",
|
||||
"moment": "^2.26.0",
|
||||
"node-polyfill-webpack-plugin": "^2.0.1",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react-router": "^5.3.4",
|
||||
"react-router-dom": "^5.3.4",
|
||||
"source-map-support": "^0.5.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-eslint": "^10.0.3",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-config-semistandard": "^15.0.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-loader": "^3.0.3",
|
||||
"eslint-plugin-babel": "^5.3.0",
|
||||
"eslint-plugin-import": "^2.18.2",
|
||||
"eslint-plugin-jest": "^23.13.1",
|
||||
"eslint-plugin-jsdoc": "^21.0.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"lint-staged": "^9.5.0",
|
||||
"webpack-cli": "^5.0.1"
|
||||
"@babel/cli": "7.21.0",
|
||||
"@babel/core": "^7.21.0",
|
||||
"@babel/preset-env": "^7.20.2",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@webpack-cli/info": "^2.0.1",
|
||||
"babel-jest": "^29.5.0",
|
||||
"babel-loader": "^9.1.2",
|
||||
"babel-plugin-import-graphql": "^2.7.0",
|
||||
"babel-plugin-inline-import": "^3.0.0",
|
||||
"babel-plugin-inline-json-import": "^0.3.2",
|
||||
"dotenv-webpack": "^8.0.1",
|
||||
"graphql": "^15.0.0",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"jest": "^29.5.0",
|
||||
"webpack": "^5.76.2",
|
||||
"webpack-bundle-analyzer": "^4.8.0",
|
||||
"webpack-cli": "^5.0.1",
|
||||
"webpack-dev-server": "^4.13.1",
|
||||
"webpack-merge": "^5.8.0",
|
||||
"webpack-version-file-plugin": "^0.5.0",
|
||||
"yaml-loader": "^0.8.0"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"parser": "babel-eslint",
|
||||
"extends": [
|
||||
"plugin:jest/recommended",
|
||||
"semistandard"
|
||||
],
|
||||
"plugins": [
|
||||
"babel"
|
||||
],
|
||||
"rules": {
|
||||
"babel/semi": 1
|
||||
}
|
||||
"peerDependencies": {
|
||||
"react": "16.12.0",
|
||||
"react-dom": "^16.12.0"
|
||||
},
|
||||
"semistandard": {
|
||||
"parser": "babel-eslint",
|
||||
"env": [
|
||||
"jest",
|
||||
"node",
|
||||
"browser"
|
||||
]
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
||||
|
@ -1,58 +0,0 @@
|
||||
# Console
|
||||
|
||||
Apollo GraphQL client.
|
||||
|
||||
## Usage
|
||||
|
||||
First start the server:
|
||||
|
||||
```bash
|
||||
cd packages/console-server
|
||||
yarn start
|
||||
```
|
||||
|
||||
Then start the Webpack devserver.
|
||||
|
||||
```bash
|
||||
cd packages/console-app
|
||||
yarn start
|
||||
```
|
||||
|
||||
Then load the app: http://localhost:8080.
|
||||
|
||||
## Using a KUBE
|
||||
|
||||
To use your KUBE for testing, rather than running all the services locally, specify a different
|
||||
config file when starting: `config-kube.yml`, which connects to `kube.local` for all services.
|
||||
|
||||
For example:
|
||||
|
||||
```javascript
|
||||
cd packages/console-app
|
||||
CONFIG_FILE=config-kube.yml yarn start
|
||||
```
|
||||
|
||||
## Deploy
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
This creates the following folders:
|
||||
|
||||
```
|
||||
/dist
|
||||
/es # Module imports.
|
||||
/production # Production build.
|
||||
```
|
||||
|
||||
NOTE: GQL and Production files and exported and may be used by the server.
|
||||
|
||||
```javascript
|
||||
import SYSTEM_STATUS from '@cerc-io/console-app/src/gql/system_status.graphql';
|
||||
|
||||
...
|
||||
|
||||
const file = path.join(__dirname + '../../../../node_modules/@cerc-io/console-app/dist/production', 'index.html');
|
||||
res.sendFile(file);
|
||||
```
|
@ -1,134 +0,0 @@
|
||||
{
|
||||
"name": "@cerc-io/console-app",
|
||||
"version": "1.2.9",
|
||||
"description": "Kubenet Console Client",
|
||||
"repository": "https://github.com/cerc-io/laconic-console",
|
||||
"main": "dist/es/index.js",
|
||||
"files": [
|
||||
"src/gql"
|
||||
],
|
||||
"scripts": {
|
||||
"analyzer": "webpack --config webpack-analyzer.config.js",
|
||||
"build": "yarn dist",
|
||||
"build:babel": "babel ./src --out-dir ./dist/es --ignore \"**/*.test.js\" --source-maps inline",
|
||||
"clean": "rm -rf dist",
|
||||
"dist": "yarn clean && yarn build:babel && CONFIG_FILE=config-production.yml webpack",
|
||||
"lint": "semistandard 'src/**/*.js'",
|
||||
"start": "CONFIG_FILE=${CONFIG_FILE:-config-testnet.yml} VERBOSE=true webpack-dev-server --mode development",
|
||||
"test": "jest --rootDir ./src --passWithNoTests --no-cache"
|
||||
},
|
||||
"author": "",
|
||||
"license": "GPL-3.0",
|
||||
"browserslist": [
|
||||
"> 2%"
|
||||
],
|
||||
"jest": {
|
||||
"testEnvironment": "node"
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/react-components": "^3.1.5",
|
||||
"@apollo/react-hooks": "^3.1.5",
|
||||
"@babel/runtime": "^7.8.7",
|
||||
"@cerc-io/laconic-sdk": "0.1.6",
|
||||
"@lirewine/debug": "1.0.0-beta.78",
|
||||
"@lirewine/gem-core": "1.0.0-beta.28",
|
||||
"@lirewine/react-ux": "1.1.0-beta.0",
|
||||
"@material-ui/core": "^4.10.0",
|
||||
"@material-ui/icons": "^4.9.1",
|
||||
"@material-ui/lab": "^4.0.0-alpha.54",
|
||||
"@rehooks/component-size": "^1.0.3",
|
||||
"@visx/network": "^1.0.0",
|
||||
"@visx/tooltip": "^1.0.0",
|
||||
"@visx/zoom": "^1.0.0",
|
||||
"apollo-cache-inmemory": "^1.6.6",
|
||||
"apollo-client": "^2.6.10",
|
||||
"apollo-link": "^1.2.14",
|
||||
"apollo-link-http": "^1.5.17",
|
||||
"build-url": "^2.0.0",
|
||||
"clsx": "^1.1.0",
|
||||
"compare-versions": "^3.6.0",
|
||||
"d3-force": "^2.1.1",
|
||||
"debug": "^4.1.1",
|
||||
"graphql-tag": "^2.10.3",
|
||||
"lodash.defaultsdeep": "^4.6.1",
|
||||
"lodash.get": "^4.4.2",
|
||||
"moment": "^2.26.0",
|
||||
"node-polyfill-webpack-plugin": "^2.0.1",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-router": "^5.2.0",
|
||||
"react-router-dom": "^5.2.0",
|
||||
"source-map-support": "^0.5.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.4.4",
|
||||
"@babel/core": "^7.4.5",
|
||||
"@babel/node": "^7.8.7",
|
||||
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
||||
"@babel/plugin-proposal-export-default-from": "^7.8.3",
|
||||
"@babel/preset-env": "^7.4.5",
|
||||
"@babel/preset-react": "^7.0.0",
|
||||
"@webpack-cli/info": "^2.0.1",
|
||||
"@webpack-cli/init": "^1.1.3",
|
||||
"babel-eslint": "^10.0.2",
|
||||
"babel-jest": "^24.8.0",
|
||||
"babel-loader": "^8.0.0",
|
||||
"babel-plugin-add-module-exports": "^1.0.2",
|
||||
"babel-plugin-import-graphql": "^2.7.0",
|
||||
"babel-plugin-inline-import": "^3.0.0",
|
||||
"babel-plugin-inline-json-import": "^0.3.2",
|
||||
"dotenv-webpack": "^8.0.1",
|
||||
"eslint": "^6.7.2",
|
||||
"eslint-config-semistandard": "^15.0.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-config-standard-jsx": "^8.1.0",
|
||||
"eslint-loader": "^3.0.3",
|
||||
"eslint-plugin-babel": "^5.3.0",
|
||||
"eslint-plugin-import": "^2.18.2",
|
||||
"eslint-plugin-jest": "^23.13.1",
|
||||
"eslint-plugin-jsdoc": "^21.0.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"graphql": "^15.0.0",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"jest": "^24.8.0",
|
||||
"react-scripts": "^5.0.1",
|
||||
"semistandard": "^14.2.0",
|
||||
"webpack": "^5.76.2",
|
||||
"webpack-bundle-analyzer": "^4.8.0",
|
||||
"webpack-cli": "^5.0.1",
|
||||
"webpack-dev-server": "^4.13.1",
|
||||
"webpack-merge": "^5.8.0",
|
||||
"webpack-version-file-plugin": "^0.5.0",
|
||||
"yaml-loader": "^0.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "16.12.0",
|
||||
"react-dom": "^16.12.0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"parser": "babel-eslint",
|
||||
"extends": [
|
||||
"plugin:jest/recommended",
|
||||
"semistandard",
|
||||
"standard-jsx"
|
||||
],
|
||||
"plugins": [
|
||||
"babel"
|
||||
],
|
||||
"rules": {
|
||||
"babel/semi": 1
|
||||
}
|
||||
},
|
||||
"semistandard": {
|
||||
"parser": "babel-eslint",
|
||||
"env": [
|
||||
"jest",
|
||||
"node",
|
||||
"browser"
|
||||
]
|
||||
}
|
||||
}
|
@ -2,10 +2,7 @@
|
||||
// Copyright 2020 DXOS.org
|
||||
//
|
||||
|
||||
import { ApolloClient } from 'apollo-client';
|
||||
import { ApolloLink } from 'apollo-link';
|
||||
import { createHttpLink } from 'apollo-link-http';
|
||||
import { InMemoryCache } from 'apollo-cache-inmemory';
|
||||
import { ApolloClient, InMemoryCache, ApolloLink, HttpLink } from '@apollo/client';
|
||||
|
||||
import { createResolvers } from './resolvers';
|
||||
import { getServiceUrl } from './util/config';
|
||||
@ -28,7 +25,7 @@ export const graphqlApi = config => {
|
||||
*/
|
||||
export const clientFactory = config => {
|
||||
// https://www.apollographql.com/docs/link/
|
||||
const defaultLink = createHttpLink({
|
||||
const defaultLink = new HttpLink({
|
||||
uri: graphqlApi(config),
|
||||
|
||||
// TODO(burdon): Authentication: send signed message to server (from client wallet).
|
||||
@ -39,7 +36,7 @@ export const clientFactory = config => {
|
||||
});
|
||||
|
||||
const serviceLinks = {
|
||||
signal: createHttpLink({
|
||||
signal: new HttpLink({
|
||||
uri: getServiceUrl(config, 'signal.api')
|
||||
})
|
||||
};
|
@ -110,13 +110,6 @@ module.exports = {
|
||||
use: 'yaml-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
resolve: {
|
||||
alias: {
|
||||
'@material-ui/styles': path.resolve(__dirname, '..', '..', 'node_modules/@material-ui/styles'),
|
||||
'react': path.resolve(__dirname, '..', '..', 'node_modules/react'),
|
||||
'react-dom': path.resolve(__dirname, '..', '..', 'node_modules/react-dom')
|
||||
}
|
||||
}
|
||||
|
||||
};
|
Loading…
Reference in New Issue
Block a user