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

@krlwlfrt/dml

Package Overview
Dependencies
Maintainers
0
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@krlwlfrt/dml - npm Package Compare versions

Comparing version 1.2.0 to 2.0.0

3

lib/index.d.ts

@@ -7,6 +7,9 @@ export interface Module {

export declare function isTypeScriptFile(file: string): boolean;
export declare function isRunningInNodeJS(): boolean;
export declare function isRunningInTSNode(): boolean;
export declare function isRunningInDeno(): boolean;
export declare function isRunningInTsx(): boolean;
export declare function isRunningInBun(): boolean;
export declare function isRunningInTypeScriptRuntime(): boolean;
export declare function loadModule(file: string): Promise<Module>;
export declare function loadModules(directory: string, recursive?: boolean): Promise<Module[]>;

@@ -18,9 +18,19 @@ "use strict";

});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

@@ -38,4 +48,7 @@ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }

exports.isTypeScriptFile = isTypeScriptFile;
exports.isRunningInNodeJS = isRunningInNodeJS;
exports.isRunningInTSNode = isRunningInTSNode;
exports.isRunningInDeno = isRunningInDeno;
exports.isRunningInTsx = isRunningInTsx;
exports.isRunningInBun = isRunningInBun;
exports.isRunningInTypeScriptRuntime = isRunningInTypeScriptRuntime;

@@ -47,3 +60,2 @@ exports.loadModule = loadModule;

const node_path_1 = require("node:path");
const ts_node_1 = require("ts-node");
function isJavaScriptFile(file) {

@@ -55,10 +67,43 @@ return /\.js$/.test(file);

}
function isRunningInNodeJS() {
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
'release' in globalThis.process &&
typeof globalThis.process.release === 'object' &&
globalThis.process.release !== null &&
'name' in globalThis.process.release &&
globalThis.process.release.name === 'node';
}
function isRunningInTSNode() {
return 'process' in globalThis && typeof globalThis.process[ts_node_1.REGISTER_INSTANCE] !== 'undefined';
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
Symbol.for('ts-node.register.instance') in globalThis.process;
}
function isRunningInDeno() {
return typeof globalThis === 'object' && typeof globalThis.Deno === 'object';
return 'Deno' in globalThis &&
typeof globalThis['Deno'] === 'object';
}
function isRunningInTsx() {
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
'env' in globalThis.process &&
typeof globalThis.process.env === 'object' &&
globalThis.process.env !== null &&
'_' in globalThis.process.env &&
typeof globalThis.process.env._ === 'string' &&
globalThis.process.env._.includes('.bin/tsx');
}
function isRunningInBun() {
return 'Bun' in globalThis;
}
function isRunningInTypeScriptRuntime() {
return isRunningInDeno() || isRunningInTSNode();
return isRunningInDeno() ||
isRunningInTSNode() ||
isRunningInTsx() ||
isRunningInBun() ||
(isRunningInNodeJS() &&
globalThis.process.execArgv.includes('--experimental-strip-types'));
}

@@ -105,2 +150,2 @@ function loadModule(file) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDQSw0Q0FFQztBQU9ELDRDQUVDO0FBTUQsOENBRUM7QUFNRCwwQ0FFQztBQU1ELG9FQUVDO0FBT0QsZ0NBaUJDO0FBUUQsa0NBMkJDO0FBdEhELHFDQUFtQztBQUNuQywrQ0FBZ0Q7QUFDaEQseUNBQWtEO0FBQ2xELHFDQUEwQztBQXFCMUMsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBWTtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU9ELFNBQWdCLGdCQUFnQixDQUFDLElBQVk7SUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFNRCxTQUFnQixpQkFBaUI7SUFDL0IsT0FBTyxTQUFTLElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQywyQkFBaUIsQ0FBQyxLQUFLLFdBQVcsQ0FBQztBQUNqRyxDQUFDO0FBTUQsU0FBZ0IsZUFBZTtJQUM3QixPQUFPLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxPQUFRLFVBQWtCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztBQUN4RixDQUFDO0FBTUQsU0FBZ0IsNEJBQTRCO0lBQzFDLE9BQU8sZUFBZSxFQUFFLElBQUksaUJBQWlCLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBT0QsU0FBc0IsVUFBVSxDQUFDLElBQVk7O1FBQzNDLElBQUksNEJBQTRCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6RixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSwyR0FBMkcsQ0FBQyxDQUFDO1FBQzdJLENBQUM7UUFFRCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUkseURBQXlELENBQUMsQ0FBQztRQUMzRixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUEsb0JBQVUsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLCtDQUErQyxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSx5QkFBYSxJQUFJLENBQUMsUUFBUSxFQUFFLHVDQUFDO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQUE7QUFRRCxTQUFzQixXQUFXO3lEQUFDLFNBQWlCLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDbkUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGtCQUFPLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO1FBRTdCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQkFBSSxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsZ0JBQUssRUFBQyxVQUFVLENBQUMsQ0FBQztZQUV0QyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUUxRCxTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLElBQUEsb0JBQVEsRUFBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSw0QkFBNEIsRUFBRSxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUEsb0JBQVUsRUFBQyxJQUFBLGdCQUFJLEVBQUMsSUFBQSxtQkFBTyxFQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hJLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLFVBQVUsa0VBQWtFLFVBQVUsa0lBQWtJLENBQUMsQ0FBQztnQkFFdFEsU0FBUztZQUNYLENBQUM7WUFFRCxJQUFJLDRCQUE0QixFQUFFLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDbkcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUFBIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQ0EsNENBRUM7QUFPRCw0Q0FFQztBQU1ELDhDQVdDO0FBTUQsOENBS0M7QUFNRCwwQ0FHQztBQU1ELHdDQVlDO0FBTUQsd0NBRUM7QUFNRCxvRUFTQztBQU9ELGdDQWlCQztBQVFELGtDQTJCQztBQTNLRCxxQ0FBbUM7QUFDbkMsK0NBQWdEO0FBQ2hELHlDQUFrRDtBQXFCbEQsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBWTtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU9ELFNBQWdCLGdCQUFnQixDQUFDLElBQVk7SUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFNRCxTQUFnQixpQkFBaUI7SUFDL0IsT0FBTyxTQUFTLElBQUksVUFBVTtRQUM1QixPQUFPLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUTtRQUN0QyxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUk7UUFFM0IsU0FBUyxJQUFJLFVBQVUsQ0FBQyxPQUFPO1FBQy9CLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssUUFBUTtRQUM5QyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxJQUFJO1FBRW5DLE1BQU0sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDcEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztBQUMvQyxDQUFDO0FBTUQsU0FBZ0IsaUJBQWlCO0lBQy9CLE9BQU8sU0FBUyxJQUFJLFVBQVU7UUFDNUIsT0FBTyxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVE7UUFDdEMsVUFBVSxDQUFD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

