"clean": "rm -rf {build,dist,types}",
"compile": "asc ./src/assembly/index.ts && tsc",
"prepublishOnly": "npm run test:prod",
- "test": "npm run build && node ./test.mjs",
- "test:prod": "npm run build:prod && node ./test.mjs"
+ "test": "npm run build && node ./test/node.mjs",
+ "test:prod": "npm run build:prod && node ./test/node.mjs"
},
"devDependencies": {
"@types/node": "26.2.0",
<head>
<meta charset="utf-8">
- <link rel="icon" href="data:,">
- <script src="https://unpkg.com/libsodium@0.8.4/dist/modules/libsodium.js"></script>
- <script src="https://unpkg.com/libsodium-wrappers@0.8.4/dist/modules/libsodium-wrappers.js"></script>
- <script src="https://unpkg.com/nanocurrency-web@2.0.0/dist/index.min.js"></script>
- <script src="https://unpkg.com/tweetnacl@1.0.3/nacl-fast.js"></script>
- <script type="module">
- await libsodium.ready
- await sodium.ready
- let nano25519, NANO_ORG_VECTOR, PYTHON_ED25519_BLAKE2B_VECTORS
- try {
- nano25519 = await import('./dist/browser.js')
- } catch (err) {
- console.warn(err)
- try {
- nano25519 = await import('https://unpkg.com/nano25519')
- } catch (err) {
- console.warn(err)
- try {
- nano25519 = await import('https://cdn.jsdelivr.net/npm/nano25519@latest')
- } catch (err) {
- throw new Error(`Failed to load nano25519 ${err}`)
+ <meta name="viewport" content="initial-scale=1,width=device-width">
+ <link rel="icon" href="#">
+ <script type="importmap">
+ {
+ "imports": {
+ "libsodium": "https://unpkg.com/libsodium@0.8.4/dist/modules-esm/libsodium.mjs",
+ "nano25519": "https://unpkg.com/nano25519@1.0.8/dist/browser.js",
+ "nanocurrency-web": "https://unpkg.com/nanocurrency-web@2.0.0/dist/index.min.js",
+ "tweetnacl": "https://unpkg.com/tweetnacl@1.0.3/nacl-fast.js",
+ "#vectors": "https://git.codecow.com/?p=nano25519.git;a=blob_plain;f=vectors.mjs;hb=refs/heads/main"
+ },
+ "scopes": {
+ "/test/": {
+ "nano25519": "../dist/browser.js",
+ "#vectors": "./vectors.mjs"
}
}
}
- window.nano25519 = nano25519
- try {
- ({ NANO_ORG_VECTOR, PYTHON_ED25519_BLAKE2B_VECTORS } = await import('./vectors.mjs'))
- } catch (err) {
- try {
- ({ NANO_ORG_VECTOR, PYTHON_ED25519_BLAKE2B_VECTORS } = await import('https://git.codecow.com/?p=nano25519.git;a=blob_plain;f=vectors.mjs;hb=refs/heads/main'))
- } catch (err) {
- console.error(err)
- document.getElementById('status').innerHTML = err?.message ?? err ?? `ERROR WHILE LOADING`
- }
+ </script>
+ <script type="module">
+ import libsodium from 'libsodium'
+ import * as nano25519 from 'nano25519'
+ import 'nanocurrency-web'
+ import 'tweetnacl'
+ import { NANO_ORG_VECTOR, PYTHON_ED25519_BLAKE2B_VECTORS } from '#vectors'
+
+ await libsodium.ready
+
+ if (!NANO_ORG_VECTOR || !PYTHON_ED25519_BLAKE2B_VECTORS) {
+ console.error('Failed to import test vectors')
+ document.getElementById('status').innerHTML = err?.message ?? err ?? `ERROR WHILE LOADING`
}
- if (nano25519 && PYTHON_ED25519_BLAKE2B_VECTORS) {
+ if (nano25519 && NANO_ORG_VECTOR && PYTHON_ED25519_BLAKE2B_VECTORS) {
document.getElementById('btnStartTest').disabled = false
document.getElementById('status').innerHTML = `READY`
}