wiki-viewer 2.9.0 → 2.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +2 -2
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/pdf/save/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/asset/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/branch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0v4uz-4._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{08yt220_vis~5.js → 03zmegz1kvvod.js} +1 -1
- package/.next/standalone/next.config.ts +8 -0
- package/.next/standalone/node_modules/@vscode/ripgrep-linux-x64/bin/rg +0 -0
- package/.next/standalone/package.json +129 -129
- package/.next/standalone/server.js +1 -1
- package/bin/postbuild.js +30 -0
- package/package.json +123 -130
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1596
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -58
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- /package/.next/standalone/.next/static/{014EirzgOgUjO57zMiZrA → R2lG97g-a6HpbZZtS4qep}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{014EirzgOgUjO57zMiZrA → R2lG97g-a6HpbZZtS4qep}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{014EirzgOgUjO57zMiZrA → R2lG97g-a6HpbZZtS4qep}/_ssgManifest.js +0 -0
|
@@ -1,131 +1,131 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
2
|
+
"name": "wiki-viewer",
|
|
3
|
+
"version": "2.9.2",
|
|
4
|
+
"description": "Local file viewer and wiki \u2014 view markdown, HTML, PDFs, notebooks, office docs, and more from any directory",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"wiki-viewer": "bin/wiki-viewer.js",
|
|
9
|
+
"wiki-viewer-lite": "bin/wiki-viewer-lite.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin",
|
|
13
|
+
".next/standalone"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"dev": "next dev",
|
|
17
|
+
"dev:https": "next dev --experimental-https",
|
|
18
|
+
"build": "next build",
|
|
19
|
+
"start": "next start",
|
|
20
|
+
"wiki": "node bin/wiki-viewer.js",
|
|
21
|
+
"postbuild": "node bin/postbuild.js",
|
|
22
|
+
"prepublishOnly": "npm run build",
|
|
23
|
+
"prepack": "node -e \"require('fs').existsSync('.next/standalone/server.js')||(console.error('ERROR: .next/standalone/server.js missing, run pnpm build before publishing'),process.exit(1))\"",
|
|
24
|
+
"test": "node scripts/test-floor.mjs",
|
|
25
|
+
"test:raw": "tsx --import ./src/tests/proof/preload.ts --test src/tests/proof/*.test.ts"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=22.5.0"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"wiki",
|
|
32
|
+
"markdown",
|
|
33
|
+
"viewer",
|
|
34
|
+
"notes",
|
|
35
|
+
"local",
|
|
36
|
+
"cli"
|
|
37
|
+
],
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/anh-chu/wiki-viewer.git"
|
|
41
|
+
},
|
|
42
|
+
"optionalDependencies": {
|
|
43
|
+
"@vscode/ripgrep": "^1.18.0"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"better-auth": "^1.6.12",
|
|
47
|
+
"chokidar": "^5.0.0",
|
|
48
|
+
"jszip": "^3.10.1",
|
|
49
|
+
"kysely": "0.28.5",
|
|
50
|
+
"next": "16.2.4",
|
|
51
|
+
"pdfjs-dist": "5.4.296",
|
|
52
|
+
"proper-lockfile": "^4.1.2",
|
|
53
|
+
"react": "19.2.5",
|
|
54
|
+
"react-dom": "19.2.5",
|
|
55
|
+
"rehype-parse": "^9.0.1",
|
|
56
|
+
"rehype-raw": "^7.0.0",
|
|
57
|
+
"rehype-sanitize": "^6.0.0",
|
|
58
|
+
"undici": "^8.3.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@radix-ui/react-context-menu": "^2.2.16",
|
|
62
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
63
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
64
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
65
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
66
|
+
"@radix-ui/react-separator": "^1.1.8",
|
|
67
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
68
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
69
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
70
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
71
|
+
"@tiptap/core": "^3.22.5",
|
|
72
|
+
"@tiptap/extension-bubble-menu": "^3.22.5",
|
|
73
|
+
"@tiptap/extension-code-block-lowlight": "^3.22.5",
|
|
74
|
+
"@tiptap/extension-image": "^3.22.5",
|
|
75
|
+
"@tiptap/extension-link": "^3.22.5",
|
|
76
|
+
"@tiptap/extension-placeholder": "^3.22.5",
|
|
77
|
+
"@tiptap/extension-subscript": "^3.22.5",
|
|
78
|
+
"@tiptap/extension-superscript": "^3.22.5",
|
|
79
|
+
"@tiptap/extension-table": "^3.22.5",
|
|
80
|
+
"@tiptap/extension-table-cell": "^3.22.5",
|
|
81
|
+
"@tiptap/extension-table-header": "^3.22.5",
|
|
82
|
+
"@tiptap/extension-table-row": "^3.22.5",
|
|
83
|
+
"@tiptap/extension-task-item": "^3.22.5",
|
|
84
|
+
"@tiptap/extension-task-list": "^3.22.5",
|
|
85
|
+
"@tiptap/extension-text-align": "^3.22.5",
|
|
86
|
+
"@tiptap/extension-underline": "^3.22.5",
|
|
87
|
+
"@tiptap/pm": "^3.22.5",
|
|
88
|
+
"@tiptap/react": "^3.22.5",
|
|
89
|
+
"@tiptap/starter-kit": "^3.22.5",
|
|
90
|
+
"@tiptap/suggestion": "^3.22.5",
|
|
91
|
+
"@types/mdast": "^4.0.4",
|
|
92
|
+
"@types/node": "^22.15.0",
|
|
93
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
94
|
+
"@types/react": "19.2.14",
|
|
95
|
+
"@types/react-dom": "19.2.3",
|
|
96
|
+
"@types/turndown": "^5.0.6",
|
|
97
|
+
"autoprefixer": "^10.4.20",
|
|
98
|
+
"class-variance-authority": "^0.7.1",
|
|
99
|
+
"clsx": "^2.1.1",
|
|
100
|
+
"cmdk": "^1.1.1",
|
|
101
|
+
"docx-preview": "^0.3.7",
|
|
102
|
+
"hast-util-to-html": "^9.0.5",
|
|
103
|
+
"highlight.js": "^11.11.1",
|
|
104
|
+
"lowlight": "^3.3.0",
|
|
105
|
+
"lucide-react": "^0.525.0",
|
|
106
|
+
"mermaid": "^11.14.0",
|
|
107
|
+
"next-themes": "^0.4.6",
|
|
108
|
+
"postcss": "^8.5.6",
|
|
109
|
+
"pptx-preview": "^1.0.7",
|
|
110
|
+
"rehype-stringify": "^10.0.1",
|
|
111
|
+
"remark-gfm": "^4.0.1",
|
|
112
|
+
"remark-parse": "^11.0.0",
|
|
113
|
+
"remark-rehype": "^11.1.2",
|
|
114
|
+
"remark-stringify": "^11.0.0",
|
|
115
|
+
"sonner": "^2.0.7",
|
|
116
|
+
"tailwind-merge": "^3.3.0",
|
|
117
|
+
"tailwindcss": "^3.4.17",
|
|
118
|
+
"tsx": "^4.22.3",
|
|
119
|
+
"turndown": "^7.2.4",
|
|
120
|
+
"turndown-plugin-gfm": "^1.0.2",
|
|
121
|
+
"typescript": "^5.8.0",
|
|
122
|
+
"unified": "^11.0.5",
|
|
123
|
+
"xlsx": "^0.18.5",
|
|
124
|
+
"zustand": "^5.0.12"
|
|
125
|
+
},
|
|
126
|
+
"pnpm": {
|
|
127
|
+
"overrides": {
|
|
128
|
+
"kysely": "0.28.5"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
131
|
}
|
|
@@ -15,7 +15,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
15
15
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
16
16
|
|
|
17
17
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
18
|
-
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"2.9.
|
|
18
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"2.9.2"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/sil/wiki-viewer","allowedDevOrigins":["devvm"],"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","turbopack":{"root":"/home/sil/wiki-viewer"},"distDirRoot":".next"}
|
|
19
19
|
|
|
20
20
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
21
21
|
|
package/bin/postbuild.js
CHANGED
|
@@ -216,8 +216,30 @@ if (existsSync(pnpmStore)) {
|
|
|
216
216
|
process.exit(1);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
+
// sharp is an optional dependency of next, required lazily by the
|
|
220
|
+
// /_next/image optimizer (next/dist/server/image-optimizer.js does
|
|
221
|
+
// `_sharp = require('sharp')` inside a function, never at module scope).
|
|
222
|
+
// This app imports next/image nowhere and sets images.unoptimized, so that
|
|
223
|
+
// code path is unreachable and sharp is dead weight.
|
|
224
|
+
//
|
|
225
|
+
// Excluding it matters for more than the ~11MB: @img/sharp-<platform> is a
|
|
226
|
+
// prebuilt .node binary chosen for the *publishing* machine. Because publish
|
|
227
|
+
// is pack+tar with no install step, that binary would be frozen into the
|
|
228
|
+
// tarball and fail to load on any other OS/arch. Dropping it leaves the
|
|
229
|
+
// package free of platform-locked native binaries.
|
|
230
|
+
//
|
|
231
|
+
// Note this is the same failure mode that shipped a Node-22-ABI
|
|
232
|
+
// better_sqlite3.node in 2.8.0; there the axis was ABI, here it is platform.
|
|
233
|
+
const isExcluded = (name) => name === "sharp" || name.startsWith("@img/");
|
|
234
|
+
|
|
219
235
|
let hoisted = 0;
|
|
236
|
+
let excluded = 0;
|
|
220
237
|
for (const [name, src] of found) {
|
|
238
|
+
if (isExcluded(name)) {
|
|
239
|
+
excluded++;
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
|
|
221
243
|
const dst = path.join(nodeModules, name);
|
|
222
244
|
|
|
223
245
|
// lstat, not existsSync: a symlink whose target has already been hoisted
|
|
@@ -234,8 +256,16 @@ if (existsSync(pnpmStore)) {
|
|
|
234
256
|
hoisted++;
|
|
235
257
|
}
|
|
236
258
|
|
|
259
|
+
// Skipping the hoist above leaves these inside .pnpm, which is removed below.
|
|
260
|
+
// These removals cover the other placement: a copy Next wrote directly to the
|
|
261
|
+
// top level rather than through the store.
|
|
262
|
+
for (const rel of ["sharp", "@img"]) {
|
|
263
|
+
rmSync(path.join(nodeModules, rel), { recursive: true, force: true });
|
|
264
|
+
}
|
|
265
|
+
|
|
237
266
|
rmSync(pnpmStore, { recursive: true, force: true });
|
|
238
267
|
console.log(`postbuild: hoisted ${hoisted} package(s) out of the pnpm store`);
|
|
268
|
+
console.log(`postbuild: excluded ${excluded} unreachable native package(s) (sharp/@img)`);
|
|
239
269
|
|
|
240
270
|
// Nothing may resolve through a symlink after this point, or npm pack will
|
|
241
271
|
// drop it again and the failure only surfaces on a user's machine.
|
package/package.json
CHANGED
|
@@ -1,131 +1,124 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
},
|
|
126
|
-
"pnpm": {
|
|
127
|
-
"overrides": {
|
|
128
|
-
"kysely": "0.28.5"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
2
|
+
"name": "wiki-viewer",
|
|
3
|
+
"version": "2.9.2",
|
|
4
|
+
"description": "Local file viewer and wiki — view markdown, HTML, PDFs, notebooks, office docs, and more from any directory",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"wiki-viewer": "bin/wiki-viewer.js",
|
|
9
|
+
"wiki-viewer-lite": "bin/wiki-viewer-lite.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin",
|
|
13
|
+
".next/standalone"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=22.5.0"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"wiki",
|
|
20
|
+
"markdown",
|
|
21
|
+
"viewer",
|
|
22
|
+
"notes",
|
|
23
|
+
"local",
|
|
24
|
+
"cli"
|
|
25
|
+
],
|
|
26
|
+
"repository": {
|
|
27
|
+
"type": "git",
|
|
28
|
+
"url": "https://github.com/anh-chu/wiki-viewer.git"
|
|
29
|
+
},
|
|
30
|
+
"optionalDependencies": {
|
|
31
|
+
"@vscode/ripgrep": "^1.18.0"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"better-auth": "^1.6.12",
|
|
35
|
+
"chokidar": "^5.0.0",
|
|
36
|
+
"jszip": "^3.10.1",
|
|
37
|
+
"kysely": "0.28.5",
|
|
38
|
+
"next": "16.2.4",
|
|
39
|
+
"pdfjs-dist": "5.4.296",
|
|
40
|
+
"proper-lockfile": "^4.1.2",
|
|
41
|
+
"react": "19.2.5",
|
|
42
|
+
"react-dom": "19.2.5",
|
|
43
|
+
"rehype-parse": "^9.0.1",
|
|
44
|
+
"rehype-raw": "^7.0.0",
|
|
45
|
+
"rehype-sanitize": "^6.0.0",
|
|
46
|
+
"undici": "^8.3.0"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@radix-ui/react-context-menu": "^2.2.16",
|
|
50
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
51
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
52
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
53
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
54
|
+
"@radix-ui/react-separator": "^1.1.8",
|
|
55
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
56
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
57
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
58
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
59
|
+
"@tiptap/core": "^3.22.5",
|
|
60
|
+
"@tiptap/extension-bubble-menu": "^3.22.5",
|
|
61
|
+
"@tiptap/extension-code-block-lowlight": "^3.22.5",
|
|
62
|
+
"@tiptap/extension-image": "^3.22.5",
|
|
63
|
+
"@tiptap/extension-link": "^3.22.5",
|
|
64
|
+
"@tiptap/extension-placeholder": "^3.22.5",
|
|
65
|
+
"@tiptap/extension-subscript": "^3.22.5",
|
|
66
|
+
"@tiptap/extension-superscript": "^3.22.5",
|
|
67
|
+
"@tiptap/extension-table": "^3.22.5",
|
|
68
|
+
"@tiptap/extension-table-cell": "^3.22.5",
|
|
69
|
+
"@tiptap/extension-table-header": "^3.22.5",
|
|
70
|
+
"@tiptap/extension-table-row": "^3.22.5",
|
|
71
|
+
"@tiptap/extension-task-item": "^3.22.5",
|
|
72
|
+
"@tiptap/extension-task-list": "^3.22.5",
|
|
73
|
+
"@tiptap/extension-text-align": "^3.22.5",
|
|
74
|
+
"@tiptap/extension-underline": "^3.22.5",
|
|
75
|
+
"@tiptap/pm": "^3.22.5",
|
|
76
|
+
"@tiptap/react": "^3.22.5",
|
|
77
|
+
"@tiptap/starter-kit": "^3.22.5",
|
|
78
|
+
"@tiptap/suggestion": "^3.22.5",
|
|
79
|
+
"@types/mdast": "^4.0.4",
|
|
80
|
+
"@types/node": "^22.15.0",
|
|
81
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
82
|
+
"@types/react": "19.2.14",
|
|
83
|
+
"@types/react-dom": "19.2.3",
|
|
84
|
+
"@types/turndown": "^5.0.6",
|
|
85
|
+
"autoprefixer": "^10.4.20",
|
|
86
|
+
"class-variance-authority": "^0.7.1",
|
|
87
|
+
"clsx": "^2.1.1",
|
|
88
|
+
"cmdk": "^1.1.1",
|
|
89
|
+
"docx-preview": "^0.3.7",
|
|
90
|
+
"hast-util-to-html": "^9.0.5",
|
|
91
|
+
"highlight.js": "^11.11.1",
|
|
92
|
+
"lowlight": "^3.3.0",
|
|
93
|
+
"lucide-react": "^0.525.0",
|
|
94
|
+
"mermaid": "^11.14.0",
|
|
95
|
+
"next-themes": "^0.4.6",
|
|
96
|
+
"postcss": "^8.5.6",
|
|
97
|
+
"pptx-preview": "^1.0.7",
|
|
98
|
+
"rehype-stringify": "^10.0.1",
|
|
99
|
+
"remark-gfm": "^4.0.1",
|
|
100
|
+
"remark-parse": "^11.0.0",
|
|
101
|
+
"remark-rehype": "^11.1.2",
|
|
102
|
+
"remark-stringify": "^11.0.0",
|
|
103
|
+
"sonner": "^2.0.7",
|
|
104
|
+
"tailwind-merge": "^3.3.0",
|
|
105
|
+
"tailwindcss": "^3.4.17",
|
|
106
|
+
"tsx": "^4.22.3",
|
|
107
|
+
"turndown": "^7.2.4",
|
|
108
|
+
"turndown-plugin-gfm": "^1.0.2",
|
|
109
|
+
"typescript": "^5.8.0",
|
|
110
|
+
"unified": "^11.0.5",
|
|
111
|
+
"xlsx": "^0.18.5",
|
|
112
|
+
"zustand": "^5.0.12"
|
|
113
|
+
},
|
|
114
|
+
"scripts": {
|
|
115
|
+
"dev": "next dev",
|
|
116
|
+
"dev:https": "next dev --experimental-https",
|
|
117
|
+
"build": "next build",
|
|
118
|
+
"start": "next start",
|
|
119
|
+
"wiki": "node bin/wiki-viewer.js",
|
|
120
|
+
"postbuild": "node bin/postbuild.js",
|
|
121
|
+
"test": "node scripts/test-floor.mjs",
|
|
122
|
+
"test:raw": "tsx --import ./src/tests/proof/preload.ts --test src/tests/proof/*.test.ts"
|
|
123
|
+
}
|
|
124
|
+
}
|