Socket
Socket
Sign inDemoInstall

@jsdocs-io/extractor

Package Overview
Dependencies
85
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0-0 to 1.0.0-1

21

dist/index.d.ts

@@ -248,10 +248,4 @@ import { SourceFile, ModuleDeclaration, Project } from 'ts-morph';

*/
type ExtractorError = OsError | FsError | InstallPackageError | PackageNameError | PackageJsonError | PackageTypesError | PackageDeclarationsError | ProjectError;
type ExtractorError = FsError | InstallPackageError | PackageNameError | PackageJsonError | PackageTypesError | PackageDeclarationsError | ProjectError;
/**
`OsError` is thrown when an operation involving `process` fails.
*/
declare class OsError extends Error {
constructor(message: string, options?: ErrorOptions);
}
/**
`FsError` is thrown when an operation involving the file system fails.

@@ -335,5 +329,12 @@ */

maxDepth?: number;
/**
Absolute path to the `bun` executable.
Used to locate bun if it's not in `PATH`.
@defaultValue `bun`
*/
bunPath?: string;
};
/**
PackageApi` contains all the information extracted from a package.
`PackageApi` contains all the information extracted from a package.
*/

@@ -410,3 +411,3 @@ type PackageApi = {

*/
declare const extractPackageApi: ({ pkg, subpath, maxDepth, }: ExtractPackageApiOptions) => ResultAsync<PackageApi, ExtractorError>;
declare const extractPackageApi: ({ pkg, subpath, maxDepth, bunPath, }: ExtractPackageApiOptions) => ResultAsync<PackageApi, ExtractorError>;

@@ -434,2 +435,2 @@ /**

export { type AllExtractedDeclaration, type AllExtractedDeclarationKind, type ExtractDeclarationsOptions, type ExtractPackageApiOptions, type ExtractedClass, type ExtractedClassConstructor, type ExtractedClassMethod, type ExtractedClassProperty, type ExtractedDeclaration, type ExtractedDeclarationKind, type ExtractedEnum, type ExtractedEnumMember, type ExtractedFunction, type ExtractedInterface, type ExtractedInterfaceCallSignature, type ExtractedInterfaceConstructSignature, type ExtractedInterfaceGetAccessor, type ExtractedInterfaceIndexSignature, type ExtractedInterfaceMethod, type ExtractedInterfaceProperty, type ExtractedInterfaceSetAccessor, type ExtractedNamespace, type ExtractedTypeAlias, type ExtractedVariable, type ExtractorError, FsError, InstallPackageError, OsError, type PackageApi, PackageDeclarationsError, PackageJsonError, PackageNameError, PackageTypesError, ProjectError, extractDeclarations, extractPackageApi, packageTypes, parseDocComment };
export { type AllExtractedDeclaration, type AllExtractedDeclarationKind, type ExtractDeclarationsOptions, type ExtractPackageApiOptions, type ExtractedClass, type ExtractedClassConstructor, type ExtractedClassMethod, type ExtractedClassProperty, type ExtractedDeclaration, type ExtractedDeclarationKind, type ExtractedEnum, type ExtractedEnumMember, type ExtractedFunction, type ExtractedInterface, type ExtractedInterfaceCallSignature, type ExtractedInterfaceConstructSignature, type ExtractedInterfaceGetAccessor, type ExtractedInterfaceIndexSignature, type ExtractedInterfaceMethod, type ExtractedInterfaceProperty, type ExtractedInterfaceSetAccessor, type ExtractedNamespace, type ExtractedTypeAlias, type ExtractedVariable, type ExtractorError, FsError, InstallPackageError, type PackageApi, PackageDeclarationsError, PackageJsonError, PackageNameError, PackageTypesError, ProjectError, extractDeclarations, extractPackageApi, packageTypes, parseDocComment };
// src/errors.ts
var OsError = class extends Error {
constructor(message, options) {
super(message, options);
this.name = this.constructor.name;
}
};
var FsError = class extends Error {

@@ -1043,11 +1037,5 @@ constructor(message, options) {

// src/change-dir.ts
import { Result } from "neverthrow";
var changeDir = Result.fromThrowable(
process.chdir,
(e) => new OsError("failed to change directory", { cause: e })
);
// src/create-project.ts
import { err, ok } from "neverthrow";
import process from "process";
import {

@@ -1059,4 +1047,18 @@ ModuleKind,

} from "ts-morph";
var createProject = (indexFilePath) => {
var createProject = ({
indexFilePath,
cwd
}) => {
try {
const startDir = process.cwd();
process.chdir(cwd);
const res = _createProject(indexFilePath);
process.chdir(startDir);
return res;
} catch (e) {
return err(new ProjectError("failed to change directories", { cause: e }));
}
};
var _createProject = (indexFilePath) => {
try {
const project = new Project({

@@ -1074,7 +1076,5 @@ compilerOptions: {

project.resolveSourceFileDependencies();
const sourceFiles = project.getSourceFiles();
return ok({
project,
indexFile,
sourceFiles
indexFile
});

@@ -1086,14 +1086,11 @@ } catch (e) {

// src/current-dir.ts
import { Result as Result3 } from "neverthrow";
var currentDir = Result3.fromThrowable(
process.cwd,
(e) => new OsError("failed to get current directory", { cause: e })
);
// src/install-package.ts
import { execa } from "execa";
import { ResultAsync } from "neverthrow";
var installPackage = (pkg) => ResultAsync.fromPromise(
execa("bun", ["add", pkg, "--verbose"]),
var installPackage = ({
pkg,
cwd,
bunPath = "bun"
}) => ResultAsync.fromPromise(
execa(bunPath, ["add", pkg, "--verbose"], { cwd }),
(e) => new InstallPackageError("failed to install package", { cause: e })

@@ -1133,4 +1130,4 @@ ).map(({ stdout }) => {

import { readPackage } from "read-pkg";
var packageJson = (cwd) => ResultAsync3.fromPromise(
readPackage({ cwd }),
var packageJson = (pkgDir) => ResultAsync3.fromPromise(
readPackage({ cwd: pkgDir }),
(e) => new PackageJsonError("failed to read package.json", { cause: e })

@@ -1161,3 +1158,2 @@ );

import { err as err3, ok as ok3 } from "neverthrow";
import "read-pkg";
import { exports } from "resolve.exports";

@@ -1219,5 +1215,5 @@ var packageTypes = (pkgJson, pkgSubpath) => {

// src/temp-dir.ts
import { Result as Result6 } from "neverthrow";
import { Result as Result4 } from "neverthrow";
import { temporaryDirectory } from "tempy";
var tempDir = Result6.fromThrowable(
var tempDir = Result4.fromThrowable(
temporaryDirectory,

@@ -1231,3 +1227,4 @@ (e) => new FsError("failed to create temporary directory", { cause: e })

subpath = ".",
maxDepth = 5
maxDepth = 5,
bunPath = "bun"
}) => okAsync({

@@ -1237,3 +1234,4 @@ pkg,

maxDepth,
startTime: performance.now()
startTime: performance.now(),
bunPath
}).andThen(

@@ -1245,16 +1243,14 @@ (ctx) => packageName(ctx.pkg).map((pkgName) => ({

).andThen(
(ctx) => currentDir().map((startDir) => ({
(ctx) => tempDir().map((workDir) => ({
...ctx,
startDir
workDir
}))
).andThen(
(ctx) => tempDir().map((rootDir) => ({
(ctx) => installPackage({
pkg: ctx.pkg,
cwd: ctx.workDir,
bunPath: ctx.bunPath
}).map((installedPackages) => ({
...ctx,
rootDir
}))
).andThen((ctx) => changeDir(ctx.rootDir).map(() => ctx)).andThen(
(ctx) => installPackage(ctx.pkg).map((installedPackages) => ({
...ctx,
nodeModulesDir: join(ctx.rootDir, "node_modules"),
pkgDir: join(ctx.rootDir, "node_modules", ctx.pkgName),
pkgDir: join(ctx.workDir, "node_modules", ctx.pkgName),
installedPackages

@@ -1274,10 +1270,10 @@ }))

).andThen(
(ctx) => createProject(ctx.typesFilePath).map(
({ project, indexFile, sourceFiles }) => ({
...ctx,
project,
indexFile,
sourceFiles
})
)
(ctx) => createProject({
indexFilePath: ctx.typesFilePath,
cwd: ctx.workDir
}).map(({ project, indexFile }) => ({
...ctx,
project,
indexFile
}))
).andThen(

@@ -1299,6 +1295,4 @@ (ctx) => ok4(packageOverview(ctx.indexFile)).map((pkgOverview) => ({

).andThen(
(ctx) => changeDir(ctx.startDir).map(() => ctx).orElse(() => ok4(ctx))
(ctx) => removeDir(ctx.workDir).map(() => ctx).orElse(() => ok4(ctx))
).andThen(
(ctx) => removeDir(ctx.rootDir).map(() => ctx).orElse(() => ok4(ctx))
).andThen(
(ctx) => ok4({

@@ -1319,3 +1313,2 @@ name: ctx.pkgJson.name,

InstallPackageError,
OsError,
PackageDeclarationsError,

@@ -1322,0 +1315,0 @@ PackageJsonError,

{
"name": "@jsdocs-io/extractor",
"version": "1.0.0-0",
"version": "1.0.0-1",
"description": "The API extractor for npm packages powering jsdocs.io",

@@ -74,7 +74,7 @@ "license": "AGPL-3.0-or-later",

"devDependencies": {
"@arethetypeswrong/cli": "^0.13.10",
"@arethetypeswrong/cli": "^0.14.1",
"@total-typescript/shoehorn": "^0.1.1",
"@types/node": "^20.11.19",
"@types/node": "^20.11.20",
"@types/validate-npm-package-name": "^4.0.2",
"@vitest/coverage-v8": "^1.3.0",
"@vitest/coverage-v8": "^1.3.1",
"np": "^9.2.0",

@@ -85,4 +85,4 @@ "ts-dedent": "^2.2.0",

"typescript": "^5.3.3",
"vitest": "^1.3.0"
"vitest": "^1.3.1"
}
}
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc