From 4845ebddf6b525b349171001b4a37d3433e4913e Mon Sep 17 00:00:00 2001 From: Sebastian Date: Sat, 30 Jan 2021 12:35:55 -0300 Subject: 0006728: set up wallet CI pipeline for WebExtension build This commit split in three main things: * added deploy-webext to upload the extension zipfile * put scope into the npm packages to be able to deploy them * added deploy-npm to deploy related npm packages Also, fixing bug on `make clean`. Some packages where not being deleting tsconfig.tsbuildinfo and making subsequent `make` fail --- .gitlab-ci.yml | 38 ++++++++++++++++++---- build-system/Makefile | 6 +++- build-system/taler-build-scripts | 2 +- packages/idb-bridge/package.json | 4 +-- packages/pogen/package.json | 2 +- packages/taler-wallet-android/package.json | 8 ++--- packages/taler-wallet-android/src/index.ts | 2 +- packages/taler-wallet-cli/package.json | 6 ++-- packages/taler-wallet-cli/src/index.ts | 4 +-- .../src/integrationtests/harness.ts | 6 ++-- .../src/integrationtests/helpers.ts | 2 +- .../src/integrationtests/libeufin.ts | 2 +- .../src/integrationtests/merchantApiTypes.ts | 4 +-- .../src/integrationtests/test-bank-api.ts | 2 +- .../integrationtests/test-exchange-management.ts | 2 +- .../src/integrationtests/test-libeufin-basic.ts | 2 +- .../test-merchant-exchange-confusion.ts | 2 +- .../integrationtests/test-merchant-longpolling.ts | 2 +- .../integrationtests/test-merchant-refund-api.ts | 2 +- .../src/integrationtests/test-pay-abort.ts | 2 +- .../src/integrationtests/test-pay-paid.ts | 2 +- .../src/integrationtests/test-payment-claim.ts | 2 +- .../src/integrationtests/test-payment-fault.ts | 2 +- .../integrationtests/test-payment-idempotency.ts | 2 +- .../src/integrationtests/test-payment-transient.ts | 2 +- .../src/integrationtests/test-paywall-flow.ts | 2 +- .../src/integrationtests/test-refund-auto.ts | 2 +- .../src/integrationtests/test-refund-gone.ts | 2 +- .../integrationtests/test-refund-incremental.ts | 2 +- .../src/integrationtests/test-refund.ts | 2 +- .../test-timetravel-autorefresh.ts | 2 +- .../integrationtests/test-timetravel-withdraw.ts | 2 +- .../integrationtests/test-withdrawal-abort-bank.ts | 2 +- .../test-withdrawal-bank-integrated.ts | 2 +- .../src/integrationtests/test-withdrawal-manual.ts | 4 +-- packages/taler-wallet-core/package.json | 8 ++--- .../src/crypto/workers/nodeThreadWorker.ts | 2 +- packages/taler-wallet-core/src/db.ts | 2 +- packages/taler-wallet-core/src/headless/helpers.ts | 4 +-- packages/taler-wallet-core/src/types/dbTypes.ts | 2 +- packages/taler-wallet-core/src/util/query.ts | 2 +- packages/taler-wallet-webextension/package.json | 4 +-- .../src/browserCryptoWorkerFactory.ts | 2 +- .../src/browserHttpLib.ts | 4 +-- .../src/browserWorkerEntry.ts | 2 +- packages/taler-wallet-webextension/src/i18n.tsx | 2 +- .../src/pageEntryPoint.ts | 2 +- .../taler-wallet-webextension/src/pages/pay.tsx | 2 +- .../taler-wallet-webextension/src/pages/popup.tsx | 2 +- .../taler-wallet-webextension/src/pages/refund.tsx | 2 +- .../taler-wallet-webextension/src/pages/tip.tsx | 2 +- .../src/pages/welcome.tsx | 2 +- .../src/pages/withdraw.tsx | 2 +- .../taler-wallet-webextension/src/renderHtml.tsx | 2 +- packages/taler-wallet-webextension/src/wxApi.ts | 2 +- .../taler-wallet-webextension/src/wxBackend.ts | 2 +- pnpm-lock.yaml | 20 ++++++------ 57 files changed, 117 insertions(+), 89 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9e896e9c1..123c9d42b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,37 @@ -image: "registry.gitlab.com/gnu-taler/docker-taler-ci:latest" +image: "registry.gitlab.com/sebasjm/docker-taler-ci:latest" -before_script: - - pg_ctlcluster 12 main start +# before_script: +# - pg_ctlcluster 12 main start -test: +stages: + - test + - deploy + +# test: +# stage: test +# script: +# - ./bootstrap +# - ./configure +# - make install + +deploy-webext: + stage: deploy + script: + - ./bootstrap + - ./configure + - make webextension + - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" + --upload-file packages/taler-wallet-webextension/extension/taler-wallet-$(jq -r .version packages/taler-wallet-webextension/manifest.json).zip + "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/taler-wallet/$(jq -r .version packages/taler-wallet-webextension/manifest.json | cut -d . -f 1,2,3)/taler-wallet-$(jq -r .version packages/taler-wallet-webextension/manifest.json).zip"' + +deploy-npm: + stage: deploy script: + - npm config set @gnu-taler:registry https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/ + - npm config set '//gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken' ${CI_JOB_TOKEN} - ./bootstrap - ./configure - - make install integrationtests + - make publish -after_script: - - pg_ctlcluster 12 main stop +# after_script: +# - pg_ctlcluster 12 main stop diff --git a/build-system/Makefile b/build-system/Makefile index 06023c097..98994ac84 100644 --- a/build-system/Makefile +++ b/build-system/Makefile @@ -4,7 +4,7 @@ src = src poname = taler-wallet-webex tsc = node_modules/typescript/bin/tsc -pogen = node_modules/pogen/bin/pogen.js +pogen = node_modules/@gnu-taler/pogen/bin/pogen.js typedoc = node_modules/typedoc/bin/typedoc ava = node_modules/.bin/ava nyc = node_modules/nyc/bin/nyc.js @@ -21,6 +21,10 @@ compile: dist: $(git-archive-all) --include ./configure taler-wallet-$(shell git describe --tags).tar.gz +.PHONY: publish +publish: compile + pnpm publish -r --no-git-checks + # make documentation from docstrings .PHONY: typedoc typedoc: diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts index 47f14fcf1..c76fb9b3a 160000 --- a/build-system/taler-build-scripts +++ b/build-system/taler-build-scripts @@ -1 +1 @@ -Subproject commit 47f14fcf1d03d9dad1bae59987488ea05ecd307b +Subproject commit c76fb9b3af6ec43f2d2a83e6b4f523dcc5ac6a54 diff --git a/packages/idb-bridge/package.json b/packages/idb-bridge/package.json index ee2501105..f8be82987 100644 --- a/packages/idb-bridge/package.json +++ b/packages/idb-bridge/package.json @@ -1,5 +1,5 @@ { - "name": "idb-bridge", + "name": "@gnu-taler/idb-bridge", "version": "0.0.16", "description": "IndexedDB implementation that uses SQLite3 as storage", "main": "./dist/idb-bridge.js", @@ -33,4 +33,4 @@ "esm" ] } -} +} \ No newline at end of file diff --git a/packages/pogen/package.json b/packages/pogen/package.json index 464aa7aa8..b5997abf9 100644 --- a/packages/pogen/package.json +++ b/packages/pogen/package.json @@ -1,5 +1,5 @@ { - "name": "pogen", + "name": "@gnu-taler/pogen", "version": "0.0.5", "main": "bin/pogen.js", "author": "Florian Dold", diff --git a/packages/taler-wallet-android/package.json b/packages/taler-wallet-android/package.json index fc22f9505..b7f0eee24 100644 --- a/packages/taler-wallet-android/package.json +++ b/packages/taler-wallet-android/package.json @@ -1,5 +1,5 @@ { - "name": "taler-wallet-android", + "name": "@gnu-taler/taler-wallet-android", "version": "0.8.0", "description": "", "engines": { @@ -16,7 +16,7 @@ "compile": "tsc && rollup -c", "pretty": "prettier --write src", "coverage": "tsc && nyc ava", - "clean": "rimraf lib dist" + "clean": "rimraf lib dist tsconfig.tsbuildinfo" }, "files": [ "AUTHORS", @@ -40,7 +40,7 @@ "typescript": "^4.1.3" }, "dependencies": { - "taler-wallet-core": "workspace:*", - "tslib": "^2.1.0" + "@gnu-taler/taler-wallet-core": "workspace:*", + "tslib": "^2.1.0" } } diff --git a/packages/taler-wallet-android/src/index.ts b/packages/taler-wallet-android/src/index.ts index 698a170ad..6f6fa9915 100644 --- a/packages/taler-wallet-android/src/index.ts +++ b/packages/taler-wallet-android/src/index.ts @@ -40,7 +40,7 @@ import { WALLET_MERCHANT_PROTOCOL_VERSION, bytesToString, stringToBytes, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import fs from "fs"; diff --git a/packages/taler-wallet-cli/package.json b/packages/taler-wallet-cli/package.json index c59c397d1..63f5fc25e 100644 --- a/packages/taler-wallet-cli/package.json +++ b/packages/taler-wallet-cli/package.json @@ -1,5 +1,5 @@ { - "name": "taler-wallet-cli", + "name": "@gnu-taler/taler-wallet-cli", "version": "0.8.1", "description": "", "engines": { @@ -18,7 +18,7 @@ "scripts": { "prepare": "tsc && rollup -c", "compile": "tsc && rollup -c", - "clean": "rimraf lib dist", + "clean": "rimraf lib dist tsconfig.tsbuildinfo", "pretty": "prettier --write src" }, "files": [ @@ -48,7 +48,7 @@ "axios": "^0.21.1", "minimatch": "^3.0.4", "source-map-support": "^0.5.19", - "taler-wallet-core": "workspace:*", + "@gnu-taler/taler-wallet-core": "workspace:*", "tslib": "^2.1.0" } } diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index 7f32b8446..e97e8de86 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -38,14 +38,14 @@ import { rsaBlind, RecoveryMergeStrategy, stringToBytes, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import * as clk from "./clk"; import { deepStrictEqual } from "assert"; import { getTestInfo, runTests } from "./integrationtests/testrunner"; // This module also serves as the entry point for the crypto // thread worker, and thus must expose these two handlers. -export { handleWorkerError, handleWorkerMessage } from "taler-wallet-core"; +export { handleWorkerError, handleWorkerMessage } from "@gnu-taler/taler-wallet-core"; const logger = new Logger("taler-wallet-cli.ts"); diff --git a/packages/taler-wallet-cli/src/integrationtests/harness.ts b/packages/taler-wallet-cli/src/integrationtests/harness.ts index 396a0d34e..5c29d1642 100644 --- a/packages/taler-wallet-cli/src/integrationtests/harness.ts +++ b/packages/taler-wallet-cli/src/integrationtests/harness.ts @@ -82,7 +82,7 @@ import { CreateDepositGroupResponse, TrackDepositGroupRequest, TrackDepositGroupResponse, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { URL } from "url"; import axios, { AxiosError } from "axios"; import { @@ -95,8 +95,8 @@ import { TipCreateConfirmation, TipCreateRequest, } from "./merchantApiTypes"; -import { ApplyRefundResponse } from "taler-wallet-core"; -import { PendingOperationsResponse } from "taler-wallet-core"; +import { ApplyRefundResponse } from "@gnu-taler/taler-wallet-core"; +import { PendingOperationsResponse } from "@gnu-taler/taler-wallet-core"; import { CoinConfig } from "./denomStructures"; const exec = util.promisify(require("child_process").exec); diff --git a/packages/taler-wallet-cli/src/integrationtests/helpers.ts b/packages/taler-wallet-cli/src/integrationtests/helpers.ts index f9051ccc0..0bd6750d9 100644 --- a/packages/taler-wallet-cli/src/integrationtests/helpers.ts +++ b/packages/taler-wallet-cli/src/integrationtests/helpers.ts @@ -44,7 +44,7 @@ import { PreparePayResultType, ConfirmPayResultType, ContractTerms, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { FaultInjectedExchangeService, FaultInjectedMerchantService, diff --git a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts index 0e6fcfef7..971505cbb 100644 --- a/packages/taler-wallet-cli/src/integrationtests/libeufin.ts +++ b/packages/taler-wallet-cli/src/integrationtests/libeufin.ts @@ -18,7 +18,7 @@ * Imports. */ import axios from "axios"; -import { URL } from "taler-wallet-core"; +import { URL } from "@gnu-taler/taler-wallet-core"; import { GlobalTestState, pingProc, diff --git a/packages/taler-wallet-cli/src/integrationtests/merchantApiTypes.ts b/packages/taler-wallet-cli/src/integrationtests/merchantApiTypes.ts index 6782391a2..85a3106c1 100644 --- a/packages/taler-wallet-cli/src/integrationtests/merchantApiTypes.ts +++ b/packages/taler-wallet-cli/src/integrationtests/merchantApiTypes.ts @@ -40,8 +40,8 @@ import { AmountString, Timestamp, CoinPublicKeyString, -} from "taler-wallet-core"; -import { codecForAmountString } from "taler-wallet-core/lib/util/amounts"; +} from "@gnu-taler/taler-wallet-core"; +import { codecForAmountString } from "@gnu-taler/taler-wallet-core/lib/util/amounts"; export interface PostOrderRequest { // The order must at least contain the minimal diff --git a/packages/taler-wallet-cli/src/integrationtests/test-bank-api.ts b/packages/taler-wallet-cli/src/integrationtests/test-bank-api.ts index b5cf6d5ba..dd7c60178 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-bank-api.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-bank-api.ts @@ -28,7 +28,7 @@ import { BankAccessApi, CreditDebitIndicator, } from "./harness"; -import { createEddsaKeyPair, encodeCrock } from "taler-wallet-core"; +import { createEddsaKeyPair, encodeCrock } from "@gnu-taler/taler-wallet-core"; import { defaultCoinConfig } from "./denomStructures"; /** diff --git a/packages/taler-wallet-cli/src/integrationtests/test-exchange-management.ts b/packages/taler-wallet-cli/src/integrationtests/test-exchange-management.ts index 0fbef5687..6fc8bf3c1 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-exchange-management.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-exchange-management.ts @@ -32,7 +32,7 @@ import { ExchangesListRespose, URL, TalerErrorCode, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { FaultInjectedExchangeService, FaultInjectionResponseContext, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-basic.ts b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-basic.ts index 96f116763..44cdf6c03 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-libeufin-basic.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-libeufin-basic.ts @@ -17,7 +17,7 @@ /** * Imports. */ -import { CoreApiResponse } from "taler-wallet-core"; +import { CoreApiResponse } from "@gnu-taler/taler-wallet-core"; import { CoinConfig, defaultCoinConfig } from "./denomStructures"; import { DbInfo, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts b/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts index ed070dc96..15b548cc0 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-merchant-exchange-confusion.ts @@ -36,7 +36,7 @@ import { codecForMerchantOrderStatusUnpaid, ConfirmPayResultType, URL, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import axios from "axios"; import { FaultInjectedExchangeService, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-merchant-longpolling.ts b/packages/taler-wallet-cli/src/integrationtests/test-merchant-longpolling.ts index 7ceccbf62..17563c027 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-merchant-longpolling.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-merchant-longpolling.ts @@ -24,7 +24,7 @@ import { codecForMerchantOrderStatusUnpaid, ConfirmPayResultType, URL, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import axios from "axios"; /** diff --git a/packages/taler-wallet-cli/src/integrationtests/test-merchant-refund-api.ts b/packages/taler-wallet-cli/src/integrationtests/test-merchant-refund-api.ts index 27cf34b58..d33597859 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-merchant-refund-api.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-merchant-refund-api.ts @@ -30,7 +30,7 @@ import { withdrawViaBank, SimpleTestEnvironment, } from "./helpers"; -import { durationFromSpec, PreparePayResultType, URL } from "taler-wallet-core"; +import { durationFromSpec, PreparePayResultType, URL } from "@gnu-taler/taler-wallet-core"; import axios from "axios"; async function testRefundApiWithFulfillmentUrl( diff --git a/packages/taler-wallet-cli/src/integrationtests/test-pay-abort.ts b/packages/taler-wallet-cli/src/integrationtests/test-pay-abort.ts index ae8a28b83..7102c11c6 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-pay-abort.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-pay-abort.ts @@ -22,7 +22,7 @@ /** * Imports. */ -import { PreparePayResultType, TalerErrorCode, URL } from "taler-wallet-core"; +import { PreparePayResultType, TalerErrorCode, URL } from "@gnu-taler/taler-wallet-core"; import { FaultInjectionRequestContext, FaultInjectionResponseContext } from "./faultInjection"; import { GlobalTestState, MerchantPrivateApi, setupDb } from "./harness"; import { diff --git a/packages/taler-wallet-cli/src/integrationtests/test-pay-paid.ts b/packages/taler-wallet-cli/src/integrationtests/test-pay-paid.ts index 136400d9b..b0253b449 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-pay-paid.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-pay-paid.ts @@ -27,7 +27,7 @@ import { codecForMerchantOrderStatusUnpaid, ConfirmPayResultType, URL, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import axios from "axios"; import { FaultInjectionRequestContext } from "./faultInjection"; diff --git a/packages/taler-wallet-cli/src/integrationtests/test-payment-claim.ts b/packages/taler-wallet-cli/src/integrationtests/test-payment-claim.ts index ee8a8e49c..173fdfa33 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-payment-claim.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-payment-claim.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, MerchantPrivateApi, WalletCli } from "./harness"; import { createSimpleTestkudosEnvironment, withdrawViaBank } from "./helpers"; -import { PreparePayResultType, TalerErrorCode } from "taler-wallet-core"; +import { PreparePayResultType, TalerErrorCode } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-payment-fault.ts b/packages/taler-wallet-cli/src/integrationtests/test-payment-fault.ts index 55609f3fc..3b96ac03c 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-payment-fault.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-payment-fault.ts @@ -37,7 +37,7 @@ import { FaultInjectionRequestContext, FaultInjectionResponseContext, } from "./faultInjection"; -import { CoreApiResponse } from "taler-wallet-core"; +import { CoreApiResponse } from "@gnu-taler/taler-wallet-core"; import { defaultCoinConfig } from "./denomStructures"; /** diff --git a/packages/taler-wallet-cli/src/integrationtests/test-payment-idempotency.ts b/packages/taler-wallet-cli/src/integrationtests/test-payment-idempotency.ts index 4323a7c9d..d456554cc 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-payment-idempotency.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-payment-idempotency.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, MerchantPrivateApi } from "./harness"; import { createSimpleTestkudosEnvironment, withdrawViaBank } from "./helpers"; -import { PreparePayResultType } from "taler-wallet-core"; +import { PreparePayResultType } from "@gnu-taler/taler-wallet-core"; /** * Test the wallet-core payment API, especially that repeated operations diff --git a/packages/taler-wallet-cli/src/integrationtests/test-payment-transient.ts b/packages/taler-wallet-cli/src/integrationtests/test-payment-transient.ts index 67038989a..b059625aa 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-payment-transient.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-payment-transient.ts @@ -30,7 +30,7 @@ import { codecForExchangeKeysJson, TalerErrorDetails, TalerErrorCode, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import axios from "axios"; import { FaultInjectionRequestContext, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-paywall-flow.ts b/packages/taler-wallet-cli/src/integrationtests/test-paywall-flow.ts index 5eeb7d274..4d5fac5c6 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-paywall-flow.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-paywall-flow.ts @@ -23,7 +23,7 @@ import { PreparePayResultType, codecForMerchantOrderStatusUnpaid, ConfirmPayResultType, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import axios from "axios"; /** diff --git a/packages/taler-wallet-cli/src/integrationtests/test-refund-auto.ts b/packages/taler-wallet-cli/src/integrationtests/test-refund-auto.ts index afac993be..4ec4ff5a6 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-refund-auto.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-refund-auto.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, MerchantPrivateApi } from "./harness"; import { createSimpleTestkudosEnvironment, withdrawViaBank } from "./helpers"; -import { durationFromSpec } from "taler-wallet-core"; +import { durationFromSpec } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-refund-gone.ts b/packages/taler-wallet-cli/src/integrationtests/test-refund-gone.ts index 483e9e06d..74c99ec37 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-refund-gone.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-refund-gone.ts @@ -28,7 +28,7 @@ import { timestampAddDuration, getTimestampNow, timestampTruncateToSecond, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-refund-incremental.ts b/packages/taler-wallet-cli/src/integrationtests/test-refund-incremental.ts index d90a4b5f6..1595c8b80 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-refund-incremental.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-refund-incremental.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, delayMs, MerchantPrivateApi } from "./harness"; import { createSimpleTestkudosEnvironment, withdrawViaBank } from "./helpers"; -import { TransactionType, Amounts, durationFromSpec } from "taler-wallet-core"; +import { TransactionType, Amounts, durationFromSpec } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-refund.ts b/packages/taler-wallet-cli/src/integrationtests/test-refund.ts index 12e6b178f..c6af7cdc1 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-refund.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-refund.ts @@ -17,7 +17,7 @@ /** * Imports. */ -import { durationFromSpec } from "taler-wallet-core"; +import { durationFromSpec } from "@gnu-taler/taler-wallet-core"; import { GlobalTestState, MerchantPrivateApi } from "./harness"; import { createSimpleTestkudosEnvironment, withdrawViaBank } from "./helpers"; diff --git a/packages/taler-wallet-cli/src/integrationtests/test-timetravel-autorefresh.ts b/packages/taler-wallet-cli/src/integrationtests/test-timetravel-autorefresh.ts index 747f6d75d..f7e51e714 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-timetravel-autorefresh.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-timetravel-autorefresh.ts @@ -23,7 +23,7 @@ import { durationFromSpec, PendingOperationsResponse, PreparePayResultType, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { makeNoFeeCoinConfig } from "./denomStructures"; import { BankService, diff --git a/packages/taler-wallet-cli/src/integrationtests/test-timetravel-withdraw.ts b/packages/taler-wallet-cli/src/integrationtests/test-timetravel-withdraw.ts index 54b507bcb..3b2fac582 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-timetravel-withdraw.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-timetravel-withdraw.ts @@ -23,7 +23,7 @@ import { withdrawViaBank, startWithdrawViaBank, } from "./helpers"; -import { Duration, TransactionType } from "taler-wallet-core"; +import { Duration, TransactionType } from "@gnu-taler/taler-wallet-core"; /** * Basic time travel test. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-abort-bank.ts b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-abort-bank.ts index 9a4e6004b..d579ee11a 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-abort-bank.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-abort-bank.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, BankApi, BankAccessApi } from "./harness"; import { createSimpleTestkudosEnvironment } from "./helpers"; -import { codecForBalancesResponse, TalerErrorCode } from "taler-wallet-core"; +import { codecForBalancesResponse, TalerErrorCode } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-bank-integrated.ts b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-bank-integrated.ts index 89f5104a9..e21434ff3 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-bank-integrated.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-bank-integrated.ts @@ -19,7 +19,7 @@ */ import { GlobalTestState, BankApi, BankAccessApi } from "./harness"; import { createSimpleTestkudosEnvironment } from "./helpers"; -import { codecForBalancesResponse } from "taler-wallet-core"; +import { codecForBalancesResponse } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-manual.ts b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-manual.ts index ef0db4a19..dc0180dea 100644 --- a/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-manual.ts +++ b/packages/taler-wallet-cli/src/integrationtests/test-withdrawal-manual.ts @@ -19,8 +19,8 @@ */ import { GlobalTestState, BankApi } from "./harness"; import { createSimpleTestkudosEnvironment } from "./helpers"; -import { CoreApiResponse } from "taler-wallet-core"; -import { codecForBalancesResponse } from "taler-wallet-core"; +import { CoreApiResponse } from "@gnu-taler/taler-wallet-core"; +import { codecForBalancesResponse } from "@gnu-taler/taler-wallet-core"; /** * Run test for basic, bank-integrated withdrawal. diff --git a/packages/taler-wallet-core/package.json b/packages/taler-wallet-core/package.json index 8a1862d64..96111f34a 100644 --- a/packages/taler-wallet-core/package.json +++ b/packages/taler-wallet-core/package.json @@ -1,5 +1,5 @@ { - "name": "taler-wallet-core", + "name": "@gnu-taler/taler-wallet-core", "version": "0.8.1", "description": "", "engines": { @@ -17,7 +17,7 @@ "pretty": "prettier --write src", "test": "tsc && ava", "coverage": "tsc && nyc ava", - "clean": "rimraf dist lib" + "clean": "rimraf dist lib tsconfig.tsbuildinfo" }, "files": [ "AUTHORS", @@ -47,7 +47,7 @@ "jed": "^1.1.1", "nyc": "^15.1.0", "po2json": "^0.4.5", - "pogen": "workspace:*", + "@gnu-taler/pogen": "workspace:*", "prettier": "^2.2.1", "rimraf": "^3.0.2", "rollup": "^2.37.1", @@ -61,7 +61,7 @@ "axios": "^0.21.1", "big-integer": "^1.6.48", "fflate": "^0.6.0", - "idb-bridge": "workspace:*", + "@gnu-taler/idb-bridge": "workspace:*", "source-map-support": "^0.5.19", "tslib": "^2.1.0" }, diff --git a/packages/taler-wallet-core/src/crypto/workers/nodeThreadWorker.ts b/packages/taler-wallet-core/src/crypto/workers/nodeThreadWorker.ts index 48efdbce6..84d83312f 100644 --- a/packages/taler-wallet-core/src/crypto/workers/nodeThreadWorker.ts +++ b/packages/taler-wallet-core/src/crypto/workers/nodeThreadWorker.ts @@ -44,7 +44,7 @@ const workerCode = ` } if (!tw) { try { - tw = require("taler-wallet-android"); + tw = require("@gnu-taler/taler-wallet-android"); } catch (e) { console.warn("could not load taler-wallet-android either"); throw e; diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts index a536f29b6..bc0e45017 100644 --- a/packages/taler-wallet-core/src/db.ts +++ b/packages/taler-wallet-core/src/db.ts @@ -11,7 +11,7 @@ import { IDBDatabase, IDBObjectStore, IDBTransaction, -} from "idb-bridge"; +} from "@gnu-taler/idb-bridge"; import { Logger } from "./util/logging"; /** diff --git a/packages/taler-wallet-core/src/headless/helpers.ts b/packages/taler-wallet-core/src/headless/helpers.ts index 3d380ad49..ef97bc48e 100644 --- a/packages/taler-wallet-core/src/headless/helpers.ts +++ b/packages/taler-wallet-core/src/headless/helpers.ts @@ -23,7 +23,7 @@ * Imports. */ import { Wallet } from "../wallet"; -import { MemoryBackend, BridgeIDBFactory, shimIndexedDB } from "idb-bridge"; +import { MemoryBackend, BridgeIDBFactory, shimIndexedDB } from "@gnu-taler/idb-bridge"; import { openTalerDatabase } from "../db"; import { HttpRequestLibrary } from "../util/http"; import fs from "fs"; @@ -33,7 +33,7 @@ import { Database } from "../util/query"; import { NodeHttpLib } from "./NodeHttpLib"; import { Logger } from "../util/logging"; import { SynchronousCryptoWorkerFactory } from "../crypto/workers/synchronousWorker"; -import type { IDBFactory } from "idb-bridge/lib/idbtypes"; +import type { IDBFactory } from "@gnu-taler/idb-bridge/lib/idbtypes"; import { Stores } from "../types/dbTypes"; const logger = new Logger("headless/helpers.ts"); diff --git a/packages/taler-wallet-core/src/types/dbTypes.ts b/packages/taler-wallet-core/src/types/dbTypes.ts index bc7d7728d..c5f621053 100644 --- a/packages/taler-wallet-core/src/types/dbTypes.ts +++ b/packages/taler-wallet-core/src/types/dbTypes.ts @@ -39,7 +39,7 @@ import { Index, Store } from "../util/query"; import { TalerErrorDetails, RefreshReason } from "./walletTypes"; import { ReserveTransaction } from "./ReserveTransaction"; import { Timestamp, Duration } from "../util/time"; -import { IDBKeyPath } from "idb-bridge"; +import { IDBKeyPath } from "@gnu-taler/idb-bridge"; import { RetryInfo } from "../util/retries"; export enum ReserveRecordStatus { diff --git a/packages/taler-wallet-core/src/util/query.ts b/packages/taler-wallet-core/src/util/query.ts index fdcab4fa1..d0b8c2ef6 100644 --- a/packages/taler-wallet-core/src/util/query.ts +++ b/packages/taler-wallet-core/src/util/query.ts @@ -33,7 +33,7 @@ import { IDBVersionChangeEvent, Event, IDBCursor, -} from "idb-bridge"; +} from "@gnu-taler/idb-bridge"; import { Logger } from "./logging"; const logger = new Logger("query.ts"); diff --git a/packages/taler-wallet-webextension/package.json b/packages/taler-wallet-webextension/package.json index 8ac5f7451..b9a35eb1b 100644 --- a/packages/taler-wallet-webextension/package.json +++ b/packages/taler-wallet-webextension/package.json @@ -1,5 +1,5 @@ { - "name": "taler-wallet-webextension", + "name": "@gnu-taler/taler-wallet-webextension", "version": "0.8.1-dev.2", "description": "GNU Taler Wallet browser extension", "main": "./build/index.js", @@ -13,7 +13,7 @@ }, "dependencies": { "moment": "^2.29.1", - "taler-wallet-core": "workspace:*", + "@gnu-taler/taler-wallet-core": "workspace:*", "tslib": "^2.1.0" }, "devDependencies": { diff --git a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.ts b/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.ts index a0a440574..a8315dc6d 100644 --- a/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.ts +++ b/packages/taler-wallet-webextension/src/browserCryptoWorkerFactory.ts @@ -19,7 +19,7 @@ * @author Florian Dold */ -import type { CryptoWorker, CryptoWorkerFactory } from "taler-wallet-core"; +import type { CryptoWorker, CryptoWorkerFactory } from "@gnu-taler/taler-wallet-core"; export class BrowserCryptoWorkerFactory implements CryptoWorkerFactory { startWorker(): CryptoWorker { diff --git a/packages/taler-wallet-webextension/src/browserHttpLib.ts b/packages/taler-wallet-webextension/src/browserHttpLib.ts index 08364e404..c71e34174 100644 --- a/packages/taler-wallet-webextension/src/browserHttpLib.ts +++ b/packages/taler-wallet-webextension/src/browserHttpLib.ts @@ -25,8 +25,8 @@ import { HttpResponse, Headers, bytesToString, -} from "taler-wallet-core"; -import { TalerErrorCode } from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; +import { TalerErrorCode } from "@gnu-taler/taler-wallet-core"; const logger = new Logger("browserHttpLib"); diff --git a/packages/taler-wallet-webextension/src/browserWorkerEntry.ts b/packages/taler-wallet-webextension/src/browserWorkerEntry.ts index cb13582a2..8ab22e23b 100644 --- a/packages/taler-wallet-webextension/src/browserWorkerEntry.ts +++ b/packages/taler-wallet-webextension/src/browserWorkerEntry.ts @@ -22,7 +22,7 @@ * Imports. */ -import { CryptoImplementation, Logger } from "taler-wallet-core"; +import { CryptoImplementation, Logger } from "@gnu-taler/taler-wallet-core"; const logger = new Logger("browserWorkerEntry.ts"); diff --git a/packages/taler-wallet-webextension/src/i18n.tsx b/packages/taler-wallet-webextension/src/i18n.tsx index bd74316f6..86c712b8c 100644 --- a/packages/taler-wallet-webextension/src/i18n.tsx +++ b/packages/taler-wallet-webextension/src/i18n.tsx @@ -23,7 +23,7 @@ */ import React from "react"; -import * as i18nCore from "taler-wallet-core"; +import * as i18nCore from "@gnu-taler/taler-wallet-core"; /** * Convert template strings to a msgid */ diff --git a/packages/taler-wallet-webextension/src/pageEntryPoint.ts b/packages/taler-wallet-webextension/src/pageEntryPoint.ts index 0e2b67b5d..028ba1058 100644 --- a/packages/taler-wallet-webextension/src/pageEntryPoint.ts +++ b/packages/taler-wallet-webextension/src/pageEntryPoint.ts @@ -26,7 +26,7 @@ import { createWithdrawPage } from "./pages/withdraw"; import { createWelcomePage } from "./pages/welcome"; import { createPayPage } from "./pages/pay"; import { createRefundPage } from "./pages/refund"; -import { setupI18n } from "taler-wallet-core"; +import { setupI18n } from "@gnu-taler/taler-wallet-core"; import { createTipPage } from './pages/tip'; function main(): void { diff --git a/packages/taler-wallet-webextension/src/pages/pay.tsx b/packages/taler-wallet-webextension/src/pages/pay.tsx index ce3a59674..b5da04e31 100644 --- a/packages/taler-wallet-webextension/src/pages/pay.tsx +++ b/packages/taler-wallet-webextension/src/pages/pay.tsx @@ -38,7 +38,7 @@ import { ConfirmPayResultType, ConfirmPayResult, getJsonI18n, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; function TalerPayDialog({ talerPayUri }: { talerPayUri: string }): JSX.Element { const [payStatus, setPayStatus] = useState(); diff --git a/packages/taler-wallet-webextension/src/pages/popup.tsx b/packages/taler-wallet-webextension/src/pages/popup.tsx index 9c8a8f75a..9071e46fd 100644 --- a/packages/taler-wallet-webextension/src/pages/popup.tsx +++ b/packages/taler-wallet-webextension/src/pages/popup.tsx @@ -38,7 +38,7 @@ import { TransactionType, AmountString, Timestamp, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { abbrev, renderAmount, PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; diff --git a/packages/taler-wallet-webextension/src/pages/refund.tsx b/packages/taler-wallet-webextension/src/pages/refund.tsx index 74c33c020..572aba8ed 100644 --- a/packages/taler-wallet-webextension/src/pages/refund.tsx +++ b/packages/taler-wallet-webextension/src/pages/refund.tsx @@ -23,7 +23,7 @@ import React, { useEffect, useState } from "react"; import * as wxApi from "../wxApi"; import { AmountView } from "../renderHtml"; -import { PurchaseDetails, ApplyRefundResponse, Amounts } from "taler-wallet-core"; +import { PurchaseDetails, ApplyRefundResponse, Amounts } from "@gnu-taler/taler-wallet-core"; function RefundStatusView(props: { talerRefundUri: string }): JSX.Element { const [applyResult, setApplyResult] = useState(); diff --git a/packages/taler-wallet-webextension/src/pages/tip.tsx b/packages/taler-wallet-webextension/src/pages/tip.tsx index 6f57854d2..29c07cfe9 100644 --- a/packages/taler-wallet-webextension/src/pages/tip.tsx +++ b/packages/taler-wallet-webextension/src/pages/tip.tsx @@ -22,7 +22,7 @@ import * as React from "react"; import { useEffect, useState } from "react"; -import { PrepareTipResult } from "taler-wallet-core"; +import { PrepareTipResult } from "@gnu-taler/taler-wallet-core"; import { AmountView } from "../renderHtml"; import * as wxApi from "../wxApi"; diff --git a/packages/taler-wallet-webextension/src/pages/welcome.tsx b/packages/taler-wallet-webextension/src/pages/welcome.tsx index 00d8ae6c7..fb4af573d 100644 --- a/packages/taler-wallet-webextension/src/pages/welcome.tsx +++ b/packages/taler-wallet-webextension/src/pages/welcome.tsx @@ -26,7 +26,7 @@ import { PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; import { getPermissionsApi } from "../compat"; import { extendedPermissions } from "../permissions"; -import { WalletDiagnostics } from "taler-wallet-core"; +import { WalletDiagnostics } from "@gnu-taler/taler-wallet-core"; function Diagnostics(): JSX.Element | null { const [timedOut, setTimedOut] = useState(false); diff --git a/packages/taler-wallet-webextension/src/pages/withdraw.tsx b/packages/taler-wallet-webextension/src/pages/withdraw.tsx index 72b3a1050..02758fd93 100644 --- a/packages/taler-wallet-webextension/src/pages/withdraw.tsx +++ b/packages/taler-wallet-webextension/src/pages/withdraw.tsx @@ -31,7 +31,7 @@ import { onUpdateNotification, getWithdrawalDetailsForUri, } from "../wxApi"; -import { WithdrawUriInfoResponse } from "taler-wallet-core"; +import { WithdrawUriInfoResponse } from "@gnu-taler/taler-wallet-core"; function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element { const [details, setDetails] = useState(); diff --git a/packages/taler-wallet-webextension/src/renderHtml.tsx b/packages/taler-wallet-webextension/src/renderHtml.tsx index fcf64b6d5..c18c5c199 100644 --- a/packages/taler-wallet-webextension/src/renderHtml.tsx +++ b/packages/taler-wallet-webextension/src/renderHtml.tsx @@ -23,7 +23,7 @@ /** * Imports. */ -import { AmountJson, Amounts, stringifyTimestamp, ExchangeWithdrawDetails } from "taler-wallet-core"; +import { AmountJson, Amounts, stringifyTimestamp, ExchangeWithdrawDetails } from "@gnu-taler/taler-wallet-core"; import * as i18n from "./i18n"; import React from "react"; diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 0434bb6d3..3c01dfe96 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -36,7 +36,7 @@ import { PrepareTipRequest, PrepareTipResult, AcceptTipRequest, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; export interface ExtendedPermissionsResponse { newValue: boolean; diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts index 95cd5f021..64dd25fb8 100644 --- a/packages/taler-wallet-webextension/src/wxBackend.ts +++ b/packages/taler-wallet-webextension/src/wxBackend.ts @@ -40,7 +40,7 @@ import { WalletDiagnostics, CoreApiResponseSuccess, Stores, -} from "taler-wallet-core"; +} from "@gnu-taler/taler-wallet-core"; import { BrowserHttpLib } from "./browserHttpLib"; import { BrowserCryptoWorkerFactory } from "./browserCryptoWorkerFactory"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b696ec7b4..b20475792 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: typescript: ^4.1.3 packages/taler-wallet-android: dependencies: - taler-wallet-core: link:../taler-wallet-core + '@gnu-taler/taler-wallet-core': link:../taler-wallet-core tslib: 2.1.0 devDependencies: '@rollup/plugin-commonjs': 17.0.0_rollup@2.37.1 @@ -58,7 +58,7 @@ importers: rollup: ^2.37.1 rollup-plugin-sourcemaps: ^0.6.3 rollup-plugin-terser: ^7.0.2 - taler-wallet-core: workspace:* + '@gnu-taler/taler-wallet-core': workspace:* tslib: ^2.1.0 typescript: ^4.1.3 packages/taler-wallet-cli: @@ -67,7 +67,7 @@ importers: axios: 0.21.1 minimatch: 3.0.4 source-map-support: 0.5.19 - taler-wallet-core: link:../taler-wallet-core + '@gnu-taler/taler-wallet-core': link:../taler-wallet-core tslib: 2.1.0 devDependencies: '@rollup/plugin-commonjs': 17.0.0_rollup@2.37.1 @@ -97,7 +97,7 @@ importers: rollup-plugin-sourcemaps: ^0.6.3 rollup-plugin-terser: ^7.0.2 source-map-support: ^0.5.19 - taler-wallet-core: workspace:* + '@gnu-taler/taler-wallet-core': workspace:* tslib: ^2.1.0 typedoc: ^0.20.16 typescript: ^4.1.3 @@ -107,7 +107,7 @@ importers: axios: 0.21.1 big-integer: 1.6.48 fflate: 0.6.0 - idb-bridge: link:../idb-bridge + '@gnu-taler/idb-bridge': link:../idb-bridge source-map-support: 0.5.19 tslib: 2.1.0 devDependencies: @@ -126,7 +126,7 @@ importers: jed: 1.1.1 nyc: 15.1.0 po2json: 0.4.5 - pogen: link:../pogen + '@gnu-taler/pogen': link:../pogen prettier: 2.2.1 rimraf: 3.0.2 rollup: 2.37.1 @@ -151,11 +151,11 @@ importers: eslint-plugin-react-hooks: ^4.2.0 esm: ^3.2.25 fflate: ^0.6.0 - idb-bridge: workspace:* + '@gnu-taler/idb-bridge': workspace:* jed: ^1.1.1 nyc: ^15.1.0 po2json: ^0.4.5 - pogen: workspace:* + '@gnu-taler/pogen': workspace:* prettier: ^2.2.1 rimraf: ^3.0.2 rollup: ^2.37.1 @@ -168,7 +168,7 @@ importers: packages/taler-wallet-webextension: dependencies: moment: 2.29.1 - taler-wallet-core: link:../taler-wallet-core + '@gnu-taler/taler-wallet-core': link:../taler-wallet-core tslib: 2.1.0 devDependencies: '@rollup/plugin-commonjs': 17.0.0_rollup@2.37.1 @@ -212,7 +212,7 @@ importers: rollup-plugin-ignore: ^1.0.9 rollup-plugin-sourcemaps: ^0.6.3 rollup-plugin-terser: ^7.0.2 - taler-wallet-core: workspace:* + '@gnu-taler/taler-wallet-core': workspace:* tslib: ^2.1.0 typescript: ^4.1.3 lockfileVersion: 5.2 -- cgit v1.2.3