fix: refactor test-app, use same deps

This commit is contained in:
Thomas Osmonson
2021-03-10 12:24:16 -06:00
parent 7f44589000
commit 9116acc94c
63 changed files with 327 additions and 1573 deletions

View File

@@ -8,7 +8,7 @@ runs:
run: rm -rf node_modules
- name: Install dependencies
shell: bash
run: yarn --frozen-lockfile
run: yarn --frozen-lockfile && cd test-app && yarn --frozen-lockfile
- name: Build web apps
shell: bash
run: yarn build:test

View File

@@ -1,8 +0,0 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2

View File

@@ -1,26 +0,0 @@
{
"sortToTop": ["name", "description", "scripts", "version", "author"],
"required": ["name", "version"],
"warn": [
"description",
"author",
"repository",
"keywords",
"main",
"bugs",
"homepage",
"license"
],
"requiredOnPrivate": [],
"warnOnPrivate": ["name", "version", "description", "main"],
"sortedSubItems": [
"dependencies",
"devDependencies",
"jshintConfig",
"scripts",
"keywords"
],
"quiet": false,
"files": ["package.json"],
"wipe": false
}

View File

@@ -1,7 +0,0 @@
dist/
node_modules/
tests/screenshots/*
.env
.next
.idea
.DS_Store

View File

@@ -1 +0,0 @@
module.exports = require('@blockstack/prettier-config');

View File

@@ -1 +0,0 @@
@types/react-native

View File

@@ -1,831 +0,0 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 2.0.3 (2021-03-08)
### Bug Fixes
* object-src replace ([5f54666](https://github.com/blockstack/ux/commit/5f54666f36a9b24362a09c5f03ebeeed28c12b33))
## 2.0.2 (2021-03-08)
### Bug Fixes
* deps ([86de1c1](https://github.com/blockstack/ux/commit/86de1c1a931ceaa141d4baf0c88612c180216f35))
## 2.0.1 (2021-03-08)
### Bug Fixes
* checkout main when publishing npm on main ([40446a0](https://github.com/blockstack/ux/commit/40446a0264ccdbcc4ddc556118517680e39b246f))
# [2.0.0](https://github.com/blockstack/ux/compare/test-app@1.11.15...test-app@2.0.0) (2021-03-05)
### Bug Fixes
* correct network/chainID matching in tx signing, nonce error ([6190d5f](https://github.com/blockstack/ux/commit/6190d5fcfb62067d494718532215a1e043db8594))
* default font-size in extension ([320fea6](https://github.com/blockstack/ux/commit/320fea633eb67fb9c63afa501953c528496fbf64))
* dont wait for faucet in test app, fixes [#929](https://github.com/blockstack/ux/issues/929) ([c60a564](https://github.com/blockstack/ux/commit/c60a56402c9850a094c2b58bcb03f7bd8c6d5e39))
* header on demo app ([e2969c8](https://github.com/blockstack/ux/commit/e2969c8b75a1af45b21b9f5b1e25b7557e3b608a))
* properly set post conditions from payload ([a53216e](https://github.com/blockstack/ux/commit/a53216ee2baf5f7a940af05e4ff0b9d057f934ce))
* testnet demo bug, fixes [#774](https://github.com/blockstack/ux/issues/774) ([e9ac21a](https://github.com/blockstack/ux/commit/e9ac21a991ba8356851a96feda878cd8d4b2e823))
* tests with new auth rules ([6934049](https://github.com/blockstack/ux/commit/693404953738b8a56ed0b56c07b5a9cd6aa15282))
* webpack 5, fast refresh :~) ([63d7d38](https://github.com/blockstack/ux/commit/63d7d383855ab46545bccea4302858960e806a5c))
### Features
* improved UX around wallet onboarding ([8ab3dd3](https://github.com/blockstack/ux/commit/8ab3dd397b16a6c46f225286826966b5ef5db250))
* mainnet network ([c9802a9](https://github.com/blockstack/ux/commit/c9802a93392b98b84f35c46d20bda91acf48cff5))
* password validation, fixes [#733](https://github.com/blockstack/ux/issues/733), fixes [#720](https://github.com/blockstack/ux/issues/720) ([d8f6832](https://github.com/blockstack/ux/commit/d8f6832e85199d05ad906236bd8c12614427e227))
* qol improvements for tx signing ([f86d568](https://github.com/blockstack/ux/commit/f86d568825aa7bcb5512885546862d892324c546))
* refactor wallet logic, remove keychain ([0f3ac1f](https://github.com/blockstack/ux/commit/0f3ac1fa86b81d7eef1da1db89f8ab3c30540d6c))
* stacks wallet for web ([6957c04](https://github.com/blockstack/ux/commit/6957c04bdcfb816fcf757815b9b2720e7a9209eb))
* use extension-native apis for app messaging ([663281a](https://github.com/blockstack/ux/commit/663281ad6e7a29e572ae6a6f24cf2bc6925a6a3b))
## 1.11.15 (2021-01-09)
**Note:** Version bump only for package test-app
## 1.11.14 (2021-01-08)
### Bug Fixes
* broken tx signing with extension ([0235140](https://github.com/blockstack/ux/commit/023514021c64e06a80bc31125831d5c35ece3118))
## 1.11.13 (2021-01-06)
### Bug Fixes
* ignore exit code from FF addon publish ([ae05d36](https://github.com/blockstack/ux/commit/ae05d3608ac48cf3944d6d62ead2be65bc11bfde))
## 1.11.12 (2021-01-06)
### Bug Fixes
* use job conditionals instead of workflow conditional ([772b374](https://github.com/blockstack/ux/commit/772b3740def1b31fccf004630ef2d29d167210a4))
## 1.11.11 (2021-01-06)
### Bug Fixes
* ignore tags refs for version workflow ([d2a18fc](https://github.com/blockstack/ux/commit/d2a18fc45a4198a112e881552fbb6c502e557d90))
## 1.11.10 (2021-01-06)
### Bug Fixes
* better syntax for excluding tagged commits' ([4729d01](https://github.com/blockstack/ux/commit/4729d01a5afea316c55dade9143f83748b25071b))
## 1.11.9 (2021-01-06)
### Bug Fixes
* dont run publish on master commits without tag ([0b7cb3a](https://github.com/blockstack/ux/commit/0b7cb3ac50af92bd9ad993b70d48cd930fd31c29))
## 1.11.8 (2021-01-06)
**Note:** Version bump only for package test-app
## 1.11.7 (2020-12-29)
### Bug Fixes
* build rpc pkg before deploying contracts ([c56d3f7](https://github.com/blockstack/ux/commit/c56d3f776494cd471aba77d35b7c5eba20ec245f))
## 1.11.6 (2020-12-29)
### Bug Fixes
* support ts paths in deploy-contracts script ([4bc3ce3](https://github.com/blockstack/ux/commit/4bc3ce3030e392f850cdeaea0e55c6bbaba7c15e))
## 1.11.5 (2020-12-29)
### Bug Fixes
* build packages before deploy-contracts script ([66f0857](https://github.com/blockstack/ux/commit/66f0857cde41d197c29682eedefd46bc16910096))
## 1.11.4 (2020-12-29)
### Bug Fixes
* auto-deploy testnet contracts with github actions ([b1b5c97](https://github.com/blockstack/ux/commit/b1b5c977bc90a9c47e08264d7e0aef665099696e))
## 1.11.3 (2020-12-14)
### Bug Fixes
* prod deploy apps job action ([b8ccc59](https://github.com/blockstack/ux/commit/b8ccc59d1c024705b80991ecb604030f8590e89d))
## 1.11.2 (2020-12-14)
### Bug Fixes
* change lerna publish to skip existing versions ([ac16572](https://github.com/blockstack/ux/commit/ac16572dba7e8d3e770bb4ba61d77094bcad02f9))
## 1.11.1 (2020-12-04)
### Bug Fixes
* export auth from connect ([d201aab](https://github.com/blockstack/ux/commit/d201aab14f2ced0b5f666be571035b7cbf76c602))
# 1.11.0 (2020-11-25)
### Features
* update extension build instructions ([4d55afa](https://github.com/blockstack/ux/commit/4d55afa51dbc3b4cedb81de679b16b91b2df007c))
## 1.10.4 (2020-11-18)
### Bug Fixes
* duplicate 'powered by' on sign in, fixes [#629](https://github.com/blockstack/ux/issues/629) ([6648517](https://github.com/blockstack/ux/commit/6648517e01cdd34a91225dfe08483055b418439c))
## 1.10.3 (2020-11-17)
### Bug Fixes
* update actions to fix set-path err ([0b4fd95](https://github.com/blockstack/ux/commit/0b4fd955f920d5c549690945a18673ea5f0462ae))
## 1.10.2 (2020-11-13)
**Note:** Version bump only for package test-app
## 1.10.1 (2020-11-09)
### Bug Fixes
* build connect ui in build-ext.sh ([c0bd586](https://github.com/blockstack/ux/commit/c0bd586da2baace269144d8797555177882de76a))
# 1.10.0 (2020-11-07)
### Features
* more tests for url validation ([cad6e6a](https://github.com/blockstack/ux/commit/cad6e6a489bfd4de67ff8c20e480b3db99e97e4e))
## 1.9.4 (2020-11-06)
### Bug Fixes
* blockstack, react dep versions ([7f23d36](https://github.com/blockstack/ux/commit/7f23d36b0b6e4531027cd4b2c3cf5d76c7a274d2))
## 1.9.3 (2020-11-05)
### Bug Fixes
* valid-url package for url validation ([2d0664b](https://github.com/blockstack/ux/commit/2d0664b302dbf7464a9c9c5730e85675375b5a0e))
## 1.9.2 (2020-11-05)
### Bug Fixes
* add dep to app ([eade246](https://github.com/blockstack/ux/commit/eade246edadfb2963c543f3647ba348f77c170ec))
## 1.9.1 (2020-11-05)
### Bug Fixes
* add additional url validation ([1b67fbd](https://github.com/blockstack/ux/commit/1b67fbd91d0eb3cbfabfed297b9e18dfd7ab497b))
# 1.9.0 (2020-11-04)
### Features
* further simplify app instructions ([598827d](https://github.com/blockstack/ux/commit/598827d919fb62f9cc5308ebee5eac6acec4e982))
## 1.8.1 (2020-11-03)
### Bug Fixes
* proper glob for lerna packages ([5367055](https://github.com/blockstack/ux/commit/5367055e9c6622dd0a93f97275ab652a9af56bf9))
# [1.8.0](https://github.com/blockstack/ux/compare/test-app@1.6.7...test-app@1.8.0) (2020-11-02)
### Bug Fixes
* lighter CSP ([fcaed93](https://github.com/blockstack/ux/commit/fcaed93e833b84869f530c0dd5a464b9a97e4f34))
* only build modules for connect-react, not standalone ([a6174a2](https://github.com/blockstack/ux/commit/a6174a2e2a809776bbb1bac3629afa0078692be6))
* stencil publishing tweaks ([db45290](https://github.com/blockstack/ux/commit/db45290e6effbae8e91c9f0d2ab3c9d205cca0f0))
### Features
* refactor connect ui into web components with stencil ([7f65900](https://github.com/blockstack/ux/commit/7f65900fd6f648dcad57502d985b8dc862e7b72f)), closes [#581](https://github.com/blockstack/ux/issues/581) [#604](https://github.com/blockstack/ux/issues/604) [#612](https://github.com/blockstack/ux/issues/612) [#606](https://github.com/blockstack/ux/issues/606) [#613](https://github.com/blockstack/ux/issues/613)
* rename all packages to [@stacks](https://github.com/stacks) ([b56e750](https://github.com/blockstack/ux/commit/b56e750db5b30d4c56e9669285a11db565e8a675))
## [1.7.1](https://github.com/blockstack/ux/compare/test-app@1.7.0...test-app@1.7.1) (2020-11-02)
**Note:** Version bump only for package test-app
# [1.7.0](https://github.com/blockstack/ux/compare/test-app@1.6.7...test-app@1.7.0) (2020-11-02)
### Bug Fixes
* lighter CSP ([fcaed93](https://github.com/blockstack/ux/commit/fcaed93e833b84869f530c0dd5a464b9a97e4f34))
* only build modules for connect-react, not standalone ([a6174a2](https://github.com/blockstack/ux/commit/a6174a2e2a809776bbb1bac3629afa0078692be6))
### Features
* refactor connect ui into web components with stencil ([7f65900](https://github.com/blockstack/ux/commit/7f65900fd6f648dcad57502d985b8dc862e7b72f)), closes [#581](https://github.com/blockstack/ux/issues/581) [#604](https://github.com/blockstack/ux/issues/604) [#612](https://github.com/blockstack/ux/issues/612) [#606](https://github.com/blockstack/ux/issues/606) [#613](https://github.com/blockstack/ux/issues/613)
* rename all packages to [@stacks](https://github.com/stacks) ([b56e750](https://github.com/blockstack/ux/commit/b56e750db5b30d4c56e9669285a11db565e8a675))
## 1.6.7 (2020-10-05)
### Bug Fixes
* **connect:** use authOrigin from authOptions ([e6602a8](https://github.com/blockstack/ux/commit/e6602a8a559158d3ecf92268495176619d1f340e))
## 1.6.6 (2020-10-05)
### Bug Fixes
* remaining broken sidecar urls, fixes [#615](https://github.com/blockstack/ux/issues/615) ([4c26fce](https://github.com/blockstack/ux/commit/4c26fcea34c1603e4ea63d1be7b576b9ccb45a42))
## 1.6.5 (2020-09-29)
### Bug Fixes
* update node api url ([7c71cc7](https://github.com/blockstack/ux/commit/7c71cc7fd47cdb5626d618be70c953f3bfb9d7f7))
## 1.6.4 (2020-09-25)
### Bug Fixes
* add yarn.lock ([24d88d5](https://github.com/blockstack/ux/commit/24d88d5a29d2a4d3d8acee5ce70cd5ecb3c997c4))
## 1.6.3 (2020-09-16)
### Bug Fixes
* keychain lib still broken ([1a7fd0c](https://github.com/blockstack/ux/commit/1a7fd0ced01a6ec8bdd31bf84140728e4b1d7e30))
## 1.6.2 (2020-09-10)
### Bug Fixes
* **keychain:** use correct filepath when writing profiles ([fa8098a](https://github.com/blockstack/ux/commit/fa8098ae13973dd5e53303a4b04967a956d8842b))
## 1.6.1 (2020-08-21)
**Note:** Version bump only for package test-app
# [1.6.0](https://github.com/blockstack/ux/compare/test-app@1.5.6...test-app@1.6.0) (2020-08-21)
### Bug Fixes
* keychain version ([e1618f6](https://github.com/blockstack/ux/commit/e1618f61b18490e87760b810766beab38e7ef16f))
* rpc-client version ([83cf48b](https://github.com/blockstack/ux/commit/83cf48b679fa0938f6550c02472a97400dd009bf))
* **app:** use BigNum for fungible post condition amount ([633ac80](https://github.com/blockstack/ux/commit/633ac801b9a0f2f17eadd2dd302b8c4c235233de))
### Features
* dont use popups in mobile, adds method to handle redirect auth ([450f58b](https://github.com/blockstack/ux/commit/450f58bcb5c3431d6b1ac649d19f319da34d9f7f))
## [1.5.6](https://github.com/blockstack/ux/compare/test-app@1.5.5...test-app@1.5.6) (2020-08-11)
**Note:** Version bump only for package test-app
## 1.5.5 (2020-07-30)
### Bug Fixes
* reset text-align within connect modal, fixes [#458](https://github.com/blockstack/ux/issues/458) ([aecc700](https://github.com/blockstack/ux/commit/aecc70016809c3750d5cde730db4aeaffd52bb98))
## 1.5.4 (2020-07-28)
**Note:** Version bump only for package test-app
## 1.5.3 (2020-07-28)
### Bug Fixes
* cursor pointer on dont show this again, fixes [#508](https://github.com/blockstack/ux/issues/508) ([fe4dcf4](https://github.com/blockstack/ux/commit/fe4dcf418526289685687ad9f4526cd45db85410))
## 1.5.2 (2020-07-27)
### Bug Fixes
* **connect:** pass all data to token ([3f46f60](https://github.com/blockstack/ux/commit/3f46f600cccfeadca381574b2b493709b4bba590))
## 1.5.1 (2020-07-24)
### Bug Fixes
* send to sign in when using showBlockstackConnect, fixes [#507](https://github.com/blockstack/ux/issues/507) ([d7698e8](https://github.com/blockstack/ux/commit/d7698e839e44177e56617701d9df0bca5a60924a))
# 1.5.0 (2020-07-24)
### Features
* better bundle size with esmodules ([2c7046f](https://github.com/blockstack/ux/commit/2c7046f70d2ea10ffd973a4ea816a760ffc26952))
## 1.4.1 (2020-07-24)
### Bug Fixes
* force app icon 100% size in connect modal, fixes [#455](https://github.com/blockstack/ux/issues/455) ([4f69f75](https://github.com/blockstack/ux/commit/4f69f75cf7a153c6511cd200e3d1604e5a049226))
# 1.4.0 (2020-07-23)
### Features
* expose connect, app version ([b90a618](https://github.com/blockstack/ux/commit/b90a618fbeaac0ed998ec5ecd10eda8facdc6e10))
## 1.3.6 (2020-07-22)
### Bug Fixes
* docs not building ([d6acb21](https://github.com/blockstack/ux/commit/d6acb21d6e9d6ca171dbbac13a2cc38e7f68b4b9))
## 1.3.5 (2020-07-22)
### Bug Fixes
* workflow syntax for test-app deployment ([976fe54](https://github.com/blockstack/ux/commit/976fe54ee4e0e28833bad515ceccc5fd7f98df3a))
## 1.3.4 (2020-07-22)
**Note:** Version bump only for package test-app
## 1.3.3 (2020-07-14)
### Bug Fixes
* textStyles not being typed ([2428f69](https://github.com/blockstack/ux/commit/2428f69ddc39f20c566f2686a65959b59f52e9aa))
## 1.3.2 (2020-07-09)
**Note:** Version bump only for package test-app
## 1.3.1 (2020-07-09)
**Note:** Version bump only for package test-app
# 1.3.0 (2020-07-07)
### Features
* add codesandbox ci ([9e903d7](https://github.com/blockstack/ux/commit/9e903d7141c21503339159255cd06fb6701b1e3b))
## 1.2.4 (2020-06-30)
**Note:** Version bump only for package test-app
## [1.2.3](https://github.com/blockstack/ux/compare/test-app@1.2.2...test-app@1.2.3) (2020-06-30)
**Note:** Version bump only for package test-app
## [1.2.2](https://github.com/blockstack/ux/compare/test-app@1.2.1...test-app@1.2.2) (2020-06-30)
**Note:** Version bump only for package test-app
## [1.2.1](https://github.com/blockstack/ux/compare/test-app@1.2.0...test-app@1.2.1) (2020-06-24)
### Bug Fixes
* ui version behind published ([8198ca0](https://github.com/blockstack/ux/commit/8198ca050baa5e7294f99f4521aba78cab7635d8))
# [1.2.0](https://github.com/blockstack/ux/compare/test-app@1.1.12...test-app@1.2.0) (2020-06-24)
### Bug Fixes
* better readme for firefox install ([cbecc86](https://github.com/blockstack/ux/commit/cbecc86e975a9b758260dbb16e3c29a938717d60))
* connect version was behind published ([2d7633e](https://github.com/blockstack/ux/commit/2d7633e8b842cf231f10c2ea032de3bcd67258ff))
* keychain package was behind published version ([acbd4b0](https://github.com/blockstack/ux/commit/acbd4b064db61a60f01ce60ab75f9f2f39456eb8))
* tweaks to get extension working ([e068dce](https://github.com/blockstack/ux/commit/e068dcec1eca8c30375564a748ff3df4f0e8c715))
### Features
* add alternate button, closes [#397](https://github.com/blockstack/ux/issues/397) ([8d248d9](https://github.com/blockstack/ux/commit/8d248d9a7d54504149d90454f671ad54e6319eba))
## [1.1.12](https://github.com/blockstack/ux/compare/test-app@1.1.11...test-app@1.1.12) (2020-06-10)
**Note:** Version bump only for package test-app
## [1.1.11](https://github.com/blockstack/ux/compare/test-app@1.1.10...test-app@1.1.11) (2020-06-07)
### Bug Fixes
* handle mobile auth ([100faed](https://github.com/blockstack/ux/commit/100faed78db94756f13b5b803283fb2538153781))
## [1.1.10](https://github.com/blockstack/ux/compare/test-app@1.1.9...test-app@1.1.10) (2020-05-21)
**Note:** Version bump only for package test-app
## [1.1.9](https://github.com/blockstack/ux/compare/test-app@1.1.7...test-app@1.1.9) (2020-05-15)
**Note:** Version bump only for package test-app
## [1.1.7](https://github.com/blockstack/ux/compare/test-app@1.1.6...test-app@1.1.7) (2020-05-06)
**Note:** Version bump only for package test-app
## [1.1.6](https://github.com/blockstack/ux/compare/test-app@1.1.5...test-app@1.1.6) (2020-04-30)
**Note:** Version bump only for package test-app
## [1.1.5](https://github.com/blockstack/ux/compare/test-app@1.1.4...test-app@1.1.5) (2020-04-17)
**Note:** Version bump only for package test-app
## [1.1.4](https://github.com/blockstack/ux/compare/test-app@1.1.3...test-app@1.1.4) (2020-03-12)
**Note:** Version bump only for package test-app
## [1.1.3](https://github.com/blockstack/ux/compare/test-app@1.1.2...test-app@1.1.3) (2020-03-12)
**Note:** Version bump only for package test-app
## [1.1.2](https://github.com/blockstack/ux/compare/test-app@1.1.1...test-app@1.1.2) (2020-03-11)
### Bug Fixes
* prod test-app not linking to prod authenticator ([d778c0f](https://github.com/blockstack/ux/commit/d778c0fcf2fffb781d4ea9b684660c8b362df31b))
## [1.1.1](https://github.com/blockstack/ux/compare/test-app@1.1.0...test-app@1.1.1) (2020-03-10)
**Note:** Version bump only for package test-app
# [1.1.0](https://github.com/blockstack/ux/compare/test-app@1.0.3...test-app@1.1.0) (2020-03-10)
### Features
* implementation of router ([bd03411](https://github.com/blockstack/ux/commit/bd034112a098868d07e04dc6aba97d15145707d1))
## [1.0.3](https://github.com/blockstack/ux/compare/test-app@1.0.2...test-app@1.0.3) (2020-03-10)
**Note:** Version bump only for package test-app
## [1.0.2](https://github.com/blockstack/ux/compare/test-app@1.0.1...test-app@1.0.2) (2020-03-10)
**Note:** Version bump only for package test-app
## 1.0.1 (2020-03-10)
**Note:** Version bump only for package test-app

View File

@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2019 ymdevs
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.

View File

@@ -1,180 +0,0 @@
// For a detailed explanation regarding each configuration property, visit:
// https://jestjs.io/docs/en/configuration.html
module.exports = {
// All imported modules in your tests should be mocked automatically
// automock: false,
// Stop running tests after `n` failures
// bail: 0,
// Respect "browser" field in package.json when resolving modules
// browser: false,
// The directory where Jest should store its cached dependency information
// cacheDirectory: "C:\\Users\\Boobalay\\AppData\\Local\\Temp\\jest",
// Automatically clear mock calls and instances between every test
// clearMocks: false,
// Indicates whether the coverage information should be collected while executing the test
// collectCoverage: false,
// An array of glob patterns indicating a set of files for which coverage information should be collected
collectCoverageFrom: ['src/**/*.{ts,tsx}'],
// The directory where Jest should output its coverage files
// coverageDirectory: null,
// An array of regexp pattern strings used to skip coverage collection
// coveragePathIgnorePatterns: [
// "\\\\node_modules\\\\"
// ],
// A list of reporter names that Jest uses when writing coverage reports
// coverageReporters: [
// "json",
// "text",
// "lcov",
// "clover"
// ],
// An object that configures minimum threshold enforcement for coverage results
// coverageThreshold: null,
// A path to a custom dependency extractor
// dependencyExtractor: null,
// Make calling deprecated APIs throw helpful error messages
// errorOnDeprecated: false,
// Force coverage collection from ignored files usin a array of glob patterns
// forceCoverageMatch: [],
// A path to a module which exports an async function that is triggered once before all test suites
// globalSetup: null,
// A path to a module which exports an async function that is triggered once after all test suites
// globalTeardown: null,
// A set of global variables that need to be available in all test environments
globals: {
'ts-jest': {
// https://huafu.github.io/ts-jest/user/config/diagnostics
diagnostics: false,
},
},
// An array of directory names to be searched recursively up from the requiring module's location
// moduleDirectories: [
// "node_modules"
// ],
// An array of file extensions your modules use
moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node', 'clar'],
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
// modulePathIgnorePatterns: [],
// Activates notifications for test results
// notify: false,
// An enum that specifies notification mode. Requires { notify: true }
// notifyMode: "failure-change",
// A preset that is used as a base for Jest's configuration
// preset: null,
// Run tests from one or more projects
// projects: null,
// Use this configuration option to add custom reporters to Jest
// reporters: undefined,
// Automatically reset mock state between every test
// resetMocks: false,
// Reset the module registry before running each individual test
// resetModules: false,
// A path to a custom resolver
// resolver: null,
// Automatically restore mock state between every test
// restoreMocks: false,
// The root directory that Jest should scan for tests and modules within
// rootDir: null,
// A list of paths to directories that Jest should use to search for files in
roots: ['<rootDir>/tests', '<rootDir>/src', '<rootDir>/contracts'],
// Allows you to use a custom runner instead of Jest's default test runner
// runner: "jest-runner",
// The paths to modules that run some code to configure or set up the testing environment before each test
// setupFiles: [],
// A list of paths to modules that run some code to configure or set up the testing framework before each test
// setupFilesAfterEnv: [],
// A list of paths to snapshot serializer modules Jest should use for snapshot testing
// snapshotSerializers: [],
// The test environment that will be used for testing
// testEnvironment: 'jsdom',
preset: 'ts-jest',
// Options that will be passed to the testEnvironment
// testEnvironmentOptions: {},
// Adds a location field to test results
// testLocationInResults: false,
// The glob patterns Jest uses to detect test files
// testMatch: [
// "**/tests/**/*.[jt]s?(x)",
// "**/?(*.)+(spec|test).[tj]s?(x)"
// ],
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
// testPathIgnorePatterns: [
// "\\\\node_modules\\\\"
// ],
// The regexp pattern or array of patterns that Jest uses to detect test files
testRegex: '/tests/.*.test.tsx?$',
// This option allows the use of a custom results processor
// testResultsProcessor: null,
// This option allows use of a custom test runner
testRunner: 'jest-circus/runner',
// This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
// testURL: "http://localhost",
// Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
// timers: "real",
// A map from regular expressions to paths to transformers
transform: { '^.+\\.tsx?$': 'ts-jest' },
// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
// transformIgnorePatterns: [
// "\\\\node_modules\\\\"
// ],
// An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
// unmockedModulePathPatterns: undefined,
// Indicates whether each individual test should be reported during the run
// verbose: null,
// An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
// watchPathIgnorePatterns: [],
// Whether to use watchman for file crawling
// watchman: true,
};

