]> zoso.dev Git - nano-pow.git/commitdiff
Reorganize source directory structure.
authorChris Duncan <chris@zoso.dev>
Sun, 16 Mar 2025 06:22:33 +0000 (23:22 -0700)
committerChris Duncan <chris@zoso.dev>
Sun, 16 Mar 2025 06:22:33 +0000 (23:22 -0700)
Put documentation and test files into top-level folders. Divide PoW modules by API instead of by file type. Update file paths accordingly. Replace a duplicate sample blockhash.

19 files changed:
docs/benchmarks.md [moved from benchmarks.md with 100% similarity]
docs/nano-pow.1 [moved from nano-pow.1 with 100% similarity]
package.json
src/bin/cli.js [moved from cli.js with 98% similarity]
src/lib/gl/gl-downsample.ts [moved from src/shaders/gl-downsample.ts with 100% similarity]
src/lib/gl/gl-draw.ts [moved from src/shaders/gl-draw.ts with 100% similarity]
src/lib/gl/gl-vertex.ts [moved from src/shaders/gl-vertex.ts with 100% similarity]
src/lib/gl/index.ts [moved from src/classes/gl.ts with 99% similarity]
src/lib/gpu/compute.wgsl [moved from src/shaders/compute.wgsl with 100% similarity]
src/lib/gpu/index.ts [moved from src/classes/gpu.ts with 99% similarity]
src/lib/index.ts [moved from src/classes/index.ts with 89% similarity]
src/lib/shaders.d.ts [moved from src/shaders/shaders.d.ts with 55% similarity]
src/main.ts
src/shaders/index.ts [deleted file]
src/types.d.ts [moved from types.d.ts with 100% similarity]
test/blockhashes.txt [moved from test-blockhashes with 87% similarity]
test/blockhashes.txt.license [new file with mode: 0644]
test/index.html [moved from test.html with 97% similarity]
tsconfig.json

similarity index 100%
rename from benchmarks.md
rename to docs/benchmarks.md
similarity index 100%
rename from nano-pow.1
rename to docs/nano-pow.1
index ea0c79b8e3435fba4f9dcb55785e60be719b9f0e..fcab112a96f5b336c56b6008eb77a0f3aa315f16 100644 (file)
        },
        "files": [
                "/dist",
+               "/docs",
                "/LICENSES",
                "AUTHORS.md",
                "package.json.license"
        ],
-       "main": "dist/main.min.js",
+       "main": "./dist/main.min.js",
        "browser": {
                "./dist/main.min.js": true
        },
-       "bin": "./dist/cli.js",
-       "man": "./dist/nano-pow.1",
+       "bin": "./dist/bin/cli.js",
+       "man": "./docs/nano-pow.1",
        "repository": {
                "type": "git",
                "url": "git+https://zoso.dev/nano-pow.git"
        },
        "scripts": {
-               "build": "rm -rf {dist,types} && tsc && node esbuild.mjs && npm run fix-copyright && cp cli.js nano-pow.1 types.d.ts dist",
+               "build": "rm -rf {dist,types} && tsc && node esbuild.mjs && npm run fix-copyright && cp -r src/bin src/types.d.ts dist",
                "fix-copyright": "sed -i '/\\/\\/ src\\/shaders\\/compute\\.wgsl/a //! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>\\n//! SPDX-License-Identifier: GPL-3.0-or-later' dist/main.min.js"
        },
        "devDependencies": {
similarity index 98%
rename from cli.js
rename to src/bin/cli.js
index f3dd9b76fd25da5e60f24b0f531bc3a9fa9fe87d..4f9b834d3ac78c96ad9da685a19a769c366a3933 100755 (executable)
--- a/cli.js
@@ -111,7 +111,7 @@ if (hashes.length === 0) {
 * Main
 */
 (async () => {
-       const NanoPow = await fs.readFile(`${import.meta.dirname}/main.min.js`, 'utf-8')
+       const NanoPow = await fs.readFile(new URL('../main.min.js', import.meta.url), 'utf-8')
        const browser = await puppeteer.launch({
                headless: true,
                args: [
similarity index 100%
rename from src/shaders/gl-draw.ts
rename to src/lib/gl/gl-draw.ts
similarity index 99%
rename from src/classes/gl.ts
rename to src/lib/gl/index.ts
index 141add74297cc9e0903db65d9820da398e3085a2..91d5e663c4e86c1e2ad85007a5f1703895297666 100644 (file)
@@ -2,7 +2,9 @@
 //! SPDX-FileContributor: Ben Green <ben@latenightsketches.com>
 //! SPDX-License-Identifier: GPL-3.0-or-later AND MIT
 
-import { NanoPowGlDownsampleShader, NanoPowGlDrawShader, NanoPowGlVertexShader } from '../shaders'
+import { NanoPowGlDownsampleShader } from './gl-downsample.js'
+import { NanoPowGlDrawShader } from './gl-draw.js'
+import { NanoPowGlVertexShader } from './gl-vertex.js'
 import type { FBO, NanoPowOptions } from '../../types.d.ts'
 
 export class NanoPowGl {
similarity index 99%
rename from src/classes/gpu.ts
rename to src/lib/gpu/index.ts
index a23b900c867543ad3bc34bae2635f420763b40a1..6f9759bc90d79fba504d8081c9b45e5f07f6d4ec 100644 (file)
@@ -2,7 +2,7 @@
 //! SPDX-License-Identifier: GPL-3.0-or-later
 /// <reference types="@webgpu/types" />
 
-import { NanoPowGpuComputeShader } from '../shaders'
+import { default as NanoPowGpuComputeShader } from './compute.wgsl'
 import type { NanoPowOptions } from '../../types.d.ts'
 /**
 * Nano proof-of-work using WebGPU.
similarity index 89%
rename from src/classes/index.ts
rename to src/lib/index.ts
index 5338fd93441c0fc8fd9e3043a214add8a1c9e914..b674851450c55060c65dc5376bf2b7536aad60b4 100644 (file)
@@ -1,8 +1,8 @@
 //! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
 //! SPDX-License-Identifier: GPL-3.0-or-later
 
-import { NanoPowGl } from "./gl.js"
-import { NanoPowGpu } from "./gpu.js"
+import { NanoPowGl } from "./gl"
+import { NanoPowGpu } from "./gpu"
 
 let isGlSupported, isGpuSupported = false
 try {
similarity index 55%
rename from src/shaders/shaders.d.ts
rename to src/lib/shaders.d.ts
index 8d06c90abf3d7b65d25d6116ec385f1ff4ed301f..2897eabd2db8e0e12da076e33afdf1661f04985e 100644 (file)
@@ -2,21 +2,21 @@
 // SPDX-License-Identifier: GPL-3.0-or-later
 
 declare module '*.frag' {
-       const value: string
-       export default value
+  const value: string
+  export default value
 }
 
 declare module '*.glsl' {
-       const value: string
-       export default value
+  const value: string
+  export default value
 }
 
 declare module '*.vert' {
-       const value: string
-       export default value
+  const value: string
+  export default value
 }
 
 declare module '*.wgsl' {
-       const value: string
-       export default value
+  const value: string
+  export default value
 }
index 17aea3190932ae34821e1cd16bf50ad0339357e3..0b9e45ce66c97b4b125999d7ae7aceb4fda4ddfa 100644 (file)
@@ -1,6 +1,6 @@
 //! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
 //! SPDX-License-Identifier: GPL-3.0-or-later
 
-import { NanoPow, NanoPowGl, NanoPowGpu } from "./classes"
+import { NanoPow, NanoPowGl, NanoPowGpu } from "./lib"
 export { NanoPow, NanoPowGl, NanoPowGpu }
 export default NanoPow
diff --git a/src/shaders/index.ts b/src/shaders/index.ts
deleted file mode 100644 (file)
index 81042f5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-import { default as NanoPowGpuComputeShader } from "./compute.wgsl"
-import { NanoPowGlDownsampleShader } from "./gl-downsample.js"
-import { NanoPowGlDrawShader } from "./gl-draw.js"
-import { NanoPowGlVertexShader } from "./gl-vertex.js"
-
-export {
-       NanoPowGpuComputeShader,
-       NanoPowGlDownsampleShader,
-       NanoPowGlDrawShader,
-       NanoPowGlVertexShader
-}
similarity index 100%
rename from types.d.ts
rename to src/types.d.ts
similarity index 87%
rename from test-blockhashes
rename to test/blockhashes.txt
index eaee0bc71bc7e39c9b841072f44e6022761ef5dd..55ad25590bb98215101fa074e030d0582ce7e613 100644 (file)
@@ -5,4 +5,4 @@
 0000000000000000000000000000000000000000000000000000000000000000
 BA1E946BA3D778C2F30A83D44D2132CC6EEF010D8D06FF10A8ABD0100D8FB47E
 BF41D87DA3057FDC6050D2B00C06531F89F4AA6195D7C6C2EAAF15B6E703F8F6
-92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D
+32721F4BD2AFB6F6A08D41CD0DF3C0D9C0B5294F68D0D12422F52B28F0800B5F
diff --git a/test/blockhashes.txt.license b/test/blockhashes.txt.license
new file mode 100644 (file)
index 0000000..7f56691
--- /dev/null
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+SPDX-License-Identifier: GPL-3.0-or-later
similarity index 97%
rename from test.html
rename to test/index.html
index 718aad9d8e16167486479934603db91e173ddfa2..a78e58b2dac23336e2df6350e110efe104fb190c 100644 (file)
--- a/test.html
@@ -10,7 +10,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
        <script type="module">
                let NanoPow, NanoPowGl, NanoPowGpu
                try {
-                       ({ NanoPow, NanoPowGl, NanoPowGpu } = await import('./dist/main.min.js'))
+                       ({ NanoPow, NanoPowGl, NanoPowGpu } = await import('../dist/main.min.js'))
                } catch (err) {
                        console.warn(err)
                        try {
@@ -106,7 +106,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
                        console.log(`validate() output for bad max threshold nonce is ${result === false ? 'correct' : 'incorrect'}`)
                        expect.push(result === false)
 
-                       result = await NP.validate('47c83266398728ce', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', { debug: isDebug })
+                       result = await NP.validate('29a9ae0236990e2e', '32721F4BD2AFB6F6A08D41CD0DF3C0D9C0B5294F68D0D12422F52B28F0800B5F', { debug: isDebug })
                        console.log(`validate() output for slightly wrong nonce is ${result === false ? 'correct' : 'incorrect'}`)
                        expect.push(result === false)
 
index 4a2f87657aab565a934634bb92f7645cc4bfddf9..76109898e456f205f0675d8cbb64dd0f67de732c 100644 (file)
@@ -17,7 +17,7 @@
        },
        "include": [
                "src/main.ts",
-               "src/*",
-               "src/**/*"
+               "src/lib/*",
+               "src/lib/**/*"
        ]
 }