markmap-cli
Advanced tools
Comparing version 0.18.9 to 0.18.10-alpha.2
@@ -9,3 +9,2 @@ import { program } from "commander"; | ||
import { develop, createMarkmap } from "./index.js"; | ||
import { f as fetchAssets } from "./assets-fetcher-B4vBLKaX.js"; | ||
async function main() { | ||
@@ -28,3 +27,2 @@ var _a; | ||
if (cmd.watch) offline = true; | ||
if (offline) await fetchAssets(); | ||
const content = await readFile(input, "utf8"); | ||
@@ -31,0 +29,0 @@ const output = cmd.output || `${input.replace(/\.\w*$/, "")}.html`; |
@@ -1,11 +0,81 @@ | ||
import { program } from "commander"; | ||
import { f as fetchAssets } from "./assets-fetcher-B4vBLKaX.js"; | ||
program.description("Fetch assets for markmap-cli").option("--ignoreErrors", "Ignore errors when failing to download assets").option("--verbose", "Show verbose logs").action(async (cmd) => { | ||
import { createReadStream, createWriteStream } from "fs"; | ||
import { stat, mkdir } from "fs/promises"; | ||
import { extractAssets } from "markmap-common"; | ||
import { Transformer } from "markmap-lib"; | ||
import { baseJsPaths } from "markmap-render"; | ||
import { resolve, dirname } from "path"; | ||
import { pipeline } from "stream/promises"; | ||
import { l as localProvider, A as ASSETS_PREFIX, t as toolbarAssets, a as config, c as createStreamBody } from "./common-CwPtCJvD.js"; | ||
const providerName = "local-hook"; | ||
async function fetchAssets({ | ||
assetsDir = config.assetsDir, | ||
verbose | ||
} = {}) { | ||
const transformer = new Transformer(); | ||
transformer.urlBuilder.setProvider(providerName, localProvider); | ||
transformer.urlBuilder.provider = providerName; | ||
const assets = transformer.getAssets(); | ||
delete transformer.urlBuilder.providers[providerName]; | ||
const pluginPaths = extractAssets(assets).filter((url) => url.startsWith(ASSETS_PREFIX)).map((url) => url.slice(ASSETS_PREFIX.length)); | ||
const resources = transformer.plugins.flatMap( | ||
(plugin) => { | ||
var _a; | ||
return ((_a = plugin.config) == null ? void 0 : _a.resources) || []; | ||
} | ||
); | ||
const paths = [ | ||
...baseJsPaths, | ||
...pluginPaths, | ||
...resources, | ||
...extractAssets(toolbarAssets) | ||
]; | ||
const resolveDepPath = (path) => { | ||
const parts = path.split("/"); | ||
const offset = parts[0].startsWith("@") ? 1 : 0; | ||
parts[offset] = parts[offset].split("@")[0]; | ||
path = parts.join("/"); | ||
if (path.startsWith("d3")) { | ||
path = "markmap-view/node_modules/" + path; | ||
} else if (!path.startsWith("markmap-")) { | ||
path = "markmap-lib/node_modules/" + path; | ||
} | ||
return resolve("..", path); | ||
}; | ||
await Promise.all( | ||
paths.map(async (path) => { | ||
const fullPath = resolve(assetsDir, path); | ||
let url; | ||
await downloadAsset(fullPath, async () => url = resolveDepPath(path)); | ||
if (verbose) { | ||
console.log( | ||
url ? `Fetched: ${url} -> ${fullPath}` : `Skipped existing file: ${fullPath}` | ||
); | ||
} | ||
}) | ||
); | ||
} | ||
async function downloadAsset(fullPath, resolveUrl) { | ||
try { | ||
await fetchAssets({ verbose: cmd.verbose }); | ||
} catch (err) { | ||
console.error(err); | ||
if (!cmd.ignoreErrors) process.exitCode = 1; | ||
const result = await stat(fullPath); | ||
if (result.isFile()) return; | ||
} catch { | ||
} | ||
const url = await resolveUrl(); | ||
let body; | ||
if (url.startsWith("/")) { | ||
body = createStreamBody(createReadStream(url)); | ||
} else { | ||
const res = await fetch(url); | ||
if (!res.ok || !res.body) throw new Error(`Failed to download: ${url}`); | ||
body = res.body; | ||
} | ||
await mkdir(dirname(fullPath), { recursive: true }); | ||
await pipeline(body, createWriteStream(fullPath)); | ||
} | ||
async function main() { | ||
await fetchAssets({ verbose: true }); | ||
} | ||
main().catch((err) => { | ||
console.error(err); | ||
process.exitCode = 1; | ||
}); | ||
program.parse(); |
@@ -8,3 +8,3 @@ import { readFile, stat, writeFile } from "fs/promises"; | ||
import { join, resolve } from "path"; | ||
import { t as toolbarAssets, A as ASSETS_PREFIX, l as localProvider, c as createStreamBody, a as config } from "./common-WzXBUz0S.js"; | ||
import { t as toolbarAssets, A as ASSETS_PREFIX, l as localProvider, c as createStreamBody, a as config } from "./common-CwPtCJvD.js"; | ||
import { serve } from "@hono/node-server"; | ||
@@ -11,0 +11,0 @@ import { watch } from "chokidar"; |
{ | ||
"name": "markmap-cli", | ||
"version": "0.18.9", | ||
"version": "0.18.10-alpha.2+9487f11", | ||
"description": "Create markmaps from CLI", | ||
@@ -30,6 +30,6 @@ "author": "Gerald <gera2ld@live.com>", | ||
"build:types": "tsc", | ||
"build:js": "vite build", | ||
"build:js": "vite build && pnpm fetch-assets", | ||
"build": "pnpm clean && pnpm /^build:/", | ||
"prepublishOnly": "pnpm build", | ||
"postinstall": "node ./dist/fetch-assets.js --ignoreErrors" | ||
"fetch-assets": "node ./dist/fetch-assets.js", | ||
"prepublishOnly": "pnpm build" | ||
}, | ||
@@ -54,5 +54,5 @@ "bugs": { | ||
"markmap-common": "0.18.9", | ||
"markmap-lib": "0.18.9", | ||
"markmap-render": "0.18.9", | ||
"markmap-toolbar": "0.18.9", | ||
"markmap-lib": "0.18.10-alpha.2+9487f11", | ||
"markmap-render": "0.18.10-alpha.2+9487f11", | ||
"markmap-toolbar": "0.18.10-alpha.2+9487f11", | ||
"open": "^10.1.0", | ||
@@ -63,3 +63,3 @@ "portfinder": "^1.0.32", | ||
}, | ||
"gitHead": "4247555f57017ffc9297e5e5e031c4119de3ebaf" | ||
"gitHead": "9487f115b82c8eaee934c7f848faf67f05c700b1" | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Install scripts
Supply chain riskInstall scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.
Found 1 instance in 1 package
667419
43
3837
0
10
- Removed@vscode/markdown-it-katex@1.1.1(transitive)
- Removedargparse@2.0.1(transitive)
- Removedboolbase@1.0.0(transitive)
- Removedcheerio@1.0.0(transitive)
- Removedcheerio-select@2.1.0(transitive)
- Removedcommander@7.2.08.3.0(transitive)
- Removedcss-select@5.1.0(transitive)
- Removedcss-what@6.1.0(transitive)
- Removedd3@7.9.0(transitive)
- Removedd3-array@3.2.4(transitive)
- Removedd3-axis@3.0.0(transitive)
- Removedd3-brush@3.0.0(transitive)
- Removedd3-chord@3.0.1(transitive)
- Removedd3-color@3.1.0(transitive)
- Removedd3-contour@4.0.2(transitive)
- Removedd3-delaunay@6.0.4(transitive)
- Removedd3-dispatch@3.0.1(transitive)
- Removedd3-drag@3.0.0(transitive)
- Removedd3-dsv@3.0.1(transitive)
- Removedd3-ease@3.0.1(transitive)
- Removedd3-fetch@3.0.1(transitive)
- Removedd3-force@3.0.0(transitive)
- Removedd3-format@3.1.0(transitive)
- Removedd3-geo@3.1.1(transitive)
- Removedd3-hierarchy@3.1.2(transitive)
- Removedd3-interpolate@3.0.1(transitive)
- Removedd3-path@3.1.0(transitive)
- Removedd3-polygon@3.0.1(transitive)
- Removedd3-quadtree@3.0.1(transitive)
- Removedd3-random@3.0.1(transitive)
- Removedd3-scale@4.0.2(transitive)
- Removedd3-scale-chromatic@3.1.0(transitive)
- Removedd3-selection@3.0.0(transitive)
- Removedd3-shape@3.2.0(transitive)
- Removedd3-time@3.1.0(transitive)
- Removedd3-time-format@4.1.0(transitive)
- Removedd3-timer@3.0.1(transitive)
- Removedd3-transition@3.0.1(transitive)
- Removedd3-zoom@3.0.0(transitive)
- Removeddelaunator@5.0.1(transitive)
- Removeddom-serializer@2.0.0(transitive)
- Removeddomelementtype@2.3.0(transitive)
- Removeddomhandler@5.0.3(transitive)
- Removeddomutils@3.2.2(transitive)
- Removedencoding-sniffer@0.2.0(transitive)
- Removedentities@4.5.0(transitive)
- Removedhighlight.js@11.11.1(transitive)
- Removedhtmlparser2@9.1.0(transitive)
- Removediconv-lite@0.6.3(transitive)
- Removedinternmap@2.0.3(transitive)
- Removedkatex@0.16.21(transitive)
- Removedlinkify-it@5.0.0(transitive)
- Removedmarkdown-it@14.1.0(transitive)
- Removedmarkdown-it-ins@4.0.0(transitive)
- Removedmarkdown-it-mark@4.0.0(transitive)
- Removedmarkdown-it-sub@2.0.0(transitive)
- Removedmarkdown-it-sup@2.0.0(transitive)
- Removedmarkmap-html-parser@0.18.9(transitive)
- Removedmarkmap-lib@0.18.9(transitive)
- Removedmarkmap-render@0.18.9(transitive)
- Removedmarkmap-toolbar@0.18.9(transitive)
- Removedmarkmap-view@0.18.9(transitive)
- Removedmdurl@2.0.0(transitive)
- Removednth-check@2.1.1(transitive)
- Removedparse5@7.2.1(transitive)
- Removedparse5-htmlparser2-tree-adapter@7.1.0(transitive)
- Removedparse5-parser-stream@7.1.2(transitive)
- Removedprismjs@1.29.0(transitive)
- Removedpunycode.js@2.3.1(transitive)
- Removedrobust-predicates@3.0.2(transitive)
- Removedrw@1.3.3(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removeduc.micro@2.1.0(transitive)
- Removedundici@6.21.1(transitive)
- Removedwhatwg-encoding@3.1.1(transitive)
- Removedwhatwg-mimetype@4.0.0(transitive)
- Removedyaml@2.7.0(transitive)