View File

@@ -1,123 +0,0 @@
{
"name": "test-app",
"description": "The Blockstack App is a web app and browser extension for interacting with Blockstack apps.",
"private": true,
"scripts": {
"dev": "node webpack/dev-server.js",
"build": "cross-env NODE_ENV=production EXT_ENV=prod webpack -p --config webpack/webpack.config.prod.js",
"build:dev": "cross-env NODE_ENV=development EXT_ENV=development webpack --hot --mode development",
"build:test": "cross-env NODE_ENV=test webpack -p --config webpack/webpack.config.prod.js",
"build:test:watch": "cross-env NODE_ENV=test webpack -p --watch --config webpack/webpack.config.prod.js",
"clean": "rm -rf ./dist",
"clean:all": "rm -rf ./dist && rm -rf ./coverage && rm -rf ./node_modules",
"deploy-contracts": "ts-node scripts/deploy-contracts.ts -r tsconfig-paths/register -T --project ./tsconfig.json",
"lint": "yarn lint:eslint && yarn lint:prettier",
"lint:eslint": "eslint \"src/**/*.{ts,tsx}\"",
"lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
"lint:prettier": "prettier --check \"src/**/*.{ts,tsx}\" *.js",
"lint:prettier:fix": "prettier --write \"src/**/*.{ts,tsx}\" *.js",
"prod:web": "yarn build",
"prod:web:analyze": "cross-env NODE_ENV=production ANALYZE=true webpack -p",
"serve:test": "yarn http-server ./dist -p 3001 -s",
"typecheck": "tsc --noEmit",
"watch": "cross-env NODE_ENV=development EXT_ENV=watch webpack -d"
},
"version": "2.0.3",
"author": "Blockstack PBC",
"dependencies": {
"@blockstack/prettier-config": "^0.0.6",
"@blockstack/ui": "^2.12.13",
"@rehooks/document-title": "^1.0.1",
"@stacks/auth": "^1.0.2",
"@stacks/connect": "^5.0.3",
"@stacks/network": "^1.0.2",
"@stacks/rpc-client": "^1.0.3",
"dayjs": "^1.8.29",
"formik": "^2.1.4",
"html-webpack-plugin": "^5.2.0",
"mdi-react": "^7.0.0",
"preact": "^10.4.0",
"react": "^17.0.1",
"react-chrome-redux": "^2.0.0-alpha.5",
"react-dom": "^17.0.1",
"react-redux": "^7.2.0",
"react-refresh": "^0.9.0",
"redux": "4.0.5",
"redux-persist": "^6.0.0",
"redux-thunk": "^2.3.0",
"serve": "^11.3.2",
"styled-components": "^5.1.0",
"tsconfig-paths-webpack-plugin": "^3.2.0",
"use-events": "^1.4.1",
"use-onclickoutside": "^0.3.1",
"webext-redux": "^2.1.2"
},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-transform-regenerator": "^7.4.5",
"@babel/plugin-transform-runtime": "^7.9.0",
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
"@babel/preset-typescript": "^7.9.0",
"@babel/runtime": "^7.9.2",
"@blockstack/prettier-config": "^0.0.6",
"@blockstack/stacks-blockchain-sidecar-types": "^0.0.19",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.0-beta.0",
"@schemastore/web-manifest": "^0.0.4",
"@types/chrome": "^0.0.104",
"@types/expect-puppeteer": "^4.4.1",
"@types/jest": "^25.2.1",
"@types/jest-environment-puppeteer": "^4.3.1",
"@types/node": "^13.11.1",
"@types/react": "^16.9.34",
"@types/react-dom": "^16.9.6",
"@types/react-redux": "^7.1.7",
"@types/react-test-renderer": "^16.8.2",
"@types/styled-components": "5.1.0",
"@types/webpack": "^4.41.11",
"awesome-typescript-loader": "^5.2.1",
"babel-loader": "^8.1.0",
"babel-plugin-styled-components": "^1.10.7",
"bip39": "^3.0.2",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^5.0.3",
"cross-env": "^7.0.0",
"dotenv": "^8.2.0",
"eslint": "^7.0.0",
"fork-ts-checker-webpack-plugin": "^4.1.3",
"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",
"react-test-renderer": "^16.13.1",
"terser-webpack-plugin": "^2.3.5",
"ts-jest": "^25.3.1",
"ts-loader": "^7.0.0",
"ts-node": "^9.1.1",
"tsconfig-paths": "^3.9.0",
"webpack": "^5.24.2",
"webpack-bundle-analyzer": "^3.6.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "3.11.2",
"webpack-hot-middleware": "^2.25.0",
"webpackbar": "^5.0.0-3"
},
"keywords": [
"blockstack",
"decentralized",
"react",
"styled-components",
"web3"
],
"license": "MIT",
"main": "index.js",
"prettier": "@blockstack/prettier-config",
"repository": {
"type": "git",
"url": "git://github.com/blockstack/ux.git"
}
}

