build: lnurlcash-kit fork dependency, pwa tooling and test config

This commit is contained in:
2026-08-19 21:06:17 +02:00
parent b3c4554863
commit 6f966d5a2d
4 changed files with 73 additions and 9 deletions
+65 -2
View File
@@ -9,6 +9,7 @@
"version": "0.0.1", "version": "0.0.1",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@agicash/qr-scanner": "^0.1.2",
"@fontsource/noto-sans": "^5.3.0", "@fontsource/noto-sans": "^5.3.0",
"@noble/curves": "^2.3.0", "@noble/curves": "^2.3.0",
"@noble/hashes": "^2.3.0", "@noble/hashes": "^2.3.0",
@@ -17,6 +18,7 @@
"@scure/bip39": "^2.3.0", "@scure/bip39": "^2.3.0",
"lnurlcash-kit": "github:tompro/lnurlcash-kit#prepare-git-install", "lnurlcash-kit": "github:tompro/lnurlcash-kit#prepare-git-install",
"pinia": "^4.0.2", "pinia": "^4.0.2",
"qrcode.vue": "^3.10.0",
"quasar": "^2.25.1", "quasar": "^2.25.1",
"vue": "^3.5.22", "vue": "^3.5.22",
"vue-i18n": "^11.3.0", "vue-i18n": "^11.3.0",
@@ -34,6 +36,7 @@
"eslint": "^10.8.0", "eslint": "^10.8.0",
"eslint-plugin-vue": "^10.8.0", "eslint-plugin-vue": "^10.8.0",
"globals": "^17.4.0", "globals": "^17.4.0",
"lnurlcash-conformance": "github:TheCryptoDonkey/lnurlcash-conformance",
"postcss": "^8.5.8", "postcss": "^8.5.8",
"prettier": "^3.8.1", "prettier": "^3.8.1",
"sass": "^1.102.0", "sass": "^1.102.0",
@@ -47,6 +50,15 @@
"node": ">= 26 || ^24 || ^22.12" "node": ">= 26 || ^24 || ^22.12"
} }
}, },
"node_modules/@agicash/qr-scanner": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/@agicash/qr-scanner/-/qr-scanner-0.1.2.tgz",
"integrity": "sha512-7qNJoDRqBbHSm12qZ1l0O2JDof0sXNiooebsCXGZOsJpCLBYF9bAJXuy/4Q/jFwbiH0knFZq8myRI5v6IFqpEQ==",
"license": "MIT",
"dependencies": {
"zxing-wasm": "2.2.4"
}
},
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
"version": "7.29.7", "version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
@@ -2657,6 +2669,12 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/emscripten": {
"version": "1.41.5",
"resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.41.5.tgz",
"integrity": "sha512-cMQm7pxu6BxtHyqJ7mQZ2kXWV5SLmugybFdHCBbJ5eHzOo6VhBckEgAT3//rP5FwPHNPeEiq4SmQ5ucBwsOo4Q==",
"license": "MIT"
},
"node_modules/@types/esrecurse": { "node_modules/@types/esrecurse": {
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz",
@@ -5290,6 +5308,31 @@
"url": "https://opencollective.com/parcel" "url": "https://opencollective.com/parcel"
} }
}, },
"node_modules/lnurlcash-conformance": {
"version": "0.1.0",
"resolved": "git+ssh://git@github.com/TheCryptoDonkey/lnurlcash-conformance.git#3d63f8ac3f3b8b87f5b490ff4a55c310afe4e5e2",
"dev": true,
"license": "MIT",
"dependencies": {
"@noble/curves": "^2.3.0",
"@noble/hashes": "^2.3.0",
"@scure/base": "^1.2.4"
},
"bin": {
"lnurlcash-conform": "runner/cli.mjs",
"lnurlcash-mock-mint": "mock-mint/index.mjs"
}
},
"node_modules/lnurlcash-conformance/node_modules/@scure/base": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz",
"integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/lnurlcash-kit": { "node_modules/lnurlcash-kit": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "git+ssh://git@github.com/tompro/lnurlcash-kit.git#78c9ca2ed597da354629306f280eeb722b9223db", "resolved": "git+ssh://git@github.com/tompro/lnurlcash-kit.git#78c9ca2ed597da354629306f280eeb722b9223db",
@@ -6000,6 +6043,15 @@
"node": ">=16.0.0" "node": ">=16.0.0"
} }
}, },
"node_modules/qrcode.vue": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.10.0.tgz",
"integrity": "sha512-1bjeBds9hRKMszZuBuYQZor9HdJYWtb0S44HG1JofZ9uicpJpdF+TtDvqo3+2ZlH0k80WVIkmiKB4hq0/N6/rA==",
"license": "MIT",
"peerDependencies": {
"vue": "^3.0.0"
}
},
"node_modules/quansync": { "node_modules/quansync": {
"version": "0.2.11", "version": "0.2.11",
"resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
@@ -6475,7 +6527,6 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz",
"integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20" "node": ">=20"
@@ -6655,7 +6706,6 @@
"version": "5.8.0", "version": "5.8.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.8.0.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.8.0.tgz",
"integrity": "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==", "integrity": "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==",
"dev": true,
"license": "(MIT OR CC0-1.0)", "license": "(MIT OR CC0-1.0)",
"dependencies": { "dependencies": {
"tagged-tag": "^1.0.0" "tagged-tag": "^1.0.0"
@@ -7413,6 +7463,19 @@
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
},
"node_modules/zxing-wasm": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/zxing-wasm/-/zxing-wasm-2.2.4.tgz",
"integrity": "sha512-1gq5zs4wuNTs5umWLypzNNeuJoluFvwmvjiiT3L9z/TMlVveeJRWy7h90xyUqCe+Qq0zL0w7o5zkdDMWDr9aZA==",
"license": "MIT",
"dependencies": {
"@types/emscripten": "^1.41.5",
"type-fest": "^5.2.0"
},
"peerDependencies": {
"@types/emscripten": ">=1.39.6"
}
} }
} }
} }
+3
View File
@@ -16,6 +16,7 @@
"postinstall": "quasar prepare --silent" "postinstall": "quasar prepare --silent"
}, },
"dependencies": { "dependencies": {
"@agicash/qr-scanner": "^0.1.2",
"@fontsource/noto-sans": "^5.3.0", "@fontsource/noto-sans": "^5.3.0",
"@noble/curves": "^2.3.0", "@noble/curves": "^2.3.0",
"@noble/hashes": "^2.3.0", "@noble/hashes": "^2.3.0",
@@ -24,6 +25,7 @@
"@scure/bip39": "^2.3.0", "@scure/bip39": "^2.3.0",
"lnurlcash-kit": "github:tompro/lnurlcash-kit#prepare-git-install", "lnurlcash-kit": "github:tompro/lnurlcash-kit#prepare-git-install",
"pinia": "^4.0.2", "pinia": "^4.0.2",
"qrcode.vue": "^3.10.0",
"quasar": "^2.25.1", "quasar": "^2.25.1",
"vue": "^3.5.22", "vue": "^3.5.22",
"vue-i18n": "^11.3.0", "vue-i18n": "^11.3.0",
@@ -41,6 +43,7 @@
"eslint": "^10.8.0", "eslint": "^10.8.0",
"eslint-plugin-vue": "^10.8.0", "eslint-plugin-vue": "^10.8.0",
"globals": "^17.4.0", "globals": "^17.4.0",
"lnurlcash-conformance": "github:TheCryptoDonkey/lnurlcash-conformance",
"postcss": "^8.5.8", "postcss": "^8.5.8",
"prettier": "^3.8.1", "prettier": "^3.8.1",
"sass": "^1.102.0", "sass": "^1.102.0",
+2 -2
View File
@@ -11,7 +11,7 @@ export default defineConfig((ctx) => {
// app boot file (/src/boot) // app boot file (/src/boot)
// --> boot files are part of "main.js" // --> boot files are part of "main.js"
// https://v2.quasar.dev/quasar-cli-vite/boot-files // https://v2.quasar.dev/quasar-cli-vite/boot-files
boot: ['i18n'], boot: ['i18n', 'wallet'],
// https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css
css: ['app.scss'], css: ['app.scss'],
@@ -115,7 +115,7 @@ export default defineConfig((ctx) => {
// directives: [], // directives: [],
// Quasar plugins // Quasar plugins
plugins: [], plugins: ['Notify'],
}, },
// animations: 'all', // --- includes all animations // animations: 'all', // --- includes all animations
+3 -5
View File
@@ -2,12 +2,10 @@ import { defineConfig } from 'vitest/config';
export default defineConfig({ export default defineConfig({
test: { test: {
// the tested modules are pure crypto/codec helpers - node's own // the tested modules are pure crypto/codec/protocol logic - node's own
// WebCrypto (crypto.subtle) covers everything they need, no jsdom // WebCrypto (crypto.subtle) and fetch cover everything they need, no
// jsdom. The ops suite spins real mock-mint HTTP servers on loopback.
environment: 'node', environment: 'node',
include: ['src/**/*.test.ts'], include: ['src/**/*.test.ts'],
// protocol tests live in lnurlcash-kit (its conformance suite); app tests
// arrive with M2 flows. Don't fail CI until then.
passWithNoTests: true,
}, },
}); });