Socket
Book a DemoInstallSign in
Socket

@lad-tech/nsc-fast-install

Package Overview
Dependencies
Maintainers
4
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lad-tech/nsc-fast-install

Fast dependencies install for builds docker images of monorepo

latest
npmnpm
Version
1.16.3
Version published
Maintainers
4
Created
Source

📦 @lad-tech/nsc-fast-install

NPM

⚡️ Быстрая установка только нужных зависимостей при сборке микросервисов из большого моно-репозитория

❓ Зачем это нужно

В монорепозиториях:

  • Все зависимости обычно указываются в корневом package.json;
  • У сервисов нет своих node_modules;
  • Это удобно для разработки, но неэффективно для сборки контейнеров.

🔥 Проблема

При COPY node_modules в Docker попадают все зависимости, даже если сервис использует только малую часть.

📦 Это:

  • Увеличивает размер образов;
  • Замедляет сборку;
  • Усложняет отслеживание неиспользуемых пакетов.

💡 Решение

nsc-fast-install:

  • Работает после сборки TS → JS;
  • Анализирует start.js и все require()/import;
  • Выявляет реально используемые зависимости;
  • Копирует только нужные пакеты в dist/node_modules.

🚀 Установка

npm i @lad-tech/nsc-fast-install -D

🛠 Использование

# указываем точку входа
npx nsc-fast-install --entryPoint services/AuthService/start.ts

# или указываем папку сервиса (ищет main из package.json)
npx nsc-fast-install --service services/AuthService

📌 Пояснение про entryPoint и main

СпособКак работает
--entryPointПуть до исходного TS-файла (start.ts)
--serviceУказывает папку, внутри которой будет найдён main в package.json
mainДолжен вести на dist/.../start.jsсобранный JS-файл, не .ts
❗️ВажноАнализ производится по JS, а не по TypeScript-коду

Пример:

// services/AuthService/package.json
{
  "main": "dist/AuthService/start.js"
}

⚠️ Возможные дефекты

  • Вы указали .ts, но не собрали проект

    Ошибка: outDir не найден или start.js не существует

    ✅ Решение: выполните tsc или npm run build перед вызовом

  • main отсутствует или указывает на несуществующий файл

    ✅ Решение: добавьте main в package.json сервиса или используйте --entryPoint

  • Некорректные импорты (например, с ошибками в RegExp)

    ✅ Убедитесь, что транспиляция прошла успешно и код валиден (analyze выполняется Babel'ом)

🔧 Опции CLI

ФлагТипОписание
--entryPointstringПуть до start.ts
--servicestringПуть до папки сервиса
--outputstringПапка назначения node_modules (по умолчанию — dist/)
--excludestringИсключить сервисы, через ,
--tsconfigstringИмя tsconfig.json
--verbosebooleanРасширенный лог
--dryRunbooleanНе копировать, только показать

Keywords

@lad-tech/nsc-fast-install

FAQs

Package last updated on 10 Jul 2025

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