View File

@@ -1,49 +0,0 @@
{
"compilerOptions": {
/* Basic Options */
"target": "es2017", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"lib": ["es2017", "dom"], /* Specify library files to be included in the compilation. */
"jsx": "react", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
"sourceMap": true, /* Generates corresponding '.map' file. */
"removeComments": true, /* Do not emit comments to output. */
"noEmit": false, /* Do not emit outputs. */
"importHelpers": true, /* Import emit helpers from 'tslib'. */
"downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"strictNullChecks": true, /* Enable strict null checks. */
"strictFunctionTypes": true, /* Enable strict checking of function types. */
"strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
"strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
"noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
"skipLibCheck": true,
"noUnusedLocals": true, /* Report errors on unused locals. */
"noUnusedParameters": true, /* Report errors on unused parameters. */
"noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
"noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
"resolveJsonModule": true,
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
"paths": {
"@store/*": ["store/*"],
"@store": ["store/index"],
"@dev/*": ["dev/*"],
"@components/*": ["../components/*"],
"@containers/*": ["containers/*"],
"@common/*": ["../common/*"],
"@stacks/connect-react": ["../../connect-react/src"],
"@stacks/connect": ["../../connect/src"],
"@cards/*": ["../components/cards/*"],
"@stacks/rpc-client": ["../../rpc-client/src"]
},
"baseUrl": "src",
"allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
},
"include": [
"./src/**/*",
"./tests/**/*",
"./components/**/*",
"./common/**/*"
]
}

