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

@lwrjs/shared-utils

Package Overview
Dependencies
Maintainers
7
Versions
506
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lwrjs/shared-utils - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2-alpha1

18

build/index.d.ts
/// <reference types="node" />
import { VirtualModuleEntry, ModuleEntry, ApplicationMode, ModeConfig } from '@lwrjs/types';
import { ApplicationMode, ModeConfig, ModuleDefinition, ModuleEntry, ModuleJsonDefinition, ModuleRegistry, RuntimeContext, VirtualModuleEntry } from '@lwrjs/types';
interface SpecifierConfig {

@@ -17,5 +17,21 @@ name: string;

export declare function isVirtualModuleEntry(moduleEntry: ModuleEntry): moduleEntry is VirtualModuleEntry;
/**
* Take a Module Definition and return its JSON serialization
*
* @param code - the compiled code string for the given module
* @param param1 - the Module Definition to serialize
* @param moduleRegistry
* @param context - runtime context
* @returns - Promise to the JSON serialization of the module
*/
export declare function serializeModuleToJson(code: string | undefined, { name, namespace, version, ownHash, moduleDefinition: { format, moduleRecord: { imports }, }, }: ModuleDefinition, moduleRegistry: ModuleRegistry, context: RuntimeContext): Promise<ModuleJsonDefinition>;
export declare function resolveFileExtension(filePath: string): string;
/**
* Deep freeze an object
*
* @param obj - object to freeze
* @param maxDepth - the number of levels to recurse
*/
export declare function deepFreeze(obj: any, maxDepth?: number): any;
export {};
//# sourceMappingURL=index.d.ts.map

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.deepFreeze = exports.resolveFileExtension = exports.isVirtualModuleEntry = exports.readFile = exports.hashContent = exports.normalizeVersionFromUri = exports.normalizeVersionToUri = exports.explodeMode = exports.explodeName = exports.explodeSpecifier = exports.getSpecifier = exports.DEFAULT_NAMESPACE = void 0;
exports.deepFreeze = exports.resolveFileExtension = exports.serializeModuleToJson = exports.isVirtualModuleEntry = exports.readFile = exports.hashContent = exports.normalizeVersionFromUri = exports.normalizeVersionToUri = exports.explodeMode = exports.explodeName = exports.explodeSpecifier = exports.getSpecifier = exports.DEFAULT_NAMESPACE = void 0;
const fs_1 = __importDefault(require("fs"));

@@ -70,2 +70,45 @@ const path_1 = __importDefault(require("path"));

exports.isVirtualModuleEntry = isVirtualModuleEntry;
// Given a Module Identifier, return a JSON entry
async function createJsonModule(moduleId, moduleRegistry, context) {
const specifier = getSpecifier({ namespace: moduleId.namespace, name: moduleId.name });
const { version } = await moduleRegistry.getModuleEntry({ specifier });
const { ownHash } = await moduleRegistry.getModuleSource(moduleId, context);
return {
specifier,
version,
ownHash,
signature: ownHash,
links: {
self: moduleRegistry.resolveModuleUri(moduleId, context, ownHash),
},
};
}
/**
* Take a Module Definition and return its JSON serialization
*
* @param code - the compiled code string for the given module
* @param param1 - the Module Definition to serialize
* @param moduleRegistry
* @param context - runtime context
* @returns - Promise to the JSON serialization of the module
*/
async function serializeModuleToJson(code = '', { name, namespace, version, ownHash, moduleDefinition: { format, moduleRecord: { imports = [] }, }, }, moduleRegistry, context) {
// Build the dependencies array
const dependencies = imports.map(({ namespace, name, version }) => createJsonModule({
namespace,
name,
version,
resourceType: 'module',
}, moduleRegistry, context));
return {
specifier: getSpecifier({ namespace, name }),
version,
ownHash,
dependencies: await Promise.all(dependencies),
format,
minified: context.minify,
code,
};
}
exports.serializeModuleToJson = serializeModuleToJson;
function resolveFileExtension(filePath) {

@@ -99,4 +142,3 @@ const fileName = path_1.default.basename(filePath);

exports.resolveFileExtension = resolveFileExtension;
// deep freeze the given object
function _deepFreeze(p, obj, maxDepth, depth) {
function _deepFreeze(obj, maxDepth, depth) {
if (depth < maxDepth) {

@@ -106,3 +148,3 @@ Object.keys(obj).forEach((prop) => {

if (typeof value === 'object' && !Object.isFrozen(value)) {
_deepFreeze(prop, value, maxDepth, depth + 1);
_deepFreeze(value, maxDepth, depth + 1);
}

@@ -113,6 +155,12 @@ });

}
/**
* Deep freeze an object
*
* @param obj - object to freeze
* @param maxDepth - the number of levels to recurse
*/
function deepFreeze(obj, maxDepth = 5) {
return _deepFreeze('root', obj, maxDepth, 0);
return _deepFreeze(obj, maxDepth, 0);
}
exports.deepFreeze = deepFreeze;
//# sourceMappingURL=index.js.map

4

package.json

@@ -7,3 +7,3 @@ {

},
"version": "0.0.1",
"version": "0.0.2-alpha1",
"types": "build/index.d.ts",

@@ -15,3 +15,3 @@ "main": "build/index.js",

],
"gitHead": "638109b1e3e85483bc63c87ed2a6c3d582f28e04"
"gitHead": "ae4583dba86a00596d3641f60144d8c1f39a0d78"
}
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