Publish @parity/jsonrpc (#4365)
* Add npm/jsonrpc * Allow ci:build:jsonrpc * Publish @parity/jsonrpc
This commit is contained in:
parent
983a0e3d0b
commit
d3ee15c6fb
5
js/npm/jsonrpc/README.md
Normal file
5
js/npm/jsonrpc/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# @parity/jsonrpc
|
||||||
|
|
||||||
|
JSON and JS interface defintions for RPC calls.
|
||||||
|
|
||||||
|
[https://github.com/ethcore/parity/tree/master/js/src/jsonrpc](https://github.com/ethcore/parity/tree/master/js/src/jsonrpc)
|
29
js/npm/jsonrpc/package.json
Normal file
29
js/npm/jsonrpc/package.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"name": "@parity/jsonrpc",
|
||||||
|
"description": "JSON and JS interface defintions for RPC",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"main": "library.js",
|
||||||
|
"author": "Parity Team <admin@parity.io>",
|
||||||
|
"maintainers": [
|
||||||
|
"Jaco Greeff"
|
||||||
|
],
|
||||||
|
"contributors": [],
|
||||||
|
"license": "GPL-3.0",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/ethcore/parity.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"Ethereum",
|
||||||
|
"ABI",
|
||||||
|
"API",
|
||||||
|
"RPC",
|
||||||
|
"Parity"
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
}
|
||||||
|
}
|
@ -36,6 +36,7 @@
|
|||||||
"ci:build:lib": "NODE_ENV=production webpack --config webpack/libraries",
|
"ci:build:lib": "NODE_ENV=production webpack --config webpack/libraries",
|
||||||
"ci:build:dll": "NODE_ENV=production webpack --config webpack/vendor",
|
"ci:build:dll": "NODE_ENV=production webpack --config webpack/vendor",
|
||||||
"ci:build:npm": "NODE_ENV=production webpack --config webpack/npm",
|
"ci:build:npm": "NODE_ENV=production webpack --config webpack/npm",
|
||||||
|
"ci:build:jsonrpc": "babel-node ./scripts/build-rpc-json.js --output .npmjs/jsonrpc",
|
||||||
"start": "npm install && npm run build:lib && npm run build:dll && npm run start:app",
|
"start": "npm install && npm run build:lib && npm run build:dll && npm run start:app",
|
||||||
"start:app": "node webpack/dev.server",
|
"start:app": "node webpack/dev.server",
|
||||||
"clean": "rm -rf ./.build ./.coverage ./.happypack ./.npmjs ./build",
|
"clean": "rm -rf ./.build ./.coverage ./.happypack ./.npmjs ./build",
|
||||||
@ -48,7 +49,7 @@
|
|||||||
"test": "NODE_ENV=test mocha --compilers ejs:ejsify 'src/**/*.spec.js'",
|
"test": "NODE_ENV=test mocha --compilers ejs:ejsify 'src/**/*.spec.js'",
|
||||||
"test:coverage": "NODE_ENV=test istanbul cover _mocha -- --compilers ejs:ejsify 'src/**/*.spec.js'",
|
"test:coverage": "NODE_ENV=test istanbul cover _mocha -- --compilers ejs:ejsify 'src/**/*.spec.js'",
|
||||||
"test:e2e": "NODE_ENV=test mocha 'src/**/*.e2e.js'",
|
"test:e2e": "NODE_ENV=test mocha 'src/**/*.e2e.js'",
|
||||||
"test:npm": "(cd .npmjs && npm i) && node test/npmParity && (rm -rf .npmjs/node_modules)",
|
"test:npm": "(cd .npmjs && npm i) && node test/npmParity && node test/npmJsonRpc && (rm -rf .npmjs/node_modules)",
|
||||||
"prepush": "npm run lint:cached"
|
"prepush": "npm run lint:cached"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -135,7 +136,8 @@
|
|||||||
"webpack-dev-middleware": "1.9.0",
|
"webpack-dev-middleware": "1.9.0",
|
||||||
"webpack-error-notification": "0.1.6",
|
"webpack-error-notification": "0.1.6",
|
||||||
"webpack-hot-middleware": "2.14.0",
|
"webpack-hot-middleware": "2.14.0",
|
||||||
"websocket": "1.0.24"
|
"websocket": "1.0.24",
|
||||||
|
"yargs": "6.6.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bignumber.js": "3.0.1",
|
"bignumber.js": "3.0.1",
|
||||||
|
@ -16,10 +16,13 @@
|
|||||||
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import yargs from 'yargs';
|
||||||
|
|
||||||
import interfaces from '../src/jsonrpc';
|
import interfaces from '../src/jsonrpc';
|
||||||
|
|
||||||
const INDEX_JSON = path.join(__dirname, '../release/index.json');
|
const argv = yargs.default('output', 'release').argv;
|
||||||
|
|
||||||
|
const INDEX_JSON = path.join(__dirname, `../${argv.output}/index.json`);
|
||||||
const methods = [];
|
const methods = [];
|
||||||
|
|
||||||
function formatDescription (obj) {
|
function formatDescription (obj) {
|
||||||
|
@ -2,12 +2,17 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# variables
|
# variables
|
||||||
PACKAGES=( "parity" "etherscan" "shapeshift" )
|
PACKAGES=( "parity" "etherscan" "shapeshift" "jsonrpc" )
|
||||||
|
|
||||||
# change into the build directory
|
# change into the build directory
|
||||||
BASEDIR=`dirname $0`
|
BASEDIR=`dirname $0`
|
||||||
cd $BASEDIR/..
|
cd $BASEDIR/..
|
||||||
|
|
||||||
|
# build jsonrpc
|
||||||
|
echo "*** Building JSONRPC .json"
|
||||||
|
mkdir -p .npmjs/jsonrpc
|
||||||
|
npm run ci:build:jsonrpc
|
||||||
|
|
||||||
# build all packages
|
# build all packages
|
||||||
echo "*** Building packages for npmjs"
|
echo "*** Building packages for npmjs"
|
||||||
echo "$NPM_TOKEN" >> ~/.npmrc
|
echo "$NPM_TOKEN" >> ~/.npmrc
|
||||||
@ -19,8 +24,6 @@ do
|
|||||||
DIRECTORY=.npmjs/$PACKAGE
|
DIRECTORY=.npmjs/$PACKAGE
|
||||||
|
|
||||||
cd $DIRECTORY
|
cd $DIRECTORY
|
||||||
echo "*** Executing $PACKAGE tests from $DIRECTORY"
|
|
||||||
npm test
|
|
||||||
|
|
||||||
echo "*** Publishing $PACKAGE from $DIRECTORY"
|
echo "*** Publishing $PACKAGE from $DIRECTORY"
|
||||||
echo "npm publish --access public || true"
|
echo "npm publish --access public || true"
|
||||||
|
@ -3,7 +3,7 @@ set -e
|
|||||||
|
|
||||||
# variables
|
# variables
|
||||||
UTCDATE=`date -u "+%Y%m%d-%H%M%S"`
|
UTCDATE=`date -u "+%Y%m%d-%H%M%S"`
|
||||||
PACKAGES=( "parity" "etherscan" "shapeshift" )
|
PACKAGES=( "parity" "etherscan" "shapeshift" "jsonrpc" )
|
||||||
BRANCH=$CI_BUILD_REF_NAME
|
BRANCH=$CI_BUILD_REF_NAME
|
||||||
GIT_JS_PRECOMPILED="https://${GITHUB_JS_PRECOMPILED}:@github.com/ethcore/js-precompiled.git"
|
GIT_JS_PRECOMPILED="https://${GITHUB_JS_PRECOMPILED}:@github.com/ethcore/js-precompiled.git"
|
||||||
GIT_PARITY="https://${GITHUB_JS_PRECOMPILED}:@github.com/ethcore/parity.git"
|
GIT_PARITY="https://${GITHUB_JS_PRECOMPILED}:@github.com/ethcore/parity.git"
|
||||||
@ -67,6 +67,11 @@ if [ "$BRANCH" == "master" ]; then
|
|||||||
echo "*** Building packages for npmjs"
|
echo "*** Building packages for npmjs"
|
||||||
echo "$NPM_TOKEN" >> ~/.npmrc
|
echo "$NPM_TOKEN" >> ~/.npmrc
|
||||||
|
|
||||||
|
# build jsonrpc
|
||||||
|
echo "*** Building JSONRPC .json"
|
||||||
|
mkdir -p .npmjs/jsonrpc
|
||||||
|
npm run ci:build:jsonrpc
|
||||||
|
|
||||||
for PACKAGE in ${PACKAGES[@]}
|
for PACKAGE in ${PACKAGES[@]}
|
||||||
do
|
do
|
||||||
echo "*** Building $PACKAGE"
|
echo "*** Building $PACKAGE"
|
||||||
|
19
js/src/library.jsonrpc.js
Normal file
19
js/src/library.jsonrpc.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// Copyright 2015-2017 Parity Technologies (UK) Ltd.
|
||||||
|
// This file is part of Parity.
|
||||||
|
|
||||||
|
// Parity is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
|
||||||
|
// Parity is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import JsonRpc from './jsonrpc';
|
||||||
|
|
||||||
|
module.exports = JsonRpc;
|
29
js/test/npmJsonRpc.js
Normal file
29
js/test/npmJsonRpc.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Copyright 2015-2017 Parity Technologies (UK) Ltd.
|
||||||
|
// This file is part of Parity.
|
||||||
|
|
||||||
|
// Parity is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
|
||||||
|
// Parity is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
try {
|
||||||
|
var JsonRpc = require('../.npmjs/jsonRpc/library.js');
|
||||||
|
|
||||||
|
if (typeof JsonRpc !== 'object') {
|
||||||
|
throw new Error('JsonRpc');
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(JsonRpc);
|
||||||
|
process.exit(0);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('An error occured:', e.toString().split('\n')[0]);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user