🚀. Socket Launch Week Day 3:Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions.Learn more
Sign In

@isl-lang/isl-stdlib

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@isl-lang/isl-stdlib

ISL Standard Library Registry - Central index and resolver for all stdlib modules

latest
Source
npmnpm
Version
2.0.0
Version published
Maintainers
1
Created
Source

@isl-lang/isl-stdlib

Central registry and import resolver for ISL Standard Library modules.

Overview

This package provides:

  • Registry: A central index of all stdlib modules with metadata
  • Resolver: Import path resolution for @isl/stdlib-* imports
  • Discovery: Search and query modules by name, category, or keyword
  • Dependency Resolution: Topological ordering of module dependencies

Installation

pnpm add @isl-lang/isl-stdlib

Usage

Getting a Module

import { getModule } from '@isl-lang/isl-stdlib';

const authModule = getModule('stdlib-auth');
console.log(authModule?.provides.behaviors);
// ['Register', 'Login', 'Logout', 'RefreshToken', ...]

Resolving Imports

import { resolveStdlibImport } from '@isl-lang/isl-stdlib';

const result = resolveStdlibImport('@isl/stdlib-auth/session');
if (!('code' in result)) {
  console.log(result.filePath); // 'intents/session.isl'
  console.log(result.module.name); // '@isl-lang/stdlib-auth'
}

Checking if Import is Stdlib

import { isStdlibImport } from '@isl-lang/isl-stdlib';

isStdlibImport('@isl/stdlib-auth');  // true
isStdlibImport('./local.isl');       // false

Searching Modules

import { searchModules, findModulesWithBehavior } from '@isl-lang/isl-stdlib';

// Search by keyword
const authModules = searchModules('authentication');

// Find modules providing a specific behavior
const loginModules = findModulesWithBehavior('Login');

Dependency Resolution

import { resolveDependencyTree } from '@isl-lang/isl-stdlib';

// Get all dependencies in topological order
const deps = resolveDependencyTree('stdlib-saas');
// ['stdlib-auth', 'stdlib-saas']

Registry Validation

import { validateRegistry, getRegistryStats } from '@isl-lang/isl-stdlib';

const { valid, errors } = validateRegistry();
if (!valid) {
  console.error('Registry errors:', errors);
}

const stats = getRegistryStats();
console.log(`Total modules: ${stats.totalModules}`);
console.log(`Total behaviors: ${stats.totalBehaviors}`);

Available Modules

ModuleCategoryDescription
stdlib-authSecurityAuthentication & authorization
stdlib-rate-limitSecurityRate limiting & throttling
stdlib-auditComplianceAudit logging (SOC2, HIPAA, GDPR)
stdlib-paymentsBusinessPCI-compliant payment processing
stdlib-saasBusinessMulti-tenant SaaS patterns
stdlib-billingBusinessSubscriptions & metered billing
stdlib-notificationsCommunicationIn-app notifications
stdlib-messagingCommunicationEmail, SMS, push
stdlib-realtimeCommunicationWebSockets & pub/sub
stdlib-filesStorageFile upload & management
stdlib-cacheInfrastructureCaching patterns
stdlib-queueInfrastructureJob queues
stdlib-schedulingInfrastructureCron & scheduled jobs
stdlib-idempotencyInfrastructureRequest deduplication
stdlib-eventsArchitectureEvent sourcing & CQRS
stdlib-workflowArchitectureState machines & sagas
stdlib-searchDataFull-text search
stdlib-observabilityOperationsLogging, metrics, tracing
stdlib-analyticsOperationsProduct analytics
stdlib-aiAILLM integration

Import Formats

The resolver supports multiple import formats:

// Recommended: @isl/ prefix
import { User, Login } from "@isl/stdlib-auth"

// Subpath imports
import { Session } from "@isl/stdlib-auth/session"

// NPM package name
import { User } from "@isl-lang/stdlib-auth"

// Short name (for use statements)
use stdlib-auth

Registry Structure

The registry (registry.json) contains:

interface StdlibRegistry {
  version: string;
  modules: Record<string, StdlibModule>;
  categories: Record<string, CategoryInfo>;
  importAliases: Record<string, string>;
}

interface StdlibModule {
  name: string;           // NPM package name
  version: string;        // Semantic version
  description: string;
  category: string;
  entryPoint: string;     // Main ISL file
  exports: Record<string, string>;  // Subpath -> file mapping
  provides: {
    entities: string[];
    behaviors: string[];
    enums: string[];
    types: string[];
  };
  dependencies: string[];
  peerDependencies: string[];
  keywords: string[];
}

Adding New Modules

See ADDING_STDLIB_MODULE.md for a complete guide.

Quick checklist:

  • Create package in packages/stdlib-mymodule/
  • Add ISL files in intents/ directory
  • Register in packages/isl-stdlib/registry.json
  • Run pnpm run validate-registry to verify

API Reference

Registry Functions

FunctionDescription
getRegistry()Get the full registry
getModuleNames()List all module names
getModule(name)Get module by name
getModulesByCategory(cat)Get modules in category
searchModules(keyword)Search by keyword
findModulesWithEntity(name)Find by entity
findModulesWithBehavior(name)Find by behavior
resolveDependencyTree(name)Get dependencies
validateRegistry()Validate registry
getRegistryStats()Get statistics

Resolver Functions

FunctionDescription
parseImportPath(path)Parse import into module/subpath
isStdlibImport(path)Check if stdlib import
resolveStdlibImport(path)Resolve to module/file
resolveImports(paths)Resolve multiple imports
getSuggestions(partial)Get autocomplete suggestions
moduleFilesExist(name)Check if files exist

License

MIT

Keywords

intentos

FAQs

Package last updated on 12 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts