mirror of
https://github.com/zhigang1992/connect.git
synced 2026-04-28 17:35:40 +08:00
fix: auto-deploy testnet contracts with github actions
This commit is contained in:
32
.github/workflows/deploy-contracts.yml
vendored
Normal file
32
.github/workflows/deploy-contracts.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: deploy-contracts
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/15 * * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy-contracts:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
API_SERVER: https://stacks-node-api.blockstack.org
|
||||
CONTRACT_PRIVATE_KEY: ${{ secrets.CONTRACT_PRIVATE_KEY }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Set Node Version
|
||||
uses: actions/setup-node@v2-beta
|
||||
with:
|
||||
node-version: 12.16.1
|
||||
- name: Restore lerna cache
|
||||
id: lerna-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
*/*/node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
|
||||
- name: Install monorepo deps
|
||||
run: yarn --frozen-lockfile
|
||||
if: steps.lerna-cache.outputs.cache-hit != 'true'
|
||||
- name: Deploy contracts
|
||||
run: yarn deploy-contracts
|
||||
@@ -12,6 +12,7 @@
|
||||
"build:app": "yarn build:connect-ui && lerna run prod:web --scope @stacks/app",
|
||||
"build:test-app": "lerna run prod:web --scope test-app",
|
||||
"build:extension": "lerna run prod:ext",
|
||||
"deploy-contracts": "lerna run deploy-contracts --stream",
|
||||
"lint": "yarn lint:eslint && yarn lint:prettier",
|
||||
"lint:eslint": "eslint \"packages/**/src/**/*.{ts,tsx}\" -f unix",
|
||||
"lint:fix": "eslint \"packages/**/src/**/*.{ts,tsx}\" -f unix --fix",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import BN from 'bn.js';
|
||||
import { serializeCV, ClarityValue } from '@blockstack/stacks-transactions';
|
||||
import { TransactionResults } from '@blockstack/stacks-blockchain-sidecar-types';
|
||||
import fetch from 'cross-fetch';
|
||||
|
||||
export interface Account {
|
||||
balance: BN;
|
||||
|
||||
15
packages/test-app/contracts/faker.clar
Normal file
15
packages/test-app/contracts/faker.clar
Normal file
@@ -0,0 +1,15 @@
|
||||
;; A component with a function that accepts all argument types.
|
||||
;; Use for testing.
|
||||
|
||||
(define-public
|
||||
(rawr
|
||||
(arg-uint uint)
|
||||
(arg-int int)
|
||||
(arg-buff (buff 20))
|
||||
(arg-string-ascii (string-ascii 20))
|
||||
(arg-string-utf8 (string-utf8 20))
|
||||
(arg-principal principal)
|
||||
(arg-bool bool)
|
||||
)
|
||||
(ok u0)
|
||||
)
|
||||
@@ -1,30 +1,23 @@
|
||||
(define-map statuses
|
||||
(
|
||||
(author principal)
|
||||
)
|
||||
(
|
||||
(status (buff 512))
|
||||
)
|
||||
)
|
||||
(define-map statuses { author: principal } { status: (buff 128) })
|
||||
|
||||
(define-read-only (get-status (author principal))
|
||||
(begin
|
||||
(print author)
|
||||
(default-to ""
|
||||
(get status (map-get? statuses {author: author}))
|
||||
(default-to 0x01
|
||||
(get status (map-get? statuses { author: author }))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(define-public (write-status!
|
||||
(status (buff 512))
|
||||
(status (buff 128))
|
||||
)
|
||||
(begin
|
||||
(print tx-sender)
|
||||
(print status)
|
||||
(map-set statuses
|
||||
((author tx-sender))
|
||||
((status status))
|
||||
{ author: tx-sender }
|
||||
{ status: status }
|
||||
)
|
||||
(ok status)
|
||||
)
|
||||
|
||||
14
packages/test-app/contracts/token.clar
Normal file
14
packages/test-app/contracts/token.clar
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
(define-fungible-token connect-token)
|
||||
(begin (ft-mint? connect-token u10000000 tx-sender))
|
||||
|
||||
(define-public (transfer
|
||||
(recipient principal)
|
||||
(amount uint)
|
||||
)
|
||||
(ok (ft-transfer? connect-token amount tx-sender recipient))
|
||||
)
|
||||
|
||||
(define-public (faucet)
|
||||
(ok (ft-mint? connect-token u100 tx-sender))
|
||||
)
|
||||
@@ -7,6 +7,7 @@
|
||||
"clean": "rm -rf ./dist",
|
||||
"clean:all": "rm -rf ./dist && rm -rf ./coverage && rm -rf ./node_modules",
|
||||
"dev": "cross-env NODE_ENV=development webpack-dev-server --hot --mode development",
|
||||
"deploy-contracts": "ts-node scripts/deploy-contracts.ts -T --project ./tsconfig.json",
|
||||
"lint": "yarn lint:eslint && yarn lint:prettier",
|
||||
"lint:eslint": "eslint \"src/**/*.{ts,tsx}\" -f unix",
|
||||
"lint:fix": "eslint \"src/**/*.{ts,tsx}\" -f unix --fix",
|
||||
@@ -88,6 +89,7 @@
|
||||
"html-webpack-plugin": "^4.2.0",
|
||||
"jest": "^25.3.0",
|
||||
"jest-puppeteer": "^4.3.0",
|
||||
"nodemon": "^2.0.6",
|
||||
"prettier": "^2.0.5",
|
||||
"puppeteer": "^3.0.0",
|
||||
"react-dev-utils": "^10.2.1",
|
||||
@@ -95,6 +97,7 @@
|
||||
"terser-webpack-plugin": "^2.3.5",
|
||||
"ts-jest": "^25.3.1",
|
||||
"ts-loader": "^7.0.0",
|
||||
"ts-node": "^9.1.1",
|
||||
"webpack": "^4.42.1",
|
||||
"webpack-bundle-analyzer": "^3.7.0",
|
||||
"webpack-chrome-extension-reloader": "^1.3.0",
|
||||
|
||||
110
packages/test-app/scripts/deploy-contracts.ts
Normal file
110
packages/test-app/scripts/deploy-contracts.ts
Normal file
@@ -0,0 +1,110 @@
|
||||
import { readFile as readFileFn } from 'fs';
|
||||
import { promisify } from 'util';
|
||||
import { RPCClient } from '@stacks/rpc-client';
|
||||
import {
|
||||
getAddressFromPrivateKey,
|
||||
TransactionVersion,
|
||||
makeContractDeploy,
|
||||
StacksTestnet,
|
||||
} from '@blockstack/stacks-transactions';
|
||||
import * as BN from 'bn.js';
|
||||
import * as dotenv from 'dotenv';
|
||||
dotenv.config();
|
||||
|
||||
const readFile = promisify(readFileFn);
|
||||
|
||||
interface Contract {
|
||||
name: string;
|
||||
file?: string;
|
||||
}
|
||||
|
||||
const contracts: Contract[] = [
|
||||
{
|
||||
name: 'connect-token',
|
||||
file: 'token',
|
||||
},
|
||||
{
|
||||
name: 'counter',
|
||||
},
|
||||
{
|
||||
name: 'faker',
|
||||
},
|
||||
{
|
||||
name: 'status-2',
|
||||
file: 'status',
|
||||
},
|
||||
];
|
||||
|
||||
const rpcClient = new RPCClient(process.env.API_SERVER || 'http://localhost:3999');
|
||||
const privateKey = process.env.CONTRACT_PRIVATE_KEY;
|
||||
if (!privateKey) {
|
||||
console.error('Provide a private key with `process.env.CONTRACT_PRIVATE_KEY`');
|
||||
process.exit(1);
|
||||
}
|
||||
const address = getAddressFromPrivateKey(privateKey, TransactionVersion.Testnet);
|
||||
|
||||
const network = new StacksTestnet();
|
||||
network.coreApiUrl = rpcClient.url;
|
||||
|
||||
const run = async () => {
|
||||
const account = await rpcClient.fetchAccount(address);
|
||||
console.log(`Account balance: ${account.balance.toString()} mSTX`);
|
||||
console.log(`Account nonce: ${account.nonce}`);
|
||||
|
||||
const txResults: string[] = [];
|
||||
let index = 0;
|
||||
for (const contract of contracts) {
|
||||
let exists: boolean;
|
||||
const contractId = `${address}.${contract.name}`;
|
||||
try {
|
||||
await rpcClient.fetchContractInterface({
|
||||
contractAddress: address,
|
||||
contractName: contract.name,
|
||||
});
|
||||
exists = true;
|
||||
} catch (error) {
|
||||
// console.error(error);
|
||||
exists = false;
|
||||
}
|
||||
if (exists) {
|
||||
console.log(`Contract ${contractId} already exists.`);
|
||||
continue;
|
||||
}
|
||||
|
||||
console.log(`Deploying ${contractId}`);
|
||||
|
||||
const source = await readFile(`./contracts/${contract.file || contract.name}.clar`);
|
||||
const tx = await makeContractDeploy({
|
||||
contractName: contract.name,
|
||||
codeBody: source.toString('utf8'),
|
||||
senderKey: privateKey,
|
||||
nonce: new BN(account.nonce + index, 10),
|
||||
network,
|
||||
});
|
||||
|
||||
const result = await rpcClient.broadcastTX(tx.serialize());
|
||||
if (result.ok) {
|
||||
index += 1;
|
||||
txResults.push((await result.text()).replace(/"/g, ''));
|
||||
} else {
|
||||
const errorMsg = await result.text();
|
||||
throw new Error(errorMsg);
|
||||
}
|
||||
}
|
||||
|
||||
if (txResults.length > 0) console.log('Broadcasted transactions:');
|
||||
txResults.forEach(txId => {
|
||||
console.log(`${rpcClient.url}/extended/v1/tx/0x${txId}`);
|
||||
});
|
||||
};
|
||||
|
||||
run()
|
||||
.then(() => {
|
||||
console.log('Finished successfully.');
|
||||
process.exit();
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('Error while running:');
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
153
yarn.lock
153
yarn.lock
@@ -2736,6 +2736,7 @@
|
||||
"@types/eslint-visitor-keys@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
|
||||
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
|
||||
|
||||
"@types/estree@*":
|
||||
version "0.0.45"
|
||||
@@ -2868,6 +2869,7 @@
|
||||
"@types/node@*", "@types/node@10.12.18", "@types/node@11.11.6", "@types/node@12.7.12", "@types/node@>= 8", "@types/node@^12.7.12", "@types/node@^13.11.1", "@types/node@^13.13.10", "@types/node@^14.6.0", "@types/node@^8.0.0":
|
||||
version "12.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.12.tgz#7c6c571cc2f3f3ac4a59a5f2bd48f5bdbc8653cc"
|
||||
integrity sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==
|
||||
|
||||
"@types/normalize-package-data@^2.4.0":
|
||||
version "2.4.0"
|
||||
@@ -3097,6 +3099,7 @@
|
||||
"@typescript-eslint/eslint-plugin@3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.0.2.tgz#4a114a066e2f9659b25682ee59d4866e15a17ec3"
|
||||
integrity sha512-ER3bSS/A/pKQT/hjMGCK8UQzlL0yLjuCZ/G8CDFJFVTfl3X65fvq2lNYqOG8JPTfrPa2RULCdwfOyFjZEMNExQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/experimental-utils" "3.0.2"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
@@ -3107,6 +3110,7 @@
|
||||
"@typescript-eslint/eslint-plugin@^2.12.0":
|
||||
version "2.34.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9"
|
||||
integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/experimental-utils" "2.34.0"
|
||||
functional-red-black-tree "^1.0.1"
|
||||
@@ -3125,6 +3129,7 @@
|
||||
"@typescript-eslint/experimental-utils@3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.0.2.tgz#bb2131baede8df28ec5eacfa540308ca895e5fee"
|
||||
integrity sha512-4Wc4EczvoY183SSEnKgqAfkj1eLtRgBQ04AAeG+m4RhTVyaazxc1uI8IHf0qLmu7xXe9j1nn+UoDJjbmGmuqXQ==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.3"
|
||||
"@typescript-eslint/typescript-estree" "3.0.2"
|
||||
@@ -3134,6 +3139,7 @@
|
||||
"@typescript-eslint/parser@3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.0.2.tgz#a92ef339added9bf7fb92605ac99c93ef243e834"
|
||||
integrity sha512-80Z7s83e8QXHNUspqVlWwb4t5gdz/1bBBmafElbK1wwAwiD/yvJsFyHRxlEpNrt4rdK6eB3p+2WEFkEDHAKk9w==
|
||||
dependencies:
|
||||
"@types/eslint-visitor-keys" "^1.0.0"
|
||||
"@typescript-eslint/experimental-utils" "3.0.2"
|
||||
@@ -3164,6 +3170,7 @@
|
||||
"@typescript-eslint/typescript-estree@3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.0.2.tgz#67a1ce4307ebaea43443fbf3f3be7e2627157293"
|
||||
integrity sha512-cs84mxgC9zQ6viV8MEcigfIKQmKtBkZNDYf8Gru2M+MhnA6z9q0NFMZm2IEzKqAwN8lY5mFVd1Z8DiHj6zQ3Tw==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
@@ -3673,6 +3680,11 @@ arg@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-2.0.0.tgz#c06e7ff69ab05b3a4a03ebe0407fac4cba657545"
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
argparse@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
@@ -4641,6 +4653,7 @@ buffer-xor@^1.0.3:
|
||||
buffer@5.6.0, buffer@^4.3.0, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
|
||||
integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
|
||||
dependencies:
|
||||
base64-js "^1.0.2"
|
||||
ieee754 "^1.1.4"
|
||||
@@ -5003,21 +5016,7 @@ chokidar@^2.0.4, chokidar@^2.1.8:
|
||||
optionalDependencies:
|
||||
fsevents "^1.2.7"
|
||||
|
||||
chokidar@^3.3.0, chokidar@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.4.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chokidar@^3.4.1:
|
||||
chokidar@^3.2.2, chokidar@^3.4.1:
|
||||
version "3.4.3"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b"
|
||||
integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==
|
||||
@@ -5032,6 +5031,20 @@ chokidar@^3.4.1:
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chokidar@^3.3.0, chokidar@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.4.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chownr@^1.1.1, chownr@^1.1.2:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
|
||||
@@ -5691,6 +5704,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7:
|
||||
safe-buffer "^5.0.1"
|
||||
sha.js "^2.4.8"
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
cross-env@6.0.3, cross-env@^6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941"
|
||||
@@ -5926,6 +5944,13 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.5:
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@^3.2.6:
|
||||
version "3.2.7"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
|
||||
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debuglog@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
|
||||
@@ -6161,6 +6186,11 @@ diff-sequences@^25.2.6:
|
||||
version "25.2.6"
|
||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
diffie-hellman@^5.0.0:
|
||||
version "5.0.3"
|
||||
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
|
||||
@@ -6649,6 +6679,7 @@ eslint-plugin-flowtype@^4.7.0:
|
||||
eslint-plugin-import@2.21.2, eslint-plugin-import@>=2.20.2, eslint-plugin-import@^2.18.2, "eslint-plugin-import@^2.21.2 ":
|
||||
version "2.21.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c"
|
||||
integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==
|
||||
dependencies:
|
||||
array-includes "^3.1.1"
|
||||
array.prototype.flat "^1.2.3"
|
||||
@@ -8521,6 +8552,11 @@ iferr@^0.1.5:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
|
||||
|
||||
ignore-by-default@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
|
||||
integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
|
||||
|
||||
ignore-walk@3.0.3, ignore-walk@^3.0.1:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
|
||||
@@ -8951,6 +8987,11 @@ is-module@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
|
||||
|
||||
is-npm@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
|
||||
integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
|
||||
|
||||
is-npm@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
|
||||
@@ -10670,7 +10711,7 @@ make-dir@^3.0.0, make-dir@^3.0.2:
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
make-error@1.x:
|
||||
make-error@1.x, make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
|
||||
@@ -11374,6 +11415,22 @@ node-sass-tilde-importer@^1.0.2:
|
||||
dependencies:
|
||||
find-parent-dir "^0.3.0"
|
||||
|
||||
nodemon@^2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.6.tgz#1abe1937b463aaf62f0d52e2b7eaadf28cc2240d"
|
||||
integrity sha512-4I3YDSKXg6ltYpcnZeHompqac4E6JeAMpGm8tJnB9Y3T0ehasLa4139dJOcCrB93HHrUMsCrKtoAlXTqT5n4AQ==
|
||||
dependencies:
|
||||
chokidar "^3.2.2"
|
||||
debug "^3.2.6"
|
||||
ignore-by-default "^1.0.1"
|
||||
minimatch "^3.0.4"
|
||||
pstree.remy "^1.1.7"
|
||||
semver "^5.7.1"
|
||||
supports-color "^5.5.0"
|
||||
touch "^3.1.0"
|
||||
undefsafe "^2.0.3"
|
||||
update-notifier "^4.1.0"
|
||||
|
||||
noop-logger@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
|
||||
@@ -11385,6 +11442,13 @@ nopt@^4.0.1:
|
||||
abbrev "1"
|
||||
osenv "^0.1.4"
|
||||
|
||||
nopt@~1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
|
||||
integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
|
||||
@@ -12531,6 +12595,11 @@ psl@^1.1.28:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
||||
|
||||
pstree.remy@^1.1.7:
|
||||
version "1.1.8"
|
||||
resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
|
||||
integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
|
||||
|
||||
public-encrypt@^4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
|
||||
@@ -13995,7 +14064,7 @@ source-map-resolve@^0.5.0:
|
||||
source-map-url "^0.4.0"
|
||||
urix "^0.1.0"
|
||||
|
||||
source-map-support@0.5.19, source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.4:
|
||||
source-map-support@0.5.19, source-map-support@^0.5.17, source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.4:
|
||||
version "0.5.19"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
||||
dependencies:
|
||||
@@ -14795,6 +14864,13 @@ tosource@1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1"
|
||||
integrity sha1-QtiN0RZhi88A1hBt1URvNCeQL/E=
|
||||
|
||||
touch@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
|
||||
integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
|
||||
dependencies:
|
||||
nopt "~1.0.10"
|
||||
|
||||
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
|
||||
@@ -14913,6 +14989,18 @@ ts-loader@^7.0.0:
|
||||
micromatch "^4.0.0"
|
||||
semver "^6.0.0"
|
||||
|
||||
ts-node@^9.1.1:
|
||||
version "9.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d"
|
||||
integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==
|
||||
dependencies:
|
||||
arg "^4.1.0"
|
||||
create-require "^1.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
source-map-support "^0.5.17"
|
||||
yn "3.1.1"
|
||||
|
||||
tsconfig-paths-webpack-plugin@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz#6e70bd42915ad0efb64d3385163f0c1270f3e04d"
|
||||
@@ -15322,6 +15410,13 @@ unbzip2-stream@^1.3.3:
|
||||
buffer "^5.2.1"
|
||||
through "^2.3.8"
|
||||
|
||||
undefsafe@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae"
|
||||
integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==
|
||||
dependencies:
|
||||
debug "^2.2.0"
|
||||
|
||||
unicode-canonical-property-names-ecmascript@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
|
||||
@@ -15442,6 +15537,25 @@ update-notifier@5.0.0:
|
||||
semver-diff "^3.1.1"
|
||||
xdg-basedir "^4.0.0"
|
||||
|
||||
update-notifier@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3"
|
||||
integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==
|
||||
dependencies:
|
||||
boxen "^4.2.0"
|
||||
chalk "^3.0.0"
|
||||
configstore "^5.0.1"
|
||||
has-yarn "^2.1.0"
|
||||
import-lazy "^2.1.0"
|
||||
is-ci "^2.0.0"
|
||||
is-installed-globally "^0.3.1"
|
||||
is-npm "^4.0.0"
|
||||
is-yarn-global "^0.3.0"
|
||||
latest-version "^5.0.0"
|
||||
pupa "^2.0.1"
|
||||
semver-diff "^3.1.1"
|
||||
xdg-basedir "^4.0.0"
|
||||
|
||||
upper-case-first@^1.1.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
|
||||
@@ -16459,6 +16573,11 @@ yauzl@2.10.0, yauzl@^2.10.0:
|
||||
buffer-crc32 "~0.2.3"
|
||||
fd-slicer "~1.1.0"
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
||||
|
||||
zip-dir@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/zip-dir/-/zip-dir-1.0.2.tgz#253f907aead62a21acd8721d8b88032b2411c051"
|
||||
|
||||
Reference in New Issue
Block a user