0.2.1 • Published 5 months ago
@gaubee/node v0.2.1
@gaubee/node
This project provides further supplements related to Node.js APIs based on @gaubee/util.
How to use
Install
# pnpm
pnpm add @gaubee/node
# npm
npm install @gaubee/node
# yarn
yarn add @gaubee/node
# jsr
deno add @gaubee/node
Usage
import { cwdResolver } from "@gaubee/node/path";
console.log(cwdResolver("file.txt"));
API
env
viteEnvSource
:(): Record<string, string>
- Gets the Vite environment variable source.
nodeEnvSource
:(): Record<string, string>
- Gets the Node.js environment variable source (process.env).
denoEnvSource
:(): Record<string, string>
- Gets the Deno environment variable source.
bunEnvSource
:(): Record<string, string>
- Gets the Bun environment variable source.
storageEnvSource
:(storage?: Storage): Record<string, string>
- Gets an environment variable source based on the Storage API (e.g., sessionStorage).
autoEnvSource
:(fallback?: () => Record<string, string>): Record<string, string | undefined>
- Automatically detects and returns the environment variable source for the current environment (Deno > Bun > Vite > Node.js > sessionStorage).
defineEnv
:<P extends string, KV extends Record<string, EnvConfig>>(prefix: P, kv: KV, source?: Record<string, string | undefined>, ext?: object): DefineEnvChain<P, DefineEnv<P, KV>>
- Defines a set of environment variables, supporting type conversion, default values, and chained definitions.
path
normalizeFilePath
:(path: string | URL): string
- Formats the path to standard POSIX format, supporting URL and Windows paths.
createResolver
:(cwd: string): PathResolver
- Creates a path resolver that resolves paths relative to the specified
cwd
(current working directory). - The returned function has a
dirname
property with the value of the passedcwd
.
cwdResolver
:PathResolver
(i.e.,((...paths: string[]) => string) & {dirname: string}
)- A path resolver based on the current Node.js process's working directory (
process.cwd()
).
createResolverByRootFile
:(fromPath?: string | URL, rootFilename?: string): PathResolver
- Creates a path resolver by looking up the specified root filename (defaults to
package.json
) upwards. The resolver will resolve paths based on the directory containing that root file.
promise
nodeTimmers
:{ eventEmitter: NodeTimmer.EventEmiter }
- An extension to
timmers
in@gaubee/util
, providing Timmer related to Node.js events. nodeTimmers.eventEmitter
: A Timmer factory function for creating Timers based onnode:events/EventEmitter
for thedelay
function. It can listen for specified events and resolve the Promise when the event is triggered, with optional support for event argument filters.