Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

esbuild-plugin-pino

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

esbuild-plugin-pino - npm Package Compare versions

Comparing version 1.1.6 to 1.1.10

dist/index.mjs

600

dist/index.d.ts

@@ -1,3 +0,594 @@

import type { Plugin } from 'esbuild';
type Platform = 'browser' | 'node' | 'neutral';
type Format = 'iife' | 'cjs' | 'esm';
type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'copy' | 'default';
type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
type Charset = 'ascii' | 'utf8';
type Drop = 'console' | 'debugger';
interface CommonOptions {
/** Documentation: https://esbuild.github.io/api/#sourcemap */
sourcemap?: boolean | 'linked' | 'inline' | 'external' | 'both';
/** Documentation: https://esbuild.github.io/api/#legal-comments */
legalComments?: 'none' | 'inline' | 'eof' | 'linked' | 'external';
/** Documentation: https://esbuild.github.io/api/#source-root */
sourceRoot?: string;
/** Documentation: https://esbuild.github.io/api/#sources-content */
sourcesContent?: boolean;
/** Documentation: https://esbuild.github.io/api/#format */
format?: Format;
/** Documentation: https://esbuild.github.io/api/#globalName */
globalName?: string;
/** Documentation: https://esbuild.github.io/api/#target */
target?: string | string[];
/** Documentation: https://esbuild.github.io/api/#mangle-props */
mangleProps?: RegExp;
/** Documentation: https://esbuild.github.io/api/#mangle-props */
reserveProps?: RegExp;
/** Documentation: https://esbuild.github.io/api/#mangle-props */
mangleQuoted?: boolean;
/** Documentation: https://esbuild.github.io/api/#mangle-props */
mangleCache?: Record<string, string | false>;
/** Documentation: https://esbuild.github.io/api/#drop */
drop?: Drop[];
/** Documentation: https://esbuild.github.io/api/#minify */
minify?: boolean;
/** Documentation: https://esbuild.github.io/api/#minify */
minifyWhitespace?: boolean;
/** Documentation: https://esbuild.github.io/api/#minify */
minifyIdentifiers?: boolean;
/** Documentation: https://esbuild.github.io/api/#minify */
minifySyntax?: boolean;
/** Documentation: https://esbuild.github.io/api/#charset */
charset?: Charset;
/** Documentation: https://esbuild.github.io/api/#tree-shaking */
treeShaking?: boolean;
/** Documentation: https://esbuild.github.io/api/#ignore-annotations */
ignoreAnnotations?: boolean;
/** Documentation: https://esbuild.github.io/api/#jsx */
jsx?: 'transform' | 'preserve';
/** Documentation: https://esbuild.github.io/api/#jsx-factory */
jsxFactory?: string;
/** Documentation: https://esbuild.github.io/api/#jsx-fragment */
jsxFragment?: string;
/** Documentation: https://esbuild.github.io/api/#define */
define?: { [key: string]: string };
/** Documentation: https://esbuild.github.io/api/#pure */
pure?: string[];
/** Documentation: https://esbuild.github.io/api/#keep-names */
keepNames?: boolean;
/** Documentation: https://esbuild.github.io/api/#color */
color?: boolean;
/** Documentation: https://esbuild.github.io/api/#log-level */
logLevel?: LogLevel;
/** Documentation: https://esbuild.github.io/api/#log-limit */
logLimit?: number;
/** Documentation: https://esbuild.github.io/api/#log-override */
logOverride?: Record<string, LogLevel>;
}
interface BuildOptions extends CommonOptions {
/** Documentation: https://esbuild.github.io/api/#bundle */
bundle?: boolean;
/** Documentation: https://esbuild.github.io/api/#splitting */
splitting?: boolean;
/** Documentation: https://esbuild.github.io/api/#preserve-symlinks */
preserveSymlinks?: boolean;
/** Documentation: https://esbuild.github.io/api/#outfile */
outfile?: string;
/** Documentation: https://esbuild.github.io/api/#metafile */
metafile?: boolean;
/** Documentation: https://esbuild.github.io/api/#outdir */
outdir?: string;
/** Documentation: https://esbuild.github.io/api/#outbase */
outbase?: string;
/** Documentation: https://esbuild.github.io/api/#platform */
platform?: Platform;
/** Documentation: https://esbuild.github.io/api/#external */
external?: string[];
/** Documentation: https://esbuild.github.io/api/#loader */
loader?: { [ext: string]: Loader };
/** Documentation: https://esbuild.github.io/api/#resolve-extensions */
resolveExtensions?: string[];
/** Documentation: https://esbuild.github.io/api/#mainFields */
mainFields?: string[];
/** Documentation: https://esbuild.github.io/api/#conditions */
conditions?: string[];
/** Documentation: https://esbuild.github.io/api/#write */
write?: boolean;
/** Documentation: https://esbuild.github.io/api/#allow-overwrite */
allowOverwrite?: boolean;
/** Documentation: https://esbuild.github.io/api/#tsconfig */
tsconfig?: string;
/** Documentation: https://esbuild.github.io/api/#out-extension */
outExtension?: { [ext: string]: string };
/** Documentation: https://esbuild.github.io/api/#public-path */
publicPath?: string;
/** Documentation: https://esbuild.github.io/api/#entry-names */
entryNames?: string;
/** Documentation: https://esbuild.github.io/api/#chunk-names */
chunkNames?: string;
/** Documentation: https://esbuild.github.io/api/#asset-names */
assetNames?: string;
/** Documentation: https://esbuild.github.io/api/#inject */
inject?: string[];
/** Documentation: https://esbuild.github.io/api/#banner */
banner?: { [type: string]: string };
/** Documentation: https://esbuild.github.io/api/#footer */
footer?: { [type: string]: string };
/** Documentation: https://esbuild.github.io/api/#incremental */
incremental?: boolean;
/** Documentation: https://esbuild.github.io/api/#entry-points */
entryPoints?: string[] | Record<string, string>;
/** Documentation: https://esbuild.github.io/api/#stdin */
stdin?: StdinOptions;
/** Documentation: https://esbuild.github.io/plugins/ */
plugins?: Plugin[];
/** Documentation: https://esbuild.github.io/api/#working-directory */
absWorkingDir?: string;
/** Documentation: https://esbuild.github.io/api/#node-paths */
nodePaths?: string[]; // The "NODE_PATH" variable from Node.js
/** Documentation: https://esbuild.github.io/api/#watch */
watch?: boolean | WatchMode;
}
interface WatchMode {
onRebuild?: (error: BuildFailure | null, result: BuildResult | null) => void;
}
interface StdinOptions {
contents: string;
resolveDir?: string;
sourcefile?: string;
loader?: Loader;
}
interface Message {
id: string;
pluginName: string;
text: string;
location: Location | null;
notes: Note[];
/**
* Optional user-specified data that is passed through unmodified. You can
* use this to stash the original error, for example.
*/
detail: any;
}
interface Note {
text: string;
location: Location | null;
}
interface Location {
file: string;
namespace: string;
/** 1-based */
line: number;
/** 0-based, in bytes */
column: number;
/** in bytes */
length: number;
lineText: string;
suggestion: string;
}
interface OutputFile {
path: string;
/** "text" as bytes */
contents: Uint8Array;
/** "contents" as text */
text: string;
}
interface BuildInvalidate {
(): Promise<BuildIncremental>;
dispose(): void;
}
interface BuildIncremental extends BuildResult {
rebuild: BuildInvalidate;
}
interface BuildResult {
errors: Message[];
warnings: Message[];
/** Only when "write: false" */
outputFiles?: OutputFile[];
/** Only when "incremental: true" */
rebuild?: BuildInvalidate;
/** Only when "watch: true" */
stop?: () => void;
/** Only when "metafile: true" */
metafile?: Metafile;
/** Only when "mangleCache" is present */
mangleCache?: Record<string, string | false>;
}
interface BuildFailure extends Error {
errors: Message[];
warnings: Message[];
}
/** Documentation: https://esbuild.github.io/api/#serve-arguments */
interface ServeOptions {
port?: number;
host?: string;
servedir?: string;
onRequest?: (args: ServeOnRequestArgs) => void;
}
interface ServeOnRequestArgs {
remoteAddress: string;
method: string;
path: string;
status: number;
/** The time to generate the response, not to send it */
timeInMS: number;
}
/** Documentation: https://esbuild.github.io/api/#serve-return-values */
interface ServeResult {
port: number;
host: string;
wait: Promise<void>;
stop: () => void;
}
interface TransformOptions extends CommonOptions {
tsconfigRaw?: string | {
compilerOptions?: {
jsxFactory?: string,
jsxFragmentFactory?: string,
useDefineForClassFields?: boolean,
importsNotUsedAsValues?: 'remove' | 'preserve' | 'error',
preserveValueImports?: boolean,
},
};
sourcefile?: string;
loader?: Loader;
banner?: string;
footer?: string;
}
interface TransformResult {
code: string;
map: string;
warnings: Message[];
/** Only when "mangleCache" is present */
mangleCache?: Record<string, string | false>;
}
interface Plugin {
name: string;
setup: (build: PluginBuild) => (void | Promise<void>);
}
interface PluginBuild {
initialOptions: BuildOptions;
resolve(path: string, options?: ResolveOptions): Promise<ResolveResult>;
onStart(callback: () =>
(OnStartResult | null | void | Promise<OnStartResult | null | void>)): void;
onEnd(callback: (result: BuildResult) =>
(void | Promise<void>)): void;
onResolve(options: OnResolveOptions, callback: (args: OnResolveArgs) =>
(OnResolveResult | null | undefined | Promise<OnResolveResult | null | undefined>)): void;
onLoad(options: OnLoadOptions, callback: (args: OnLoadArgs) =>
(OnLoadResult | null | undefined | Promise<OnLoadResult | null | undefined>)): void;
// This is a full copy of the esbuild library in case you need it
esbuild: {
serve: typeof serve,
build: typeof build,
buildSync: typeof buildSync,
transform: typeof transform,
transformSync: typeof transformSync,
formatMessages: typeof formatMessages,
formatMessagesSync: typeof formatMessagesSync,
analyzeMetafile: typeof analyzeMetafile,
analyzeMetafileSync: typeof analyzeMetafileSync,
initialize: typeof initialize,
version: typeof version,
};
}
interface ResolveOptions {
pluginName?: string;
importer?: string;
namespace?: string;
resolveDir?: string;
kind?: ImportKind;
pluginData?: any;
}
interface ResolveResult {
errors: Message[];
warnings: Message[];
path: string;
external: boolean;
sideEffects: boolean;
namespace: string;
suffix: string;
pluginData: any;
}
interface OnStartResult {
errors?: PartialMessage[];
warnings?: PartialMessage[];
}
interface OnResolveOptions {
filter: RegExp;
namespace?: string;
}
interface OnResolveArgs {
path: string;
importer: string;
namespace: string;
resolveDir: string;
kind: ImportKind;
pluginData: any;
}
type ImportKind =
| 'entry-point'
// JS
| 'import-statement'
| 'require-call'
| 'dynamic-import'
| 'require-resolve'
// CSS
| 'import-rule'
| 'url-token'
interface OnResolveResult {
pluginName?: string;
errors?: PartialMessage[];
warnings?: PartialMessage[];
path?: string;
external?: boolean;
sideEffects?: boolean;
namespace?: string;
suffix?: string;
pluginData?: any;
watchFiles?: string[];
watchDirs?: string[];
}
interface OnLoadOptions {
filter: RegExp;
namespace?: string;
}
interface OnLoadArgs {
path: string;
namespace: string;
suffix: string;
pluginData: any;
}
interface OnLoadResult {
pluginName?: string;
errors?: PartialMessage[];
warnings?: PartialMessage[];
contents?: string | Uint8Array;
resolveDir?: string;
loader?: Loader;
pluginData?: any;
watchFiles?: string[];
watchDirs?: string[];
}
interface PartialMessage {
id?: string;
pluginName?: string;
text?: string;
location?: Partial<Location> | null;
notes?: PartialNote[];
detail?: any;
}
interface PartialNote {
text?: string;
location?: Partial<Location> | null;
}
interface Metafile {
inputs: {
[path: string]: {
bytes: number
imports: {
path: string
kind: ImportKind
}[]
}
}
outputs: {
[path: string]: {
bytes: number
inputs: {
[path: string]: {
bytesInOutput: number
}
}
imports: {
path: string
kind: ImportKind
}[]
exports: string[]
entryPoint?: string
}
}
}
interface FormatMessagesOptions {
kind: 'error' | 'warning';
color?: boolean;
terminalWidth?: number;
}
interface AnalyzeMetafileOptions {
color?: boolean;
verbose?: boolean;
}
/**
* This function invokes the "esbuild" command-line tool for you. It returns a
* promise that either resolves with a "BuildResult" object or rejects with a
* "BuildFailure" object.
*
* - Works in node: yes
* - Works in browser: yes
*
* Documentation: https://esbuild.github.io/api/#build-api
*/
declare function build(options: BuildOptions & { write: false }): Promise<BuildResult & { outputFiles: OutputFile[] }>;
declare function build(options: BuildOptions & { incremental: true, metafile: true }): Promise<BuildIncremental & { metafile: Metafile }>;
declare function build(options: BuildOptions & { incremental: true }): Promise<BuildIncremental>;
declare function build(options: BuildOptions & { metafile: true }): Promise<BuildResult & { metafile: Metafile }>;
declare function build(options: BuildOptions): Promise<BuildResult>;
/**
* This function is similar to "build" but it serves the resulting files over
* HTTP on a localhost address with the specified port.
*
* - Works in node: yes
* - Works in browser: no
*
* Documentation: https://esbuild.github.io/api/#serve
*/
declare function serve(serveOptions: ServeOptions, buildOptions: BuildOptions): Promise<ServeResult>;
/**
* This function transforms a single JavaScript file. It can be used to minify
* JavaScript, convert TypeScript/JSX to JavaScript, or convert newer JavaScript
* to older JavaScript. It returns a promise that is either resolved with a
* "TransformResult" object or rejected with a "TransformFailure" object.
*
* - Works in node: yes
* - Works in browser: yes
*
* Documentation: https://esbuild.github.io/api/#transform-api
*/
declare function transform(input: string, options?: TransformOptions): Promise<TransformResult>;
/**
* Converts log messages to formatted message strings suitable for printing in
* the terminal. This allows you to reuse the built-in behavior of esbuild's
* log message formatter. This is a batch-oriented API for efficiency.
*
* - Works in node: yes
* - Works in browser: yes
*/
declare function formatMessages(messages: PartialMessage[], options: FormatMessagesOptions): Promise<string[]>;
/**
* Pretty-prints an analysis of the metafile JSON to a string. This is just for
* convenience to be able to match esbuild's pretty-printing exactly. If you want
* to customize it, you can just inspect the data in the metafile yourself.
*
* - Works in node: yes
* - Works in browser: yes
*
* Documentation: https://esbuild.github.io/api/#analyze
*/
declare function analyzeMetafile(metafile: Metafile | string, options?: AnalyzeMetafileOptions): Promise<string>;
/**
* A synchronous version of "build".
*
* - Works in node: yes
* - Works in browser: no
*
* Documentation: https://esbuild.github.io/api/#build-api
*/
declare function buildSync(options: BuildOptions & { write: false }): BuildResult & { outputFiles: OutputFile[] };
declare function buildSync(options: BuildOptions): BuildResult;
/**
* A synchronous version of "transform".
*
* - Works in node: yes
* - Works in browser: no
*
* Documentation: https://esbuild.github.io/api/#transform-api
*/
declare function transformSync(input: string, options?: TransformOptions): TransformResult;
/**
* A synchronous version of "formatMessages".
*
* - Works in node: yes
* - Works in browser: no
*/
declare function formatMessagesSync(messages: PartialMessage[], options: FormatMessagesOptions): string[];
/**
* A synchronous version of "analyzeMetafile".
*
* - Works in node: yes
* - Works in browser: no
*
* Documentation: https://esbuild.github.io/api/#analyze
*/
declare function analyzeMetafileSync(metafile: Metafile | string, options?: AnalyzeMetafileOptions): string;
/**
* This configures the browser-based version of esbuild. It is necessary to
* call this first and wait for the returned promise to be resolved before
* making other API calls when using esbuild in the browser.
*
* - Works in node: yes
* - Works in browser: yes ("options" is required)
*
* Documentation: https://esbuild.github.io/api/#running-in-the-browser
*/
declare function initialize(options: InitializeOptions): Promise<void>;
interface InitializeOptions {
/**
* The URL of the "esbuild.wasm" file. This must be provided when running
* esbuild in the browser.
*/
wasmURL?: string
/**
* The result of calling "new WebAssembly.Module(buffer)" where "buffer"
* is a typed array or ArrayBuffer containing the binary code of the
* "esbuild.wasm" file.
*
* You can use this as an alternative to "wasmURL" for environments where it's
* not possible to download the WebAssembly module.
*/
wasmModule?: WebAssembly.Module
/**
* By default esbuild runs the WebAssembly-based browser API in a web worker
* to avoid blocking the UI thread. This can be disabled by setting "worker"
* to false.
*/
worker?: boolean
}
declare let version: string;
/**
* A pino plugin for esbuild

@@ -33,5 +624,6 @@ * @example

*/
declare const _default: ({ transports }: {
declare function esbuildPluginPino({ transports }: {
transports: string[];
}) => Plugin;
export = _default;
}): Plugin;
export { esbuildPluginPino as default };

153

dist/index.js

@@ -1,54 +0,77 @@

"use strict";
const path_1 = require("path");
const promises_1 = require("fs/promises");
module.exports = function esbuildPluginPino({ transports }) {
return {
name: 'pino',
setup(currentBuild) {
const pino = (0, path_1.dirname)(require.resolve('pino'));
const threadStream = (0, path_1.dirname)(require.resolve('thread-stream'));
let entrypoints = currentBuild.initialOptions.entryPoints;
if (Array.isArray(entrypoints)) {
let outbase = currentBuild.initialOptions.outbase;
if (!outbase) {
const hierarchy = entrypoints[0].split(path_1.sep);
let i = 0;
outbase = '';
let nextOutbase = '';
do {
outbase = nextOutbase;
i++;
nextOutbase = hierarchy.slice(0, i).join(path_1.sep);
} while (entrypoints.every((e) => e.startsWith(`${nextOutbase}${path_1.sep}`)));
}
const newEntrypoints = {};
for (const entrypoint of entrypoints) {
const destination = (outbase ? entrypoint.replace(`${outbase}${path_1.sep}`, '') : entrypoint).replace(/.(js|ts)$/, '');
newEntrypoints[destination] = entrypoint;
}
entrypoints = newEntrypoints;
}
const customEntrypoints = {
'thread-stream-worker': (0, path_1.join)(threadStream, 'lib/worker.js'),
'pino-worker': (0, path_1.join)(pino, 'lib/worker.js'),
'pino-pipeline-worker': (0, path_1.join)(pino, 'lib/worker-pipeline.js'),
'pino-file': (0, path_1.join)(pino, 'file.js')
};
const transportsEntrypoints = Object.fromEntries((transports || []).map((t) => [t, require.resolve(t)]));
currentBuild.initialOptions.entryPoints = {
...entrypoints,
...customEntrypoints,
...transportsEntrypoints
};
let pinoBundlerRan = false;
currentBuild.onEnd(() => {
pinoBundlerRan = false;
});
currentBuild.onLoad({ filter: /pino\.js$/ }, async (args) => {
if (pinoBundlerRan)
return;
pinoBundlerRan = true;
const contents = await (0, promises_1.readFile)(args.path, 'utf8');
const absoluteOutputPath = (0, path_1.join)((0, path_1.resolve)('./'), currentBuild.initialOptions.outdir || 'dist');
const functionDeclaration = `
'use strict';
var module$1 = require('module');
var path = require('path');
var promises = require('fs/promises');
var require$1 = (
false
? /* @__PURE__ */ module$1.createRequire((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.js', document.baseURI).href)))
: require
);
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
function esbuildPluginPino({
transports
}) {
return {
name: "pino",
setup(currentBuild) {
const pino = path.dirname(require$1.resolve("pino"));
const threadStream = path.dirname(require$1.resolve("thread-stream"));
let entrypoints = currentBuild.initialOptions.entryPoints;
if (Array.isArray(entrypoints)) {
let outbase = currentBuild.initialOptions.outbase;
if (!outbase) {
const hierarchy = entrypoints[0].split(path.sep);
let i = 0;
outbase = "";
let nextOutbase = "";
do {
outbase = nextOutbase;
i++;
nextOutbase = hierarchy.slice(0, i).join(path.sep);
} while (entrypoints.every((e) => e.startsWith(`${nextOutbase}${path.sep}`)));
}
const newEntrypoints = {};
for (const entrypoint of entrypoints) {
const destination = (outbase ? entrypoint.replace(`${outbase}${path.sep}`, "") : entrypoint).replace(/.(js|ts)$/, "");
newEntrypoints[destination] = entrypoint;
}
entrypoints = newEntrypoints;
}
const customEntrypoints = {
"thread-stream-worker": path.join(threadStream, "lib/worker.js"),
"pino-worker": path.join(pino, "lib/worker.js"),
"pino-pipeline-worker": path.join(pino, "lib/worker-pipeline.js"),
"pino-file": path.join(pino, "file.js")
};
const transportsEntrypoints = Object.fromEntries((transports || []).map((t) => [t, require$1.resolve(t)]));
currentBuild.initialOptions.entryPoints = __spreadValues(__spreadValues(__spreadValues({}, entrypoints), customEntrypoints), transportsEntrypoints);
let pinoBundlerRan = false;
currentBuild.onEnd(() => {
pinoBundlerRan = false;
});
currentBuild.onLoad({ filter: /pino\.js$/ }, async (args) => {
if (pinoBundlerRan)
return;
pinoBundlerRan = true;
const contents = await promises.readFile(args.path, "utf8");
const absoluteOutputPath = path.join(path.resolve("./"), currentBuild.initialOptions.outdir || "dist");
const functionDeclaration = `
function pinoBundlerAbsolutePath(p) {

@@ -63,6 +86,4 @@ try {

`;
const pinoOverrides = Object.keys(customEntrypoints)
.map((id) => `'${id === 'pino-file' ? 'pino/file' : id}': pinoBundlerAbsolutePath('./${id}.js')`)
.join(',');
const globalThisDeclaration = `
const pinoOverrides = Object.keys(customEntrypoints).map((id) => `'${id === "pino-file" ? "pino/file" : id}': pinoBundlerAbsolutePath('./${id}.js')`).join(",");
const globalThisDeclaration = `
globalThis.__bundlerPathsOverrides =

@@ -73,9 +94,11 @@ globalThis.__bundlerPathsOverrides

`;
const code = functionDeclaration + globalThisDeclaration;
return {
contents: code + contents
};
});
}
};
};
const code = functionDeclaration + globalThisDeclaration;
return {
contents: code + contents
};
});
}
};
}
module.exports = esbuildPluginPino;
{
"name": "esbuild-plugin-pino",
"version": "1.1.6",
"version": "1.1.10",
"description": "An esbuild plugin to generate extra pino files for bundling",
"main": "dist/index.js",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
"require": "./dist/index.js",
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
},
"repository": "https://github.com/davipon/esbuild-plugin-pino",
"bugs": "https://github.com/davipon/esbuild-plugin-pino/issues",
"scripts": {
"prepare": "husky install",
"build": "tsc",
"test": "rm -rf dist && tsc && vitest run",
"format": "prettier --write .",
"lint": "prettier --check . && eslint .",
"cz": "cz",
"release": "standard-version --no-verify",
"release:patch": "standard-version --no-verify --release-as patch"
},
"keywords": [

@@ -23,3 +19,4 @@ "pino",

"esbuild-plugin",
"pino-plugin"
"pino-transport",
"bundling"
],

