New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@djockey/linkmapper-typedoc

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@djockey/linkmapper-typedoc - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

index.d.ts

161

index.js

@@ -1,87 +0,41 @@

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
import { ArgumentParser } from "argparse";
import { readFileSync } from "fs";
import { writeFile } from "fs/promises";
import path from "path";
import { Application, DefaultTheme, Deserializer, FileRegistry, ReflectionKind, Renderer, } from "typedoc";
async function main() {
const p = new ArgumentParser({
description: "Generates a Djockey link mapping file given a TypeDoc JSON file.",
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getURLs = getURLs;
var argparse_1 = require("argparse");
var fs_1 = require("fs");
var promises_1 = require("fs/promises");
var path_1 = require("path");
var typedoc_1 = require("typedoc");
function main() {
return __awaiter(this, void 0, void 0, function () {
var p, args, json, result, output;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
p = new argparse_1.ArgumentParser();
p.add_argument("typedoc_json_file_path");
p.add_argument("output_path");
args = p.parse_args();
json = JSON.parse((0, fs_1.readFileSync)(path_1.default.resolve(args.typedoc_json_file_path), "utf8"));
return [4 /*yield*/, getURLs(json)];
case 1:
result = _a.sent();
output = {
version: 0,
namespaces: ["typescript", "ts", "typedoc"],
linkMappings: result,
};
return [4 /*yield*/, (0, promises_1.writeFile)(args.output_path, JSON.stringify(output, null, " "))];
case 2:
_a.sent();
return [2 /*return*/];
}
});
p.add_argument("typedoc_json_file_path", {
help: "Path to a TypeDoc JSON file, for example $YOUR_REPO/types.json",
});
p.add_argument("output_path", {
help: "Where to save the output, for example $YOUR_REPO/docs/link_mapping.json",
});
const args = p.parse_args();
const json = JSON.parse(readFileSync(path.resolve(args.typedoc_json_file_path), "utf8"));
const result = await getURLs(json);
const output = {
version: 0,
namespaces: ["typescript", "ts", "typedoc"],
linkMappings: result,
};
await writeFile(args.output_path, JSON.stringify(output, null, " "));
}
function getFullPath(model) {
if (!model.parent || model.parent.kind === typedoc_1.ReflectionKind.Project) {
if (!model.parent || model.parent.kind === ReflectionKind.Project) {
return model.name;
}
return "".concat(getFullPath(model.parent), ".").concat(model.name);
return `${getFullPath(model.parent)}.${model.name}`;
}
function getAliases(model) {
if (model.kind === typedoc_1.ReflectionKind.Project)
if (model.kind === ReflectionKind.Project)
return [];
var path = getFullPath(model);
var parts = path.split(".");
var result = new Array();
var isCommon = model.name === "constructor" && (!model.children || !model.children.length);
var upperBound = isCommon ? parts.length - 1 : parts.length;
for (var i = 0; i < upperBound; i++) {
const path = getFullPath(model);
const parts = path.split(".");
const result = new Array();
const isCommon = model.name === "constructor" && (!model.children || !model.children.length);
const upperBound = isCommon ? parts.length - 1 : parts.length;
for (let i = 0; i < upperBound; i++) {
result.push(parts.slice(i).join("."));

@@ -91,38 +45,27 @@ }

}
function getURLs(projectReflectionJSON) {
return __awaiter(this, void 0, void 0, function () {
function visit(model) {
if (model.url) {
for (var _i = 0, _a = getAliases(model); _i < _a.length; _i++) {
var alias = _a[_i];
urls.push({ linkDestination: alias, relativeURL: model.url });
}
export async function getURLs(projectReflectionJSON) {
const app = await Application.bootstrap();
const registry = new FileRegistry();
const proj = new Deserializer(app).reviveProject(projectReflectionJSON, "djockey-api", path.resolve("."), registry);
const theme = new DefaultTheme(new Renderer(app));
const urlMappings = theme.getUrls(proj);
const urls = new Array();
function visit(model) {
if (model.url) {
for (const alias of getAliases(model)) {
urls.push({ linkDestination: alias, relativeURL: model.url });
}
if (model.children) {
for (var _b = 0, _c = model.children; _b < _c.length; _b++) {
var child = _c[_b];
visit(child);
}
}
if (model.children) {
for (const child of model.children) {
visit(child);
}
}
var app, registry, proj, theme, urlMappings, urls, _i, urlMappings_1, mapping;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, typedoc_1.Application.bootstrap()];
case 1:
app = _a.sent();
registry = new typedoc_1.FileRegistry();
proj = new typedoc_1.Deserializer(app).reviveProject(projectReflectionJSON, "djockey-api", path_1.default.resolve("."), registry);
theme = new typedoc_1.DefaultTheme(new typedoc_1.Renderer(app));
urlMappings = theme.getUrls(proj);
urls = new Array();
for (_i = 0, urlMappings_1 = urlMappings; _i < urlMappings_1.length; _i++) {
mapping = urlMappings_1[_i];
visit(mapping.model);
}
return [2 /*return*/, urls];
}
});
});
}
for (const mapping of urlMappings) {
visit(mapping.model);
}
return urls;
}
await main();
//# sourceMappingURL=index.js.map
import { ArgumentParser } from "argparse";
import { readFileSync, writeFileSync } from "fs";
import { readFileSync } from "fs";
import { writeFile } from "fs/promises";

@@ -4,0 +4,0 @@ import path from "path";

{
"name": "@djockey/linkmapper-typedoc",
"bin": "index.js",
"version": "0.0.1",
"version": "0.0.2",
"type": "module",

@@ -12,3 +12,2 @@ "prepublish": "tsc -p .",

"@types/argparse": "^2.0.16",
"@types/bun": "latest",
"@types/node": "^22.5.1",

@@ -15,0 +14,0 @@ "typescript": "^5.0.0"

{
"compilerOptions": {
"rootDir": ".",
// Enable latest features
"lib": ["ESNext", "DOM"],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// Best practices
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
// Some stricter flags (disabled by default)
"noUnusedLocals": false,
"noUnusedParameters": false,
"noPropertyAccessFromIndexSignature": false
}
"target": "es2020",
"declaration": true,
"module": "nodenext",
"sourceMap": true,
"esModuleInterop": true,
"moduleResolution": "nodenext",
"resolveJsonModule": true
},
"exclude": ["node_modules"]
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc