-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
import { build } from 'esbuild'
import { glsl } from "esbuild-plugin-glsl"
await build({
+ bundle: true,
+ platform: 'browser',
entryPoints: [
{ out: 'main.min', in: './src/main.js' }
],
+ format: 'esm',
+ legalComments: 'inline',
outdir: 'dist',
target: 'esnext',
- format: 'esm',
- platform: 'browser',
- bundle: true,
plugins: [
glsl({
minify: true
{
"name": "nano-pow",
- "version": "3.0.0",
+ "version": "3.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "nano-pow",
- "version": "3.0.0",
+ "version": "3.0.1",
"license": "(GPL-3.0-or-later AND MIT)",
"devDependencies": {
- "@types/node": "^22.13.8",
- "@webgpu/types": "^0.1.54",
+ "@types/node": "^22.13.10",
+ "@webgpu/types": "^0.1.55",
"assemblyscript": "^0.27.34",
"esbuild": "^0.25.0",
- "esbuild-plugin-glsl": "^1.2.2",
+ "esbuild-plugin-glsl": "^1.2.3",
"typescript": "^5.8.2"
},
"funding": {
}
},
"node_modules/@types/node": {
- "version": "22.13.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.8.tgz",
- "integrity": "sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==",
+ "version": "22.13.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
+ "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
"dev": true,
"license": "MIT",
"dependencies": {
}
},
"node_modules/@webgpu/types": {
- "version": "0.1.54",
- "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.54.tgz",
- "integrity": "sha512-81oaalC8LFrXjhsczomEQ0u3jG+TqE6V9QHLA8GNZq/Rnot0KDugu3LhSYSlie8tSdooAN1Hov05asrUUp9qgg==",
+ "version": "0.1.55",
+ "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.55.tgz",
+ "integrity": "sha512-p97I8XEC1h04esklFqyIH+UhFrUcj8/1/vBWgc6lAK4jMJc+KbhUy8D4dquHYztFj6pHLqGcp/P1xvBBF4r3DA==",
"dev": true,
"license": "BSD-3-Clause"
},
}
},
"node_modules/esbuild-plugin-glsl": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esbuild-plugin-glsl/-/esbuild-plugin-glsl-1.2.2.tgz",
- "integrity": "sha512-HqRe6qf+9q3U4ugce7EXnXf+c+bRGZZWNkUSiJBYCKRLkA5ThhklNxlc1Z/rcBM8DIAKAdZGk+j6nTBaA5SV6A==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/esbuild-plugin-glsl/-/esbuild-plugin-glsl-1.2.3.tgz",
+ "integrity": "sha512-PUM4rGm0ZBZI46Q9sF7XNZqEhVX1aa8Pxnh+kWPDMyeY7CPO4oEeC4wmKeTBmQekMuiRDB/tdAr0K79ZUbnmtQ==",
"dev": true,
"license": "Zlib",
"engines": {
- "node": ">= 0.10.18"
+ "node": ">=18"
},
"peerDependencies": {
"esbuild": "0.x.x"
{
"name": "nano-pow",
- "version": "3.0.0",
+ "version": "3.0.1",
"description": "Proof-of-work generation and validation with WebGPU/WebGL for Nano cryptocurrency.",
"keywords": [
"nemo",
"url": "git+https://zoso.dev/nano-pow.git"
},
"scripts": {
- "build": "rm -rf types && tsc && node esbuild.mjs && cp types.d.ts dist",
- "asbuild": "asc src/shaders/cpu-hash.ts --target release"
+ "build": "rm -rf {dist,types} && tsc && node esbuild.mjs && npm run fix-copyright && cp types.d.ts dist",
+ "asbuild": "asc src/shaders/cpu-hash.ts --target release",
+ "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": {
- "@types/node": "^22.13.8",
- "@webgpu/types": "^0.1.54",
+ "@types/node": "^22.13.10",
+ "@webgpu/types": "^0.1.55",
"assemblyscript": "^0.27.34",
"esbuild": "^0.25.0",
- "esbuild-plugin-glsl": "^1.2.2",
+ "esbuild-plugin-glsl": "^1.2.3",
"typescript": "^5.8.2"
},
"type": "module",
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-FileContributor: Ben Green <ben@latenightsketches.com>
-// SPDX-License-Identifier: GPL-3.0-or-later AND MIT
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-FileContributor: Ben Green <ben@latenightsketches.com>
+//! SPDX-License-Identifier: GPL-3.0-or-later AND MIT
import { NanoPowGlDownsampleShader, NanoPowGlDrawShader, NanoPowGlVertexShader } from '../shaders'
import type { FBO, NanoPowOptions } from '../../types.d.ts'
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
/// <reference types="@webgpu/types" />
import { NanoPowGpuComputeShader } from '../shaders'
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
import { NanoPowCpu } from './cpu.js'
import { NanoPowGl } from './gl.js'
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
import { NanoPow, NanoPowCpu, NanoPowGl, NanoPowGpu } from "./classes"
export { NanoPow, NanoPowCpu, NanoPowGl, NanoPowGpu }
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
/**
* Input buffers
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-License-Identifier: GPL-3.0-or-later
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-License-Identifier: GPL-3.0-or-later
export const NanoPowGlDownsampleShader = `#version 300 es
#pragma vscode_glsllint_stage: frag
-// SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
-// SPDX-FileContributor: Ben Green <ben@latenightsketches.com>
-// SPDX-License-Identifier: GPL-3.0-or-later AND MIT
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! SPDX-FileContributor: Ben Green <ben@latenightsketches.com>
+//! SPDX-License-Identifier: GPL-3.0-or-later AND MIT
export const NanoPowGlDrawShader = `#version 300 es
#pragma vscode_glsllint_stage: frag
},
"include": [
"src/main.ts",
- "src/global.ts",
"src/*",
"src/**/*"
]