Socket
Socket
Sign inDemoInstall

@digitak/grubber

Package Overview
Dependencies
0
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.3 to 2.0.1

library/utilities/resolveAliases.d.ts

3

library/utilities/patchJsImports.d.ts

@@ -0,1 +1,2 @@

import { AliasResolver } from "./resolveAliases.js";
/**

@@ -9,2 +10,2 @@ * When Typescript compiles dependencies, it adds no '.js' extension at the end of imports.

*/
export default function patchJsImports(...directories: string[]): void;
export default function patchJsImports(directories: string[], aliases?: Array<AliasResolver>): void;

@@ -5,2 +5,3 @@ import { readdirSync, statSync, readFileSync, writeFileSync } from "fs";

import { createRequire } from "module";
import { resolveAliases } from "./resolveAliases.js";
const require = createRequire(process.cwd());

@@ -16,3 +17,3 @@ const resolve = (dependency, directory) => require.resolve(dependency, { paths: [directory] });

*/
export default function patchJsImports(...directories) {
export default function patchJsImports(directories, aliases) {
for (let directory of directories) {

@@ -23,3 +24,3 @@ directory = resolvePath(directory);

if (statSync(entity).isDirectory()) {
patchJsImports(entity);
patchJsImports([entity], aliases);
}

@@ -29,2 +30,5 @@ else {

const patchedContent = addJsExtensions(content, imported => {
let resolvedAlias = resolveAliases(imported, aliases);
if (resolvedAlias != null)
return resolvedAlias;
let path = resolve(imported, directory);

@@ -31,0 +35,0 @@ if (path != imported) {

{
"name": "@digitak/grubber",
"version": "1.0.3",
"version": "2.0.1",
"description": "Parse code files and patch it without having to use an AST",

@@ -12,2 +12,3 @@ "main": "library/index.js",

"test": "esrun test",
"test:jsimports": "esrun test/patchJsImports",
"build": "esrun scripts/build"

@@ -47,4 +48,5 @@ },

"fartest": "^2.1.5",
"ncp": "^2.0.0",
"typescript": "^4.2.4"
}
}
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc