@sa-frontend/bundling

2.10.0 • Public • Published

@sa-frontend/bunding

Подключение сборки

Файл compiler/compile.js

  • Генерация d.ts для css, svg, png, binary:
function generateAllDeclarations(folders: Array<string>): Promise<void>;  

function generateCSSDeclarations(folders: Array<string>): Promise<void>;
function generateSVGDeclarations(folders: Array<string>): Promise<void>; 
function generatePNGDeclarations(folders: Array<string>): Promise<void>;  
function generateBINDeclarations(folders: Array<string>): Promise<void>;  
  • start, build:
function start(
  config: webpack.Configuration,
  params: Params,
  middlewares: Array<fastifyMiddie.Handler>
): Promise<webpack.Compiler>;

function build(
  config: webpack.Configuration,
  params: Params
): Promise<void>;

interface Params {
  rootDirectory: string; // Корневая директория проекта
  directories?: {
    source?: string; // default: './src'
    htmlFile?: string // default: directories.source + '/presentation'
    assets?: string; // default: 'assets'
    development?: string; // default: './tmp'
    production?: string; // default: './build'
  }; // Набор директорий для сборки проекта
  port?: number; // Порт для webpack dev server, без порта - watch + сборка в папку
  copyPatterns?: Array<{ from: string; to: string }>; // Паттерны для CopyWebpackPlugin
  isHTML?: boolean; // Использовать HTMLWebpackPlugin; default: true
  isSourceMap?: boolean; // Использовать souce-map в development; default: true
  isCleanDirectory?: boolean; // Очистить директорию перед сборкой; default: true
  isAnalyzeBundle?: boolean // Проанализировать bundle; default: true
  analyzeStatsFilename?: string; // Название файла с результатами анализа; default: 'stats.json'
  postcssGlobalDataFiles?: Array<string>; // Пути к файлам с глобальными переменными для postcss
  isServiceWorker?: boolean // Использовать service worker; default: false
  tsConfigOverwrite?: ForkTsCheckerWebpackPlugin.TypeScriptConfigOverwrite // Переписать tsconfig, default: {}
  aliases?: Record<string, string> // Алиасы, default: { '@': directories.source }
};
  • electron:
function electron(compileParams: CompileParams): Promise<void>;

type CompileParams {
  appName: string;
  rootDirectory: string;
  serverDirectories?: {
    source?: string; // default: './main'
    production?: string; // default: './app'
  };
  serverConfig?: () => webpack.config; // default () => ({})
  clientDirectories?: {
    source?: string; // default: './src'
    production?: string; // default: './app/frontend'
  };
  clientConfig?: () => webpack.config; // default () => ({})
  clientParams?: Partial<Params>; // default {}
  devMiddlewares?: ((server: Fastify.Server) => void)[] // default [ devMiddleware ]
};

Readme

Keywords

none

Package Sidebar

Install

npm i @sa-frontend/bundling

Weekly Downloads

1,458

Version

2.10.0

License

none

Unpacked Size

37.6 kB

Total Files

34

Last publish

Collaborators

  • web-sa