SOURCE / PINNED RELEASE
Made of little things.
Shiftfield
- Release
- 5a170c505f6b…
- Author-recorded commit
- a2e23e0171aa…
- License
- LICENSE
- Author’s source reference
- nostr://npub16nzc4ql748r2kv9202rgzrt0fmtk4n3tzsjl86yf6ty9agqe9u0qjcc7hc/wss%3A%2F%2Fgit.napplet.soy%2F/n-e4fb6341ccd
Archive hash verified: 66de7623efd91da1…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
import { readFileSync } from 'node:fs';
import { defineConfig } from 'vite';
import { nip5aManifest } from '@napplet/vite-plugin';
export default defineConfig({
build: {
// Vite's module-preload polyfill calls `fetch`; one inlined entry needs no
// preload graph, and NIP-5D napplet code has no ambient network authority.
modulePreload: { polyfill: false },
},
plugins: [
// Produce one self-contained `/index.html` for NIP-5D `srcdoc` loading,
// soyLI publishes its raw HTML hash using standalone NIP-5D manifests.
nip5aManifest({
nappletType: 'shiftfield',
title: 'Shiftfield',
icon: {
data: readFileSync(new URL('./assets/shiftfield-favicon.png', import.meta.url)),
mimeType: 'image/png',
},
artifactMode: 'single-file',
// Leaderboard/CVM is an enhancement, not a requirement: published as an
// optional (O) domain so the host offers `cvm` when it can, and the game
// degrades gracefully (guarded by runtimeHasDomain('cvm')) when it can't.
optional: ['storage', 'config', 'cvm'],
}),
],
});