View File

@@ -1,3 +0,0 @@
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}

View File

@@ -1,205 +0,0 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CheckerPlugin = require('fork-ts-checker-webpack-plugin');
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin');
/* eslint-enable @typescript-eslint/no-var-requires */
const sourceRootPath = path.join(__dirname, 'src');
const distRootPath = path.join(__dirname, 'dist');
const nodeEnv = process.env.NODE_ENV ? process.env.NODE_ENV : 'development';
const webBrowser = process.env.WEB_BROWSER ? process.env.WEB_BROWSER : 'chrome';
const isDevelopment = nodeEnv === 'development';
const extEnv = process.env.EXT_ENV || 'web';
const hmtlProdOpts = !isDevelopment
? {
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}
: {};
const getSourceMap = () => {
if (extEnv === 'web') {
return nodeEnv === 'production' ? 'eval' : 'cheap-source-map';
}
return 'none';
};
const aliases =
nodeEnv === 'development'
? {
react: path.resolve('../../node_modules/react'),
}
: {
react: path.resolve('../../node_modules/preact/compat'),
'react-dom/test-utils': 'preact/test-utils',
'react-dom': 'preact/compat',
};
module.exports = {
entry: {
main: path.join(sourceRootPath, 'index.tsx'),
},
output: {
path: distRootPath,
chunkFilename: !isDevelopment ? '[name].[contenthash].chunk.js' : '[name].chunk.js',
filename: !isDevelopment ? '[name].[contenthash].js' : '[name].js',
},
resolve: {
extensions: ['.js', '.ts', '.tsx', '.json'],
plugins: [new TsconfigPathsPlugin()],
alias: aliases,
},
optimization: {
minimize: !isDevelopment,
minimizer: [
// This is only used in production mode
new TerserPlugin({
terserOptions: {
parse: {
// We want terser to parse ecma 8 code. However, we don't want it
// to apply any minification steps that turns valid ecma 5 code
// into invalid ecma 5 code. This is why the 'compress' and 'output'
// sections only apply transformations that are ecma 5 safe
// https://github.com/facebook/create-react-app/pull/4234
ecma: 8,
},
compress: {
ecma: 5,
warnings: false,
// Disabled because of an issue with Uglify breaking seemingly valid code:
// https://github.com/facebook/create-react-app/issues/2376
// Pending further investigation:
// https://github.com/mishoo/UglifyJS2/issues/2011
comparisons: false,
// Disabled because of an issue with Terser breaking valid code:
// https://github.com/facebook/create-react-app/issues/5250
// Pending further investigation:
// https://github.com/terser-js/terser/issues/120
inline: 2,
},
mangle: {
safari10: true,
},
// Added for profiling in devtools
keep_classnames: !isDevelopment,
keep_fnames: !isDevelopment,
output: {
ecma: 5,
comments: false,
// Turned on because emoji and regex is not minified properly using default
// https://github.com/facebook/create-react-app/issues/2488
ascii_only: true,
},
},
sourceMap: false,
}),
],
// Automatically split vendor and commons
// https://twitter.com/wSokra/status/969633336732905474
// https://medium.com/webpack/webpack-4-code-splitting-chunk-graph-and-the-splitchunks-optimization-be739a861366
splitChunks: {
chunks: 'all',
name: 'common',
},
// Keep the runtime chunk separated to enable long term caching
// https://twitter.com/wSokra/status/969679223278505985
// https://github.com/facebook/create-react-app/issues/5358
runtimeChunk: {
name: entrypoint => `runtime-${entrypoint.name}`,
},
},
module: {
rules: [
{
test: /\.(ts|tsx)?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
cacheDirectory: true,
babelrc: false,
presets: [
[
'@babel/preset-env',
{ targets: { browsers: 'last 2 versions' } }, // or whatever your project requires
],
'@babel/preset-typescript',
'@babel/preset-react',
],
plugins: [
// plugin-proposal-decorators is only needed if you're using experimental decorators in TypeScript
// ["@babel/plugin-proposal-decorators", { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
'@babel/plugin-transform-runtime',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-optional-chaining',
'babel-plugin-styled-components',
isDevelopment && require.resolve('react-refresh/babel'),
].filter(Boolean),
},
},
},
],
},
devServer: {
contentBase: './dist',
port: process.env.PORT ? parseInt(process.env.PORT) : 3000,
},
devtool: getSourceMap(),
watch: false,
plugins: [
new webpack.IgnorePlugin(/^\.\/wordlists\/(?!english)/, /bip39\/src$/),
new webpack.HashedModuleIdsPlugin(),
new CheckerPlugin(),
new HtmlWebpackPlugin({
template: path.join(sourceRootPath, '../', 'public', 'html', 'index.html'),
inject: 'body',
filename: 'index.html',
title: 'Stacks Blockchain Demo',
chunks: ['main', 'common'],
...hmtlProdOpts,
}),
new CopyWebpackPlugin([
{
from: path.join(sourceRootPath, '../', 'public', 'assets'),
to: path.join(distRootPath, 'assets'),
test: /\.(jpg|jpeg|png|gif|svg)?$/,
},
]),
new webpack.DefinePlugin({
'process.env.AUTH_ORIGIN': JSON.stringify(process.env.AUTH_ORIGIN),
NODE_ENV: JSON.stringify(nodeEnv),
WEB_BROWSER: JSON.stringify(webBrowser),
}),
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime-.+[.]js/]),
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
}),
isDevelopment && new ReactRefreshWebpackPlugin({ disableRefreshCheck: true }),
].filter(Boolean),
};
if (nodeEnv === 'production') {
module.exports.plugins.push(new CleanWebpackPlugin({ verbose: true, dry: false }));
}