@@ -50,2 +47,3 @@ "author": "David Peng <davipondev@gmail.com>",

"pino-pretty": "^8.0.0",
"pkgroll": "^1.3.1",
"prettier": "^2.7.1",

@@ -57,3 +55,12 @@ "standard-version": "^9.5.0",

"vitest": "^0.15.1"
},
"scripts": {
"build": "pkgroll",
"test": "rm -rf dist && pkgroll && vitest run",
"format": "prettier --write .",
"lint": "prettier --check . && eslint .",
"cz": "cz",
"release": "standard-version --no-verify",
"release:patch": "standard-version --no-verify --release-as patch"
}
}
}
# esbuild-plugin-pino
[![NPM version](https://img.shields.io/npm/v/esbuild-plugin-pino?logo=NPM)](https://www.npmjs.com/package/esbuild-plugin-pino)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
![npm bundle size](https://img.shields.io/bundlephobia/min/esbuild-plugin-pino)
![dep](https://img.shields.io/librariesio/github/davipon/esbuild-plugin-pino)
![CI](https://github.com/davipon/esbuild-plugin-pino/actions/workflows/ci.yml/badge.svg)
![Release](https://github.com/davipon/esbuild-plugin-pino/actions/workflows/release.yml/badge.svg)
![license](https://img.shields.io/github/license/davipon/esbuild-plugin-pino)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

@@ -32,5 +35,2 @@ An esbuild plugin to generate extra pino files for bundling

> Reference: [Pino Bundling](https://github.com/pinojs/pino/blob/master/docs/bundling.md)
> Inspired by [pino-esbuild.js](https://gist.github.com/ShogunPanda/752cce88659a09bff827ef8d2ecf8c80#gistcomment-4199018)
## Usage

@@ -66,1 +66,6 @@

```
## Credits
- Reference: [Pino Bundling](https://github.com/pinojs/pino/blob/master/docs/bundling.md)
- Inspired by [pino-esbuild.js](https://gist.github.com/ShogunPanda/752cce88659a09bff827ef8d2ecf8c80#gistcomment-4199018) and kudos to [@ShogunPanda](https://github.com/ShogunPanda) & [@scorsi](https://github.com/scorsi)
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