@cldmv/slothlet
Version:
Slothlet: Modular API Loader for Node.js. Lazy mode dynamically loads API modules and submodules only when accessed, supporting both lazy and eager loading.
197 lines (196 loc) • 7.17 kB
JSON
{
"name": "@cldmv/slothlet",
"version": "2.6.1",
"moduleVersions": {
"lazy": "1.3.0",
"eager": "1.3.0"
},
"description": "Slothlet: Modular API Loader for Node.js. Lazy mode dynamically loads API modules and submodules only when accessed, supporting both lazy and eager loading.",
"main": "./index.cjs",
"module": "./index.mjs",
"exports": {
".": {
"types": "./types/index.d.mts",
"import": "./index.mjs",
"require": "./index.cjs"
},
"./devcheck": {
"types": "./types/devcheck.d.mts",
"import": "./devcheck.mjs"
},
"./slothlet": {
"development": {
"types": "./types/src/slothlet.d.mts",
"import": "./src/slothlet.mjs"
},
"types": "./types/dist/slothlet.d.mts",
"import": "./dist/slothlet.mjs"
},
"./runtime": {
"development": {
"types": "./types/src/lib/runtime/runtime.d.mts",
"import": "./src/lib/runtime/runtime.mjs"
},
"types": "./types/dist/lib/runtime/runtime.d.mts",
"import": "./dist/lib/runtime/runtime.mjs"
},
"./runtime/async": {
"development": {
"types": "./types/src/lib/runtime/runtime-asynclocalstorage.d.mts",
"import": "./src/lib/runtime/runtime-asynclocalstorage.mjs"
},
"types": "./types/dist/lib/runtime/runtime-asynclocalstorage.d.mts",
"import": "./dist/lib/runtime/runtime-asynclocalstorage.mjs"
},
"./runtime/live": {
"development": {
"types": "./types/src/lib/runtime/runtime-livebindings.d.mts",
"import": "./src/lib/runtime/runtime-livebindings.mjs"
},
"types": "./types/dist/lib/runtime/runtime-livebindings.d.mts",
"import": "./dist/lib/runtime/runtime-livebindings.mjs"
},
"./helpers/*": {
"development": {
"types": "./types/src/lib/helpers/*.d.mts",
"import": "./src/lib/helpers/*.mjs"
},
"types": "./types/dist/lib/helpers/*.d.mts",
"import": "./dist/lib/helpers/*.mjs"
},
"./modes/*": {
"development": {
"types": "./types/src/lib/modes/*.d.mts",
"import": "./src/lib/modes/*.mjs"
},
"types": "./types/dist/lib/modes/*.d.mts",
"import": "./dist/lib/modes/*.mjs"
}
},
"types": "./types/index.d.mts",
"scripts": {
"precommit": "node tools/precommit-validation.mjs",
"publish:manual": "npm publish --access public",
"test": "node tests/test-conditional.mjs",
"test:pre-build": "node tests/test-conditional.mjs",
"test:post-build": "npm run test:types",
"test:complete": "node tests/test-conditional.mjs && npm run test:post-build",
"test:unit": "vitest --config .configs/vitest.config.mjs run",
"test:node": "node tests/run-all-tests.mjs",
"test:all": "node tests/test-conditional.mjs && npm run test:node",
"test:types": "node tests/validate-typescript.mjs",
"debug": "node tests/debug-slothlet.mjs",
"test:entry": "node tests/test-entry-points.mjs",
"test:performance": "node tests/performance-benchmark.mjs",
"test:performance-aggregated": "node tests/performance-benchmark-aggregated.mjs",
"lint": "eslint --config .configs/eslint.config.mjs .",
"build": "node tools/build-with-tests.mjs",
"build:ci": "npm run build:cleanup && npm run build:dist && npm run build:types && npm run build:exports && npm run test:types && npm run build:prepend-license",
"build:unsafe": "npm run build:cleanup && npm run build:dist && npm run build:types && npm run build:exports && npm run test:types && npm run build:prepend-license",
"build:cleanup": "shx rm -rf types && shx rm -rf dist",
"build:dist": "shx mkdir -p dist && shx cp -r src/* dist/ && shx rm -rf dist/**/*.backup",
"build:types": "npx tsc -p .configs/tsconfig.dts.jsonc",
"build:docs": "npm run build:docs:slothlet && npm run build:docs:api-tests",
"build:docs:slothlet": "jsdoc2md -g grouped -m dl --no-cache --separators -c \".configs/jsdoc.config.json\" --helper \"docs/helpers.cjs\" --template \"docs/template.hbs\" \"src/{slothlet.mjs,lib/{modes,helpers,runtime}/**/*.mjs}\" > docs/API.md",
"build:docs:api-tests": "npm run build:docs:api-test && npm run build:docs:api-test-cjs && npm run build:docs:api-test-mixed",
"build:docs:api-test": "shx mkdir -p docs/api_tests && jsdoc2md -g grouped -m dl --no-cache --separators -c \".configs/jsdoc.config.json\" --helper \"docs/helpers.cjs\" --template \"docs/template.hbs\" \"api_tests/api_test/**/*.mjs\" > docs/api_tests/api_test.md",
"build:docs:api-test-cjs": "shx mkdir -p docs/api_tests && jsdoc2md -g grouped -m dl --no-cache --separators -c \".configs/jsdoc.config.json\" --helper \"docs/helpers.cjs\" --template \"docs/template.hbs\" \"api_tests/api_test_cjs/**/*.{mjs,cjs}\" > docs/api_tests/api_test_cjs.md",
"build:docs:api-test-mixed": "shx mkdir -p docs/api_tests && jsdoc2md -g grouped -m dl --no-cache --separators -c \".configs/jsdoc.config.json\" --helper \"docs/helpers.cjs\" --template \"docs/template.hbs\" \"api_tests/api_test_mixed/**/*.{mjs,cjs}\" > docs/api_tests/api_test_mixed.md",
"build:docs:tools": "shx mkdir -p docs/tools && jsdoc2md -g grouped -m dl --no-cache --separators -c \".configs/jsdoc.config.json\" --helper \"docs/helpers.cjs\" --template \"docs/template.hbs\" \"tools/**/*.mjs\" > docs/tools/build-tools.md",
"build:exports": "node tools/build-exports.mjs",
"build:prepend-license": "node tools/prepend-license.mjs dist",
"prepublish-check": "npm run build && npm pack && node tools/prepublish-check.mjs"
},
"keywords": [
"api",
"api-loader",
"api-management",
"module-loader",
"lazy-loading",
"eager-loading",
"copy-left-materialization",
"proxy",
"asynclocalstorage",
"live-binding",
"context-isolation",
"dual-loading",
"modular",
"performance",
"optimization",
"startup-performance",
"nodejs",
"esm",
"cjs",
"mixed-modules",
"dynamic-import",
"deferred-loading",
"framework",
"typescript",
"zero-dependencies"
],
"engines": {
"node": ">=16.4.0"
},
"author": {
"name": "Shinrai",
"company": "CLDMV",
"email": "git+npm@cldmv.net",
"url": "https://cldmv.net"
},
"contributors": [
{
"name": "CLDMV",
"url": "https://github.com/CLDMV"
}
],
"license": "Apache-2.0",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/shinrai"
},
"type": "module",
"devDependencies": {
"@eslint/css": "^0.10.0",
"@eslint/js": "^9.33.0",
"@eslint/json": "^0.13.1",
"@eslint/markdown": "^7.2.0",
"@html-eslint/eslint-plugin": "^0.45.0",
"@html-eslint/parser": "^0.45.0",
"@types/node": "^24.9.1",
"chalk": "^5.6.0",
"dmd": "^7.1.1",
"eslint": "^9.33.0",
"jsdoc": "^4.0.4",
"jsdoc-to-markdown": "^9.1.2",
"jsdoc2md": "^1.0.0",
"jsonc-parser": "^3.3.1",
"prettier": "^3.3.3",
"shx": "^0.4.0",
"typescript": "^5.9.2",
"vest": "^5.4.6",
"vitest": "^3.2.4"
},
"repository": {
"type": "git",
"url": "git+https://github.com/CLDMV/slothlet.git"
},
"bugs": {
"url": "https://github.com/CLDMV/slothlet/issues"
},
"homepage": "https://github.com/CLDMV/slothlet#readme",
"publishConfig": {
"access": "public"
},
"prepack": "npm run build:ci",
"files": [
"index.mjs",
"index.cjs",
"README.md",
"LICENSE",
"types/dist/",
"types/index.d.mts",
"types/index.d.mts.map",
"dist/"
],
"sideEffects": false
}