View File

@@ -4,9 +4,12 @@
"private": true,
"scripts": {
"dev": "node webpack/dev-server.js",
"dev:test-app": "node ./test-app/webpack/dev-server.js",
"build": "cross-env NODE_ENV=production EXT_ENV=prod webpack --config webpack/webpack.config.prod.js",
"build:dev": "cross-env NODE_ENV=development EXT_ENV=development webpack --config webpack/webpack.config.dev.js",
"build:test": "cross-env NODE_ENV=test EXT_ENV=prod webpack --config webpack/webpack.config.prod.js",
"build:ext:test": "cross-env NODE_ENV=test EXT_ENV=prod webpack --config webpack/webpack.config.prod.js",
"build:test-app": "cross-env NODE_ENV=production EXT_ENV=prod webpack --config ./test-app/webpack/webpack.config.prod.js",
"build:test": "concurrently 'yarn build:ext:test' 'yarn build:test-app'",
"build:test:watch": "cross-env NODE_ENV=test EXT_ENV=watch webpack --config webpack/webpack.config.prod.js",
"clean": "rm -rf ./dist",
"clean:all": "rm -rf ./dist && rm -rf ./coverage && rm -rf ./node_modules",
@@ -22,6 +25,9 @@
"test": "NODE_ENV=test jest --verbose=true",
"test:coverage": "NODE_ENV=test jest --collect-coverage",
"test:watch": "NODE_ENV=test jest --watch",
"serve:test:ext": "yarn http-server ./dist -p 3000 -s",
"serve:test:test-app": "yarn http-server ./test-app/dist -p 3001 -s",
"serve:test": "concurrently 'yarn serve:test:ext' 'yarn serve:test:test-app'",
"typecheck": "tsc --noEmit"
},
"version": "2.0.2",
@@ -40,6 +46,7 @@
"@rehooks/document-title": "^1.0.1",
"@stacks/auth": "^1.0.2",
"@stacks/connect": "^5.0.3",
"@stacks/connect-react": "^3.0.3",
"@stacks/connect-ui": "^3.0.2",
"@stacks/network": "^1.0.2",
"@stacks/rpc-client": "^1.0.3",
@@ -57,12 +64,15 @@
"bn.js": "^5.1.1",
"body-parser": "^1.19.0",
"buffer": "^6.0.3",
"concurrently": "^6.0.0",
"dayjs": "^1.10.4",
"dompurify": "^2.1.1",
"download": "^8.0.0",
"downshift": "^6.0.6",
"express": "^4.17.1",
"formik": "^2.1.4",
"history": "^5.0.0-beta.4",
"http-server": "^0.12.3",
"jsontokens": "3.0.0",
"mdi-react": "^7.5.0",
"preact": "^10.4.0",
@@ -128,15 +138,15 @@
"crypto-browserify": "^3.12.0",
"esbuild-loader": "^2.9.2",
"eslint": "^7.21.0",
"eslint-plugin-jest": "^24.2.0",
"eslint-plugin-jest": "^24.2.1",
"eslint-plugin-react-hooks": "^4.2.0",
"html-webpack-plugin": "^5.3.1",
"jest": "^26.6.3",
"jest-circus": "^26.6.3",
"jest-junit": "^12.0.0",
"playwright": "^1.8.0",
"playwright-chromium": "^1.8.0",
"playwright-core": "^1.8.0",
"playwright": "^1.9.2",
"playwright-chromium": "^1.9.2",
"playwright-core": "^1.9.2",
"prettier": "^2.0.5",
"process": "^0.11.10",
"react-dev-utils": "^11.0.4",

14
example/test-app/.eslintrc.js → test-app/.eslintrc.js Executable file → Normal file
View File

@@ -1,21 +1,19 @@
module.exports = {
extends: ['@blockstack/eslint-config'],
parser: '@typescript-eslint/parser',
parserOptions: {
project: './tsconfig.json'
project: './tsconfig.json',
},
plugins: ['jest'],
env: {
browser: true,
node: true,
es6: true,
'jest/globals': true,
},
globals: {
page: true,
browser: true,
context: true,
},
plugins: ['react-hooks', '@typescript-eslint'],
rules: {
'@typescript-eslint/no-unnecessary-type-assertion': [0],
'@typescript-eslint/no-unsafe-assignment': [0],
@@ -25,5 +23,11 @@ module.exports = {
'@typescript-eslint/ban-types': [0],
'@typescript-eslint/restrict-template-expressions': [0],
'@typescript-eslint/explicit-module-boundary-types': [0],
}
"no-warning-comments": [1],
"react-hooks/exhaustive-deps": [
"warn", {
additionalHooks: "useRecoilCallback",
},
]
},
};

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 895 B

After

Width:  |  Height:  |  Size: 895 B

View File

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 441 B

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,12 +1,13 @@
import React, { useEffect } from 'react';
import { ThemeProvider, theme, Flex, CSSReset } from '@blockstack/ui';
import { Connect } from '@stacks/connect-react';
import { AuthOptions } from '@stacks/connect';
import { getAuthOrigin } from '@common/utils';
import { UserSession, AppConfig } from '@stacks/auth';
import { defaultState, AppContext, AppState } from '@common/context';
import { Header } from '@components/header';
import { Home } from '@components/home';
import React, {useEffect} from 'react';
import {ThemeProvider, theme, Flex, ColorModeProvider} from '@stacks/ui';
import {Connect} from '@stacks/connect-react';
import {AuthOptions} from '@stacks/connect';
import {getAuthOrigin} from '@common/utils';
import {UserSession, AppConfig} from '@stacks/auth';
import {defaultState, AppContext, AppState} from '@common/context';
import {Header} from '@components/header';
import {Home} from '@components/home';
import {GlobalStyles} from "../../../src/components/global-styles";
const icon = '/assets/messenger-app-icon.png';
export const App: React.FC = () => {
@@ -15,11 +16,11 @@ export const App: React.FC = () => {
const [appPrivateKey, setAppPrivateKey] = React.useState('');
const appConfig = new AppConfig(['store_write', 'publish_data'], document.location.href);
const userSession = new UserSession({ appConfig });
const userSession = new UserSession({appConfig});
const signOut = () => {
userSession.signUserOut();
setState({ userData: null });
setState({userData: null});
};
const authOrigin = getAuthOrigin();
@@ -27,14 +28,14 @@ export const App: React.FC = () => {
useEffect(() => {
if (userSession.isUserSignedIn()) {
const userData = userSession.loadUserData();
setState({ userData });
setState({userData});
}
}, []);
const handleRedirectAuth = async () => {
if (userSession.isSignInPending()) {
const userData = await userSession.handlePendingSignIn();
setState({ userData });
setState({userData});
setAppPrivateKey(userData.appPrivateKey);
} else if (userSession.isUserSignedIn()) {
setAppPrivateKey(userSession.loadUserData().appPrivateKey);
@@ -49,12 +50,11 @@ export const App: React.FC = () => {
manifestPath: '/static/manifest.json',
redirectTo: '/',
userSession,
finished: ({ userSession, authResponse }) => {
finished: ({userSession, authResponse}) => {
const userData = userSession.loadUserData();
setAppPrivateKey(userSession.loadUserData().appPrivateKey);
setAuthResponse(authResponse);
setState({ userData });
console.log(userData);
setState({userData});
},
onCancel: () => {
console.log('popup closed!');
@@ -67,20 +67,21 @@ export const App: React.FC = () => {
};
return (
<Connect authOptions={authOptions}>
<ThemeProvider theme={theme}>
<AppContext.Provider value={state}>
<CSSReset />
<Flex direction="column" minHeight="100vh" bg="white">
{authResponse && <input type="hidden" id="auth-response" value={authResponse} />}
{appPrivateKey && <input type="hidden" id="app-private-key" value={appPrivateKey} />}
<ThemeProvider theme={theme}>
<ColorModeProvider defaultMode="light">
<GlobalStyles/>
<Connect authOptions={authOptions}>
<AppContext.Provider value={state}>
<Flex flexDirection="column" minHeight="100vh" bg="white">
{authResponse && <input type="hidden" id="auth-response" value={authResponse}/>}
{appPrivateKey && <input type="hidden" id="app-private-key" value={appPrivateKey}/>}
<Header signOut={signOut}/>
<Home/>
</Flex>
</AppContext.Provider>
</Connect>
</ColorModeProvider>
</ThemeProvider>
<Header signOut={signOut} />
<Home />
</Flex>
</AppContext.Provider>
</ThemeProvider>
</Connect>
);
};

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Button, Text, Box, space, ButtonGroup } from '@blockstack/ui';
import { Button, Text, Box, space, ButtonGroup } from '@stacks/ui';
import { useConnect } from '@stacks/connect-react';
export const Auth: React.FC = () => {

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Button, ButtonGroup, Box, Text } from '@blockstack/ui';
import { Button, ButtonGroup, Box, Text } from '@stacks/ui';
import { AppContext } from '@common/context';
import { getAuthOrigin, getRPCClient, stacksNetwork as network } from '@common/utils';
import { deserializeCV, IntCV } from '@blockstack/stacks-transactions';

View File

@@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react';
import { space, Box, Text, Flex } from '@blockstack/ui';
import { space, Box, Text, Flex } from '@stacks/ui';
import { ExplorerLink } from './explorer-link';
import { CounterActions } from './counter-actions';
import { getRPCClient } from '@common/utils';

View File

@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { space, Box, Text, Button, ButtonGroup } from '@blockstack/ui';
import { space, Box, Text, Button, ButtonGroup } from '@stacks/ui';
import { getAuthOrigin, stacksNetwork as network } from '@common/utils';
import { demoTokenContract } from '@common/contracts';
import { useSTXAddress } from '@common/use-stx-address';

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { getAuthOrigin } from '@common/utils';
import { useConnect } from '@stacks/connect-react';
import { SampleContracts } from '@common/contracts';
import { Box, Button, Text } from '@blockstack/ui';
import { Box, Button, Text } from '@stacks/ui';
import { ExplorerLink } from './explorer-link';
export const Deploy = () => {

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { Link } from '@components/link';
import { Box } from '@blockstack/ui';
import { Box } from '@stacks/ui';
interface LinkProps {
txId: string;

View File

@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { Flex, Box, Button, Input, Text } from '@blockstack/ui';
import { Flex, Box, Button, Input, Text } from '@stacks/ui';
import { getRPCClient } from '@common/utils';
import { ExplorerLink } from './explorer-link';

View File

@@ -1,5 +1,5 @@
import React, { useContext } from 'react';
import { Flex, Box } from '@blockstack/ui';
import { Flex, Box } from '@stacks/ui';
import { StacksLogo } from '@stacks/ui';
import { AppContext } from '@common/context';
import { Link } from '@components/link';

View File

@@ -1,6 +1,6 @@
import React, { useContext, useState } from 'react';
import { AppContext } from '@common/context';
import { Box, Text, Flex, space, BoxProps } from '@blockstack/ui';
import { Box, Text, Flex, space, BoxProps } from '@stacks/ui';
import { Auth } from './auth';
import { Tab } from './tab';
import { Status } from './status';

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Text, Box, BoxProps } from '@blockstack/ui';
import { Text, Box, BoxProps } from '@stacks/ui';
interface LinkProps extends BoxProps {
_hover?: BoxProps;

View File

@@ -1,5 +1,5 @@
import React, { useState, useEffect } from 'react';
import { space, Box, Text, Button, Input, Flex } from '@blockstack/ui';
import { space, Box, Text, Button, Input, Flex } from '@stacks/ui';
import { ExplorerLink } from './explorer-link';
import { useConnect } from '@stacks/connect-react';
import {

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Box, BoxProps } from '@blockstack/ui';
import { Box, BoxProps } from '@stacks/ui';
export const InactiveTab: React.FC = ({ children }) => {
return (

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Box, Flex, Text } from '@blockstack/ui';
import { Box, Flex, Text } from '@stacks/ui';
import { ContractCallTransaction } from '@blockstack/stacks-blockchain-sidecar-types';
import { toRelativeTime } from '@common/utils';

View File

@@ -1,6 +1,6 @@
import * as React from 'react';
import ReactDOM from 'react-dom';
import { App } from '../components/app';
import { App } from '@components/app';
const render = () => {
ReactDOM.render(<App />, document.getElementById('app-root'));

63
test-app/tsconfig.json Normal file
View File

@@ -0,0 +1,63 @@
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"lib": [
"es2017",
"dom"
],
"jsx": "react",
"sourceMap": true,
"removeComments": true,
"noEmit": false,
"importHelpers": true,
"downlevelIteration": true,
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"strictBindCallApply": true,
"strictPropertyInitialization": true,
"noImplicitThis": true,
"alwaysStrict": true,
"skipLibCheck": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"resolveJsonModule": true,
"moduleResolution": "node",
"paths": {
"@store/*": [
"./store/*"
],
"@store": [
"./store/index"
],
"@dev/*": [
"./dev/*"
],
"@components/*": [
"./components/*"
],
"@containers/*": [
"./containers/*"
],
"@common/*": [
"./common/*"
],
"@cards/*": [
"./components/cards/*"
]
},
"baseUrl": "./src",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
},
"include": [
"./src/**/*",
"./tests/**/*",
"./components/**/*",
"./common/**/*"
]
}

View File

@@ -1,18 +1,18 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require('path');
const webpack = require('webpack');
const { version: _version } = require('../package.json');
const { execSync } = require('child_process');
const {version: _version} = require('../../package.json');
const {execSync} = require('child_process');
// plugins
const WebpackBarPlugin = require('webpackbar');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const {CleanWebpackPlugin} = require('clean-webpack-plugin');
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
const { ESBuildPlugin } = require('esbuild-loader');
const {ESBuildPlugin} = require('esbuild-loader');
// utils
const getSegmentKey = () => {
@@ -25,12 +25,12 @@ const getSegmentKey = () => {
};
const getBranch = () => {
const branch = execSync(`git rev-parse --abbrev-ref HEAD`, { encoding: 'utf8' }).trim();
const branch = execSync(`git rev-parse --abbrev-ref HEAD`, {encoding: 'utf8'}).trim();
return branch;
};
const getCommit = () => {
const commit = execSync('git rev-parse --short HEAD', { encoding: 'utf8' }).trim();
const commit = execSync('git rev-parse --short HEAD', {encoding: 'utf8'}).trim();
return commit;
};
@@ -76,30 +76,22 @@ const HTML_OPTIONS = {
const HTML_PROD_OPTIONS = IS_DEV
? HTML_OPTIONS
: {
...HTML_OPTIONS,
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
};
...HTML_OPTIONS,
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
};
const aliases = IS_DEV
? {
react: path.resolve('../../node_modules/react'),
}
: {
react: path.resolve('../../node_modules/preact/compat'),
'react-dom/test-utils': 'preact/test-utils',
'react-dom': 'preact/compat',
};
const aliases = {}
const config = {
entry: {
@@ -117,7 +109,9 @@ const config = {
},
resolve: {
extensions: ['.js', '.ts', '.tsx', '.json', '.d.ts'],
plugins: [new TsconfigPathsPlugin()],
plugins: [new TsconfigPathsPlugin({
configFile: path.resolve( './test-app/tsconfig.json')
})],
alias: aliases,
fallback: {
crypto: require.resolve('crypto-browserify'),
@@ -147,13 +141,13 @@ const config = {
presets: [
[
'@babel/preset-env',
{ targets: { browsers: 'last 2 versions' } }, // or whatever your project requires
{targets: {browsers: 'last 2 versions'}}, // or whatever your project requires
],
'@babel/preset-typescript',
'@babel/preset-react',
],
plugins: [
['@babel/plugin-proposal-class-properties', { loose: true }],
['@babel/plugin-proposal-class-properties', {loose: true}],
'@babel/plugin-transform-runtime',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-optional-chaining',
@@ -187,13 +181,14 @@ const config = {
filename: 'index.html',
...HTML_PROD_OPTIONS,
}),
new CopyWebpackPlugin([
{
from: path.join(SRC_ROOT_PATH, '../', 'public', 'assets'),
to: path.join(DIST_ROOT_PATH, 'assets'),
test: /\.(jpg|jpeg|png|gif|svg)?$/,
},
]),
new CopyWebpackPlugin({
patterns: [
{
from: path.join(SRC_ROOT_PATH, '../', 'public', 'assets'),
to: path.join(DIST_ROOT_PATH, 'assets'),
},
]
}),
new webpack.DefinePlugin({
NODE_ENV: JSON.stringify(NODE_ENV),
WEB_BROWSER: JSON.stringify(WEB_BROWSER),
@@ -217,7 +212,7 @@ module.exports = smp.wrap(config);
if (IS_PROD) {
module.exports.plugins.push(
new CleanWebpackPlugin({ verbose: true, dry: false, cleanStaleWebpackAssets: false })
new CleanWebpackPlugin({verbose: true, dry: false, cleanStaleWebpackAssets: false})
);
}
if (ANALYZE_BUNDLE) {

View File

@@ -18,6 +18,7 @@ config.optimization = {
minimizer: [
new ESBuildMinifyPlugin({
target: 'es2015',
tsconfigRaw: require('../tsconfig.json')
}),
],
};

View File

@@ -36,5 +36,6 @@
"esModuleInterop": true,
"types": ["jest", "chrome"]
},
"include": ["./src/**/*", "./tests/**/*"]
"include": ["./src/**/*", "./tests/**/*"],
"exclude": ["test-app"]
}

178
yarn.lock
View File

@@ -2194,6 +2194,15 @@
dependencies:
cross-fetch "^3.0.6"
"@stacks/connect-react@^3.0.3":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@stacks/connect-react/-/connect-react-3.0.3.tgz#8e82dab077f76feab10d5f623077157ffe099f3a"
integrity sha512-NI2XJjvaxcBW7DP3O6iNuN3YTCP0NGWI8laBMYaPRmVIGutMokbWXa47yGygwFHhfvFEysvakjQCmBWx5sR5Fw==
dependencies:
"@stacks/auth" "^1.0.2"
"@stacks/connect" "^5.0.3"
jsontokens "^3.0.0"
"@stacks/connect-ui@^3.0.2", "@stacks/connect-ui@^3.0.3":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@stacks/connect-ui/-/connect-ui-3.0.3.tgz#4a673b6345438bc27c12416aaaea2dd683cfd277"
@@ -3975,6 +3984,11 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
basic-auth@^1.0.3:
version "1.1.0"
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884"
integrity sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=
batch@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
@@ -4812,6 +4826,11 @@ colors@0.5.x:
resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
integrity sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=
colors@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
columnify@1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
@@ -4919,6 +4938,21 @@ concat-stream@^1.4.7:
readable-stream "^2.2.2"
typedarray "^0.0.6"
concurrently@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.0.0.tgz#c1a876dd99390979c71f8c6fe6796882f3a13199"
integrity sha512-Ik9Igqnef2ONLjN2o/OVx1Ow5tymVvvEwQeYCQdD/oV+CN9oWhxLk7ibcBdOtv0UzBqHCEKRwbKceYoTK8t3fQ==
dependencies:
chalk "^4.1.0"
date-fns "^2.16.1"
lodash "^4.17.20"
read-pkg "^5.2.0"
rxjs "^6.6.3"
spawn-command "^0.0.2-1"
supports-color "^8.1.0"
tree-kill "^1.2.2"
yargs "^16.2.0"
configstore@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
@@ -5028,6 +5062,11 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
corser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=
cosmiconfig@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@@ -5223,6 +5262,16 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
date-fns@^2.16.1:
version "2.19.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.19.0.tgz#65193348635a28d5d916c43ec7ce6fbd145059e1"
integrity sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==
dayjs@^1.10.4:
version "1.10.4"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2"
integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==
debounce@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131"
@@ -5709,6 +5758,16 @@ ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11:
dependencies:
safe-buffer "^5.0.1"
ecstatic@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-3.3.2.tgz#6d1dd49814d00594682c652adb66076a69d46c48"
integrity sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==
dependencies:
he "^1.1.1"
mime "^1.6.0"
minimist "^1.1.0"
url-join "^2.0.5"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -5939,10 +5998,10 @@ escodegen@^2.0.0:
optionalDependencies:
source-map "~0.6.1"
eslint-plugin-jest@^24.2.0:
version "24.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.2.0.tgz#2d7784f58bf424b7ba888305c6c070f80bd2af5d"
integrity sha512-PZ6+/cOldZxpGF3rVYX6Y+83AUAI4jofdtyVrjimVHgXHfPBC5UKVTn92f6aFFV9HuD8xa1WNqY5s3kgfSzROQ==
eslint-plugin-jest@^24.2.1:
version "24.2.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.2.1.tgz#7e84f16a3ca6589b86be9732a93d71367a4ed627"
integrity sha512-s24ve8WUu3DLVidvlSzaqlOpTZre9lTkZTAO+a7X0WMtj8HraWTiTEkW3pbDT1xVxqEHMWSv+Kx7MyqR50nhBw==
dependencies:
"@typescript-eslint/experimental-utils" "^4.0.1"
@@ -7162,7 +7221,7 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
he@^1.2.0:
he@^1.1.1, he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@@ -7350,7 +7409,7 @@ http-proxy-middleware@^1.0.0:
lodash "^4.17.20"
micromatch "^4.0.2"
http-proxy@^1.17.0, http-proxy@^1.18.1:
http-proxy@^1.17.0, http-proxy@^1.18.0, http-proxy@^1.18.1:
version "1.18.1"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
@@ -7359,6 +7418,22 @@ http-proxy@^1.17.0, http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
http-server@^0.12.3:
version "0.12.3"
resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.12.3.tgz#ba0471d0ecc425886616cb35c4faf279140a0d37"
integrity sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA==
dependencies:
basic-auth "^1.0.3"
colors "^1.4.0"
corser "^2.0.1"
ecstatic "^3.3.2"
http-proxy "^1.18.0"
minimist "^1.2.5"
opener "^1.5.1"
portfinder "^1.0.25"
secure-compare "3.0.1"
union "~0.5.0"
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@@ -9160,7 +9235,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19,
dependencies:
mime-db "1.46.0"
mime@1.6.0:
mime@1.6.0, mime@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
@@ -9197,7 +9272,7 @@ minimalistic-crypto-utils@^1.0.1:
dependencies:
brace-expansion "^1.1.7"
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -9625,7 +9700,7 @@ open@^7.0.2:
is-docker "^2.0.0"
is-wsl "^2.1.1"
opener@^1.5.2:
opener@^1.5.1, opener@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
@@ -10022,10 +10097,10 @@ pkg-up@3.1.0:
dependencies:
find-up "^3.0.0"
playwright-chromium@^1.8.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/playwright-chromium/-/playwright-chromium-1.9.1.tgz#3f9c85ce74393aeefc76ccc58477eb339ba40b39"
integrity sha512-D3dc7Nk7LDkvlnZtum9+PGk1QX85rPDH8R6hTfkpHU1rDbb1iOVa2dpDwJ5LNI7Po1X/q0x8v40LeeGfA9lIAg==
playwright-chromium@^1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/playwright-chromium/-/playwright-chromium-1.9.2.tgz#131d7ab12eb663d7f8b481bdabb7934daf7c5bf0"
integrity sha512-K69dn8/oqQgZwdZYmsa8mNwNRxPZhXEFac2Owvn9Mx3TKI0bbSDjJcGRO8YYAvFW1WMyqijRzoefq2B8h05dyQ==
dependencies:
commander "^6.1.0"
debug "^4.1.1"
@@ -10041,10 +10116,10 @@ playwright-chromium@^1.8.0:
stack-utils "^2.0.3"
ws "^7.3.1"
playwright-core@^1.8.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.9.1.tgz#c3b9160f54318f1657e29309df5a5419c5574479"
integrity sha512-V/i2kMWRaJ+76XTCiR0+dS711V0+JVPNw+YcOiCa0GjGiq3bEhZCFPeHMv++BH4hfC3jFXuD9/XUaw2to6EVcw==
playwright-core@^1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.9.2.tgz#cef51ac7e9b862528a860b6531628598b485ac17"
integrity sha512-XXurYB1mEFWdjlXja1J7fJUwzSJaS+1qXV64B8vQOSZvV6NgaBxlkvexbyzM3i7RNyE9pwMKKeJzJ9kj2ThB/Q==
dependencies:
commander "^6.1.0"
debug "^4.1.1"
@@ -10060,10 +10135,10 @@ playwright-core@^1.8.0:
stack-utils "^2.0.3"
ws "^7.3.1"
playwright@^1.8.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.9.1.tgz#b4db35f69076b2dc91e347e58d81f2f391d1ed49"
integrity sha512-bZXnks4UGJZoqja6TqVEUG0IQ2liqYFcO1R4lT43aO4oDVTQtawEJjS+EqLYsAuniRFWVE87Cemus4fRQbyXMg==
playwright@^1.9.2:
version "1.9.2"
resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.9.2.tgz#294910950b76ec4c3dfed6a1e9d28e9b8560b0f4"
integrity sha512-Hsgfk3GZO+hgewRNW9xl9/tHjdZvVwxTseHagbiNpDf90PXICEh8UHXy/2eykeIXrZFMA6W6petEtRWNPi3gfQ==
dependencies:
commander "^6.1.0"
debug "^4.1.1"
@@ -10084,7 +10159,7 @@ pngjs@^5.0.0:
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
portfinder@^1.0.26:
portfinder@^1.0.25, portfinder@^1.0.26:
version "1.0.28"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
@@ -10312,6 +10387,11 @@ qs@6.7.0:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
qs@^6.4.0:
version "6.9.6"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -10984,6 +11064,13 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
rxjs@^6.6.3:
version "6.6.6"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70"
integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==
dependencies:
tslib "^1.9.0"
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -11087,6 +11174,11 @@ schema-utils@^3.0.0:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
secure-compare@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3"
integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=
seek-bzip@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4"
@@ -11479,6 +11571,11 @@ source-map@^0.7.3, source-map@~0.7.2:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
spawn-command@^0.0.2-1:
version "0.0.2-1"
resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0"
integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=
spawn-sync@1.0.15:
version "1.0.15"
resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
@@ -11866,6 +11963,13 @@ supports-color@^7.0.0, supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
supports-color@^8.1.0:
version "8.1.1"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
dependencies:
has-flag "^4.0.0"
supports-hyperlinks@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
@@ -12198,6 +12302,11 @@ traverse@0.4.x:
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.4.6.tgz#d04b2280e4c792a5815429ef7b8b60c64c9ccc34"
integrity sha1-0EsigOTHkqWBVCnve4tgxkyczDQ=
tree-kill@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
trim-repeated@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21"
@@ -12434,6 +12543,13 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
union@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075"
integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==
dependencies:
qs "^6.4.0"
unique-filename@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
@@ -12525,6 +12641,11 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url-join@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728"
integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=
url-parse-lax@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
@@ -13303,6 +13424,19 @@ yargs@^13.3.2:
y18n "^4.0.0"
yargs-parser "^13.1.2"
yargs@^16.2.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
dependencies:
cliui "^7.0.2"
escalade "^3.1.1"
get-caller-file "^2.0.5"
require-directory "^2.1.1"
string-width "^4.2.0"
y18n "^5.0.5"
yargs-parser "^20.2.2"
yauzl@2.10.0, yauzl@^2.10.0, yauzl@^2.4.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"