19

package.json
{
"name": "@krlwlfrt/dml",
"version": "1.2.0",
"version": "2.0.0",
"description": "Dynamic module loader",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"type": "commonjs",
"scripts": {

@@ -32,11 +33,11 @@ "build": "npm run lint && npm run compile",

"devDependencies": {
"@eslint/js": "9.14.0",
"@eslint/js": "9.15.0",
"@krlwlfrt/otpc": "2.0.0",
"@testdeck/mocha": "0.3.3",
"@types/eslint__js": "8.42.3",
"@types/mocha": "10.0.9",
"@types/node": "22.9.0",
"@types/mocha": "10.0.10",
"@types/node": "22.10.0",
"conventional-changelog-cli": "5.0.0",
"eslint": "9.14.0",
"eslint-plugin-jsdoc": "50.4.3",
"eslint": "9.15.0",
"eslint-plugin-jsdoc": "50.6.0",
"mocha": "10.8.2",

@@ -46,5 +47,5 @@ "nyc": "17.1.0",

"ts-node": "10.9.2",
"typedoc": "0.26.11",
"typescript": "5.6.3",
"typescript-eslint": "8.13.0"
"typedoc": "0.27.0",
"typescript": "5.7.2",
"typescript-eslint": "8.16.0"
},

@@ -51,0 +52,0 @@ "nyc": {

@@ -19,3 +19,2 @@ /*

import {basename, dirname, join} from 'node:path';
import {REGISTER_INSTANCE} from 'ts-node';

@@ -55,2 +54,19 @@ /**

/**
* Check whether or not currently running in NodeJs
* @returns Whether or not currently running in NodeJS
*/
export function isRunningInNodeJS(): boolean {
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
'release' in globalThis.process &&
typeof globalThis.process.release === 'object' &&
globalThis.process.release !== null &&
'name' in globalThis.process.release &&
globalThis.process.release.name === 'node';
}
/**
* Check whether or not currently running in TS Node

@@ -60,3 +76,6 @@ * @returns Whether or not currently running in TS Node

export function isRunningInTSNode(): boolean {
return 'process' in globalThis && typeof globalThis.process[REGISTER_INSTANCE] !== 'undefined';
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
Symbol.for('ts-node.register.instance') in globalThis.process;
}

@@ -69,6 +88,33 @@

export function isRunningInDeno(): boolean {
return typeof globalThis === 'object' && typeof (globalThis as any).Deno === 'object';
return 'Deno' in globalThis &&
typeof globalThis['Deno' as keyof typeof globalThis] === 'object';
}
/**
* Check whether or not currently running in TSX runtime
* @returns Whether or not currently running in TSX runtime+
*/
export function isRunningInTsx(): boolean {
return 'process' in globalThis &&
typeof globalThis.process === 'object' &&
globalThis.process !== null &&
'env' in globalThis.process &&
typeof globalThis.process.env === 'object' &&
globalThis.process.env !== null &&
'_' in globalThis.process.env &&
typeof globalThis.process.env._ === 'string' &&
globalThis.process.env._.includes('.bin/tsx');
}
/**
* Check whether nor not currently running in Bun
* @returns Whether nor not currently running in Bun runtime
*/
export function isRunningInBun(): boolean {
return 'Bun' in globalThis;
}
/**
* Check whether or not currently running in TypeScript runtime

@@ -78,3 +124,10 @@ * @returns Whether or not currently running in TypeScript runtime

export function isRunningInTypeScriptRuntime(): boolean {
return isRunningInDeno() || isRunningInTSNode();
return isRunningInDeno() ||
isRunningInTSNode() ||
isRunningInTsx() ||
isRunningInBun() ||
(
isRunningInNodeJS() &&
globalThis.process.execArgv.includes('--experimental-strip-types')
);
}

@@ -81,0 +134,0 @@

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