esm fuckery

This commit is contained in:
Code 2025-01-23 18:24:22 +01:00
parent bc4dce8a4b
commit 92ad7a45ba
49 changed files with 1039 additions and 35 deletions

View File

@ -2,7 +2,7 @@ import * as path from 'path';
// import * as isGlob from 'is-glob'
// import * as fg from 'fast-glob'
import { glob, globSync, hasMagic } from 'glob';
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants.js";
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants";
import { sync as exists } from '@polymech/fs/exists';
export const files = (cwd, glob, options) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });
export const filesEx = (cwd, glob, options) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });

View File

@ -1 +1 @@
{"version":3,"file":"_glob.js","sourceRoot":"","sources":["../src/_glob.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"_glob.js","sourceRoot":"","sources":["../src/_glob.ts"],"names":[],"mappings":"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"}

View File

@ -13,7 +13,7 @@ export interface IProfile {
};
}
export declare const resolveConfig: (config: any) => any;
export declare const parseProfile: (profilePath: string, profile: IProfile, options?: {
export declare const parse: (profilePath: string, profile: IProfile, options?: {
env: string;
}, rel?: string) => IProfile;
export {};

View File

@ -1,8 +1,8 @@
import * as path from 'path';
import { REGEX_VAR } from "@polymech/core/constants.js";
import { REGEX_VAR } from "@polymech/core/constants";
import { sync as read } from '@polymech/fs/read';
import { sync as exists } from '@polymech/fs/exists';
import { isString } from '@polymech/core/types.js';
import { isString } from '@polymech/core/types';
import { resolve, substitute } from './variables.js';
const _resolve = (config) => {
for (const key in config) {
@ -19,7 +19,7 @@ export const resolveConfig = (config) => {
config = _resolve(config);
return config;
};
export const parseProfile = (profilePath, profile, options = { env: 'default' }, rel) => {
export const parse = (profilePath, profile, options = { env: 'default' }, rel) => {
profilePath = path.resolve(resolve(profilePath, false, profile.variables));
if (!exists(profilePath)) {
return;

View File

@ -1 +1 @@
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE;IACxB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACtB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;YACvD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;SACzB;KACJ;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA;AACD,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE;IACpC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzB,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,WAAmB,EAAE,OAAiB,EAAE,UAA2B,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,GAAY,EAAE,EAAE;IACzH,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1E,IAAI,CAAC,MAAM,CAAC,WAAqB,CAAC,EAAE;QAChC,OAAM;KACT;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAqB,EAAE,MAAM,CAAQ,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAc,CAAA;IAE1G,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC3C,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAA;IAE7C,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAChG,OAAO,CAAC,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,QAAQ,CAAC,QAAQ;YACpB,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ;SACxC,CAAA;KACJ;SAAM;QACH,OAAO,CAAC,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,QAAQ,CAAC,QAAQ;SACvB,CAAA;KACJ;IACD,IAAI,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE;QACjG,OAAO,CAAC,SAAS,GAAG;YAChB,GAAG,OAAO,CAAC,SAAS;YACpB,GAAG,QAAQ,CAAC,SAAS;YACrB,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS;SACzC,CAAA;KACJ;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACjC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;SACtF;KACJ;IAED,OAAO,CAAC,SAAS,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,CAAA;IAClH,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YAChC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;SACpF;KACJ;IACD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,QAAQ,GAAG;QACf,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;aACrC;YACD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;YAC9C,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7D,OAAO,GAAG,CAAA;QACd,CAAC,CAAC;KAAC,CAAA;IAEP,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACnD,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,EAAE,CAAC,CAAA;IACnB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IACxD,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import { z } from 'zod';
import * as path from 'path';
import { accessSync, constants, lstatSync, existsSync } from 'fs';
import { isString } from '@polymech/core/primitives.js';
import { isString } from '@polymech/core/primitives';
import { logger } from '@/logger.js';
import { sync as exists } from '@polymech/fs/exists';
import { sync as read } from '@polymech/fs/read';

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants.js";
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants";
import { DEFAULT_ROOTS } from './config.js';
export const DATE_VARS = () => {
return {

View File

@ -1 +1 @@
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,OAAO;QACH,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QACxC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;QACvC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;QAClC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE;KACxC,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAwB,EAAE,OAAgB,IAAI,EAAE,MAAe,KAAK,EAAE,EAAE;IAC1G,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC5E,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACV,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;SACxC;aAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE;YACpC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;SAC3D;aAAM,IAAI,IAAI,EAAE;YACb,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;SAC1B;aAAM;YACH,OAAO,EAAE,CAAA;SACZ;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,QAAgB,EAAE,OAA4B,EAAE,EAAE,OAAgB,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;AACzM,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAS,EAAE,EAAE;IACtC,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,SAAS,EAAE;QACd,GAAG,IAAI;KACV,CAAA;AACL,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,MAAe,KAAK,EAAE,OAA+B,EAAE,EAAE,EAAE,CACvG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,MAAe,KAAK,EAAE,OAA+B,EAAE,EAAE,EAAE,CAC9F,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA"}
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,OAAO;QACH,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QACxC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;QACvC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;QAClC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnC,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE;KACxC,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAwB,EAAE,OAAgB,IAAI,EAAE,MAAe,KAAK,EAAE,EAAE;IAC1G,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC5E,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACV,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;SACxC;aAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE;YACpC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;SAC3D;aAAM,IAAI,IAAI,EAAE;YACb,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;SAC1B;aAAM;YACH,OAAO,EAAE,CAAA;SACZ;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,QAAgB,EAAE,OAA4B,EAAE,EAAE,OAAgB,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;AACzM,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAS,EAAE,EAAE;IACtC,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,SAAS,EAAE;QACd,GAAG,IAAI;KACV,CAAA;AACL,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,MAAe,KAAK,EAAE,OAA+B,EAAE,EAAE,EAAE,CACvG,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,MAAe,KAAK,EAAE,OAA+B,EAAE,EAAE,EAAE,CAC9F,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA"}

View File

@ -26,6 +26,10 @@
"./config": {
"import": "./dist/config.js",
"require": "./dist/config.cjs"
},
"./profile": {
"import": "./dist/profile.js",
"require": "./dist/profile.cjs"
}
},
"licenses": [
@ -34,7 +38,6 @@
"url": "https://git.osr-plastic.org/osr-plastic/osr-core/blob/master/LICENSE"
}
],
"main": "dist/index.js",
"repository": {
"type": "git",
@ -42,8 +45,8 @@
},
"types": "index.d.ts",
"dependencies": {
"@polymech/core": "workspace:*",
"@polymech/fs": "workspace:*",
"@polymech/core": "link:..\\core",
"@polymech/fs": "link:..\\fs",
"env-var": "^7.5.0",
"glob": "^10.4.1",
"tslog": "^3.3.3",

View File

@ -2,7 +2,7 @@ import * as path from 'path'
// import * as isGlob from 'is-glob'
// import * as fg from 'fast-glob'
import { glob, globSync, GlobOptions, hasMagic } from 'glob'
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants.js"
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants"
import { sync as exists } from '@polymech/fs/exists'
export const files = (cwd, glob, options?: any) => globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} }) as []

View File

@ -1,8 +1,9 @@
import * as path from 'path'
import { REGEX_VAR } from "@polymech/core/constants.js"
import { REGEX_VAR } from "@polymech/core/constants"
import { sync as read } from '@polymech/fs/read'
import { sync as exists } from '@polymech/fs/exists'
import { isString } from '@polymech/core/types.js'
import { isString } from '@polymech/core/types'
import { resolve, substitute } from './variables.js'
interface EnvVariables {
@ -38,7 +39,7 @@ export const resolveConfig = (config) => {
config = _resolve(config)
return config
}
export const parseProfile = (profilePath: string, profile: IProfile, options: { env: string } = { env: 'default' }, rel?: string) => {
export const parse = (profilePath: string, profile: IProfile, options: { env: string } = { env: 'default' }, rel?: string) => {
profilePath = path.resolve(resolve(profilePath, false, profile.variables))
if (!exists(profilePath as string)) {
return

View File

@ -2,7 +2,7 @@ import { z, ZodTypeAny } from 'zod'
import * as path from 'path'
import { accessSync, constants, lstatSync, existsSync } from 'fs'
import { isString } from '@polymech/core/primitives.js'
import { isString } from '@polymech/core/primitives'
import { logger } from '@/logger.js'

View File

@ -1,4 +1,5 @@
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants.js"
import { REGEX_VAR, REGEX_VAR_ALT } from "@polymech/core/constants"
import { DEFAULT_ROOTS } from './config.js'
export const DATE_VARS = () => {

View File

@ -10,3 +10,4 @@ export type IObjectLiteral = Record<string, any>;
export type JSONPathExpression = string;
export declare const resolveConfig: (config: any) => any;
export { substitute } from './strings.js';
export * from './constants.js';

View File

@ -14,4 +14,5 @@ export const resolveConfig = (config) => {
return config;
};
export { substitute } from './strings.js';
export * from './constants.js';
//# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAgBzC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE;IAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE;YACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE;IACtC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAgBzC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE;IAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;QACxB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE;YACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE;IACtC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,cAAc,gBAAgB,CAAA"}

View File

@ -13,23 +13,27 @@
}
],
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"./iterator": {
"import": "./dist/iterator.js",
"require": "./dist/iterator.cjs"
},
"./strings.js": {
"./strings": {
"import": "./dist/strings.js",
"require": "./dist/strings.js"
},
"./primitives.js": {
"./primitives": {
"import": "./dist/primitives.js",
"require": "./dist/primitives.js"
},
"./types.js": {
"./types": {
"import": "./dist/types.js",
"require": "./dist/types.js"
},
"./constants.js": {
"./constants": {
"import": "./dist/constants.js",
"require": "./dist/constants.js"
}

View File

@ -30,4 +30,4 @@ export const resolveConfig = (config) => {
}
export { substitute } from './strings.js'
export * from './constants.js'

6
packages/fs/dist/errno.d.ts vendored Normal file
View File

@ -0,0 +1,6 @@
export declare const errno: {
errno: number;
code: string;
description: string;
}[];
export declare const code: {};

306
packages/fs/dist/errno.js vendored Normal file
View File

@ -0,0 +1,306 @@
export const errno = [
{
errno: -2,
code: 'ENOENT',
description: 'no such file or directory'
},
{
errno: -1,
code: 'UNKNOWN',
description: 'unknown error'
},
{
errno: 0,
code: 'OK',
description: 'success'
},
{
errno: 1,
code: 'EOF',
description: 'end of file'
},
{
errno: 2,
code: 'EADDRINFO',
description: 'getaddrinfo error'
},
{
errno: 3,
code: 'EACCES',
description: 'permission denied'
},
{
errno: 4,
code: 'EAGAIN',
description: 'resource temporarily unavailable'
},
{
errno: 5,
code: 'EADDRINUSE',
description: 'address already in use'
},
{
errno: 6,
code: 'EADDRNOTAVAIL',
description: 'address not available'
},
{
errno: 7,
code: 'EAFNOSUPPORT',
description: 'address family not supported'
},
{
errno: 8,
code: 'EALREADY',
description: 'connection already in progress'
},
{
errno: 9,
code: 'EBADF',
description: 'bad file descriptor'
},
{
errno: 10,
code: 'EBUSY',
description: 'resource busy or locked'
},
{
errno: 11,
code: 'ECONNABORTED',
description: 'software caused connection abort'
},
{
errno: 12,
code: 'ECONNREFUSED',
description: 'connection refused'
},
{
errno: 13,
code: 'ECONNRESET',
description: 'connection reset by peer'
},
{
errno: 14,
code: 'EDESTADDRREQ',
description: 'destination address required'
},
{
errno: 15,
code: 'EFAULT',
description: 'bad address in system call argument'
},
{
errno: 16,
code: 'EHOSTUNREACH',
description: 'host is unreachable'
},
{
errno: 17,
code: 'EINTR',
description: 'interrupted system call'
},
{
errno: 18,
code: 'EINVAL',
description: 'invalid argument'
},
{
errno: 19,
code: 'EISCONN',
description: 'socket is already connected'
},
{
errno: 20,
code: 'EMFILE',
description: 'too many open files'
},
{
errno: 21,
code: 'EMSGSIZE',
description: 'message too long'
},
{
errno: 22,
code: 'ENETDOWN',
description: 'network is down'
},
{
errno: 23,
code: 'ENETUNREACH',
description: 'network is unreachable'
},
{
errno: 24,
code: 'ENFILE',
description: 'file table overflow'
},
{
errno: 25,
code: 'ENOBUFS',
description: 'no buffer space available'
},
{
errno: 26,
code: 'ENOMEM',
description: 'not enough memory'
},
{
errno: 27,
code: 'ENOTDIR',
description: 'not a directory'
},
{
errno: 28,
code: 'EISDIR',
description: 'illegal operation on a directory'
},
{
errno: 29,
code: 'ENONET',
description: 'machine is not on the network'
},
{
errno: 31,
code: 'ENOTCONN',
description: 'socket is not connected'
},
{
errno: 32,
code: 'ENOTSOCK',
description: 'socket operation on non-socket'
},
{
errno: 33,
code: 'ENOTSUP',
description: 'operation not supported on socket'
},
{
errno: 34,
code: 'ENOENT',
description: 'no such file or directory'
},
{
errno: 35,
code: 'ENOSYS',
description: 'function not implemented'
},
{
errno: 36,
code: 'EPIPE',
description: 'broken pipe'
},
{
errno: 37,
code: 'EPROTO',
description: 'protocol error'
},
{
errno: 38,
code: 'EPROTONOSUPPORT',
description: 'protocol not supported'
},
{
errno: 39,
code: 'EPROTOTYPE',
description: 'protocol wrong type for socket'
},
{
errno: 40,
code: 'ETIMEDOUT',
description: 'connection timed out'
},
{
errno: 41,
code: 'ECHARSET',
description: 'invalid Unicode character'
},
{
errno: 42,
code: 'EAIFAMNOSUPPORT',
description: 'address family for hostname not supported'
},
{
errno: 44,
code: 'EAISERVICE',
description: 'servname not supported for ai_socktype'
},
{
errno: 45,
code: 'EAISOCKTYPE',
description: 'ai_socktype not supported'
},
{
errno: 46,
code: 'ESHUTDOWN',
description: 'cannot send after transport endpoint shutdown'
},
{
errno: 47,
code: 'EEXIST',
description: 'file already exists'
},
{
errno: 48,
code: 'ESRCH',
description: 'no such process'
},
{
errno: 49,
code: 'ENAMETOOLONG',
description: 'name too long'
},
{
errno: 50,
code: 'EPERM',
description: 'operation not permitted'
},
{
errno: 51,
code: 'ELOOP',
description: 'too many symbolic links encountered'
},
{
errno: 52,
code: 'EXDEV',
description: 'cross-device link not permitted'
},
{
errno: 53,
code: 'ENOTEMPTY',
description: 'directory not empty'
},
{
errno: 54,
code: 'ENOSPC',
description: 'no space left on device'
},
{
errno: 55,
code: 'EIO',
description: 'i/o error'
},
{
errno: 56,
code: 'EROFS',
description: 'read-only file system'
},
{
errno: 57,
code: 'ENODEV',
description: 'no such device'
},
{
errno: 58,
code: 'ESPIPE',
description: 'invalid seek'
},
{
errno: 59,
code: 'ECANCELED',
description: 'operation canceled'
}
];
export const code = {};
errno.forEach(function (error) {
code[error.code] = error;
});

View File

@ -1,2 +1,2 @@
import { substitute as _substitute, substituteAlt } from "@polymech/core/strings.js";
import { substitute as _substitute, substituteAlt } from "@polymech/core/strings";
export const substitute = (alt, template, vars) => alt ? substituteAlt(template, vars) : _substitute(template, vars);

View File

@ -1,4 +1,4 @@
import { substitute as _substitute, substituteAlt as _substituteAlt } from "@polymech/core/strings.js";
import { substitute as _substitute, substituteAlt as _substituteAlt } from "@polymech/core/strings";
export const substitute = (alt, template, vars) => alt ? _substituteAlt(template, vars) : _substitute(template, vars);
export const resolve = (_path, alt = false, vars = {}) => substitute(alt, _path, {
...vars

View File

@ -21,7 +21,7 @@
}
},
"dependencies": {
"@polymech/core": "workspace:*",
"@polymech/core": "link:..\\core",
"denodeify": "^1.2.1",
"eslint-plugin-regexp": "^2.7.0",
"glob": "^10.4.1",

View File

@ -40,6 +40,7 @@ import { async as iteratorAsync } from './iterator.js';
const promisedSymlink = promisify(fs.symlink);
const promisedReadlink = promisify(fs.readlink);
const promisedUnlink = promisify(fs.unlink);
const promisedMkdirp = promisify<string, any, Function>(mkdirp);
const CPROGRESS_THRESHOLD = 1048576 * 5; // minimum file size threshold to use write progress = 5MB

309
packages/fs/src/errno.ts Normal file
View File

@ -0,0 +1,309 @@
export const errno = [
{
errno: -2,
code: 'ENOENT',
description: 'no such file or directory'
},
{
errno: -1,
code: 'UNKNOWN',
description: 'unknown error'
},
{
errno: 0,
code: 'OK',
description: 'success'
},
{
errno: 1,
code: 'EOF',
description: 'end of file'
},
{
errno: 2,
code: 'EADDRINFO',
description: 'getaddrinfo error'
},
{
errno: 3,
code: 'EACCES',
description: 'permission denied'
},
{
errno: 4,
code: 'EAGAIN',
description: 'resource temporarily unavailable'
},
{
errno: 5,
code: 'EADDRINUSE',
description: 'address already in use'
},
{
errno: 6,
code: 'EADDRNOTAVAIL',
description: 'address not available'
},
{
errno: 7,
code: 'EAFNOSUPPORT',
description: 'address family not supported'
},
{
errno: 8,
code: 'EALREADY',
description: 'connection already in progress'
},
{
errno: 9,
code: 'EBADF',
description: 'bad file descriptor'
},
{
errno: 10,
code: 'EBUSY',
description: 'resource busy or locked'
},
{
errno: 11,
code: 'ECONNABORTED',
description: 'software caused connection abort'
},
{
errno: 12,
code: 'ECONNREFUSED',
description: 'connection refused'
},
{
errno: 13,
code: 'ECONNRESET',
description: 'connection reset by peer'
},
{
errno: 14,
code: 'EDESTADDRREQ',
description: 'destination address required'
},
{
errno: 15,
code: 'EFAULT',
description: 'bad address in system call argument'
},
{
errno: 16,
code: 'EHOSTUNREACH',
description: 'host is unreachable'
},
{
errno: 17,
code: 'EINTR',
description: 'interrupted system call'
},
{
errno: 18,
code: 'EINVAL',
description: 'invalid argument'
},
{
errno: 19,
code: 'EISCONN',
description: 'socket is already connected'
},
{
errno: 20,
code: 'EMFILE',
description: 'too many open files'
},
{
errno: 21,
code: 'EMSGSIZE',
description: 'message too long'
},
{
errno: 22,
code: 'ENETDOWN',
description: 'network is down'
},
{
errno: 23,
code: 'ENETUNREACH',
description: 'network is unreachable'
},
{
errno: 24,
code: 'ENFILE',
description: 'file table overflow'
},
{
errno: 25,
code: 'ENOBUFS',
description: 'no buffer space available'
},
{
errno: 26,
code: 'ENOMEM',
description: 'not enough memory'
},
{
errno: 27,
code: 'ENOTDIR',
description: 'not a directory'
},
{
errno: 28,
code: 'EISDIR',
description: 'illegal operation on a directory'
},
{
errno: 29,
code: 'ENONET',
description: 'machine is not on the network'
},
{
errno: 31,
code: 'ENOTCONN',
description: 'socket is not connected'
},
{
errno: 32,
code: 'ENOTSOCK',
description: 'socket operation on non-socket'
},
{
errno: 33,
code: 'ENOTSUP',
description: 'operation not supported on socket'
},
{
errno: 34,
code: 'ENOENT',
description: 'no such file or directory'
},
{
errno: 35,
code: 'ENOSYS',
description: 'function not implemented'
},
{
errno: 36,
code: 'EPIPE',
description: 'broken pipe'
},
{
errno: 37,
code: 'EPROTO',
description: 'protocol error'
},
{
errno: 38,
code: 'EPROTONOSUPPORT',
description: 'protocol not supported'
},
{
errno: 39,
code: 'EPROTOTYPE',
description: 'protocol wrong type for socket'
},
{
errno: 40,
code: 'ETIMEDOUT',
description: 'connection timed out'
},
{
errno: 41,
code: 'ECHARSET',
description: 'invalid Unicode character'
},
{
errno: 42,
code: 'EAIFAMNOSUPPORT',
description: 'address family for hostname not supported'
},
{
errno: 44,
code: 'EAISERVICE',
description: 'servname not supported for ai_socktype'
},
{
errno: 45,
code: 'EAISOCKTYPE',
description: 'ai_socktype not supported'
},
{
errno: 46,
code: 'ESHUTDOWN',
description: 'cannot send after transport endpoint shutdown'
},
{
errno: 47,
code: 'EEXIST',
description: 'file already exists'
},
{
errno: 48,
code: 'ESRCH',
description: 'no such process'
},
{
errno: 49,
code: 'ENAMETOOLONG',
description: 'name too long'
},
{
errno: 50,
code: 'EPERM',
description: 'operation not permitted'
},
{
errno: 51,
code: 'ELOOP',
description: 'too many symbolic links encountered'
},
{
errno: 52,
code: 'EXDEV',
description: 'cross-device link not permitted'
},
{
errno: 53,
code: 'ENOTEMPTY',
description: 'directory not empty'
},
{
errno: 54,
code: 'ENOSPC',
description: 'no space left on device'
},
{
errno: 55,
code: 'EIO',
description: 'i/o error'
},
{
errno: 56,
code: 'EROFS',
description: 'read-only file system'
},
{
errno: 57,
code: 'ENODEV',
description: 'no such device'
},
{
errno: 58,
code: 'ESPIPE',
description: 'invalid seek'
},
{
errno: 59,
code: 'ECANCELED',
description: 'operation canceled'
}
]
export const code = {}
errno.forEach(function (error) {
code[error.code] = error
})

View File

@ -2,7 +2,7 @@ import { sync as treeWalkerSync } from './utils/tree_walker.js';
import { INode, ENodeOperationStatus, IProcessingNode, IBaseOptions, EInspectFlags } from './interfaces.js';
import { create as matcher } from './utils/matcher.js';
import { ArrayIterator } from '@polymech/core/iterator';
import { ArrayIterator } from '@polymech/core/iterator'
export async function async(from: string, options: IBaseOptions): Promise<ArrayIterator<IProcessingNode>> {
if (options && !options.filter) {

View File

@ -1,2 +1,2 @@
import { substitute as _substitute, substituteAlt } from "@polymech/core/strings.js"
import { substitute as _substitute, substituteAlt } from "@polymech/core/strings"
export const substitute = (alt:boolean, template:string, vars:Record<string, string>) => alt ? substituteAlt(template,vars) : _substitute(template, vars)

View File

@ -1,4 +1,4 @@
import { substitute as _substitute, substituteAlt as _substituteAlt } from "@polymech/core/strings.js";
import { substitute as _substitute, substituteAlt as _substituteAlt } from "@polymech/core/strings"
export const substitute = (alt: boolean, template: string, vars: Record<string, string>) =>
alt ? _substituteAlt(template, vars) : _substitute(template, vars)

39
packages/log/.gitignore vendored Normal file
View File

@ -0,0 +1,39 @@
# Logs
logs
*.log
npm-debug.log*
yarn.lock
package-lock.json
node_modules
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules
jspm_packages
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history

5
packages/log/.npmignore Normal file
View File

@ -0,0 +1,5 @@
node_modules
src
package-lock.json
docs
scripts

8
packages/log/dist/index.d.ts vendored Normal file
View File

@ -0,0 +1,8 @@
import { ISettingsParam, Logger } from "tslog";
export declare enum ELogTargets {
Console = 1,
FileText = 2,
FileJson = 4,
Seq = 8
}
export declare function createLogger(name: string, options?: ISettingsParam): Logger;

17
packages/log/dist/index.js vendored Normal file
View File

@ -0,0 +1,17 @@
import { Logger } from "tslog";
export var ELogTargets;
(function (ELogTargets) {
ELogTargets[ELogTargets["Console"] = 1] = "Console";
ELogTargets[ELogTargets["FileText"] = 2] = "FileText";
ELogTargets[ELogTargets["FileJson"] = 4] = "FileJson";
ELogTargets[ELogTargets["Seq"] = 8] = "Seq";
})(ELogTargets = ELogTargets || (ELogTargets = {}));
export function createLogger(name, options) {
return new Logger({
name,
type: 'pretty',
...options,
});
}
// export const defaultLogger = createLogger('DefaultLogger', { })
//# sourceMappingURL=index.js.map

1
packages/log/dist/index.js.map vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9C,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,mDAAgB,CAAA;IAChB,qDAAiB,CAAA;IACjB,qDAAiB,CAAA;IACjB,2CAAY,CAAA;AAChB,CAAC,EALW,WAAW,GAAX,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAwB;IAC/D,OAAO,IAAI,MAAM,CAAC;QACd,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,OAAO;KACb,CAAC,CAAA;AACN,CAAC;AACD,kEAAkE"}

12
packages/log/dist/zod_schema.d.ts vendored Normal file
View File

@ -0,0 +1,12 @@
import { z } from 'zod';
export declare const TLogLevelNameSchema: z.ZodEnum<["silly", "trace", "debug", "info", "warn", "error", "fatal"]>;
export type LogLevel = z.infer<typeof TLogLevelNameSchema>;
export declare enum LogLevelEx {
silly = 0,
trace = 1,
debug = 2,
info = 3,
warn = 4,
error = 5,
fatal = 6
}

13
packages/log/dist/zod_schema.js vendored Normal file
View File

@ -0,0 +1,13 @@
import { z } from 'zod';
export const TLogLevelNameSchema = z.enum(["silly", "trace", "debug", "info", "warn", "error", "fatal"]);
export var LogLevelEx;
(function (LogLevelEx) {
LogLevelEx[LogLevelEx["silly"] = 0] = "silly";
LogLevelEx[LogLevelEx["trace"] = 1] = "trace";
LogLevelEx[LogLevelEx["debug"] = 2] = "debug";
LogLevelEx[LogLevelEx["info"] = 3] = "info";
LogLevelEx[LogLevelEx["warn"] = 4] = "warn";
LogLevelEx[LogLevelEx["error"] = 5] = "error";
LogLevelEx[LogLevelEx["fatal"] = 6] = "fatal";
})(LogLevelEx = LogLevelEx || (LogLevelEx = {}));
//# sourceMappingURL=zod_schema.js.map

1
packages/log/dist/zod_schema.js.map vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"zod_schema.js","sourceRoot":"","sources":["../src/zod_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAExG,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IAClB,6CAAK,CAAA;IACL,6CAAK,CAAA;IACL,6CAAK,CAAA;IACL,2CAAI,CAAA;IACJ,2CAAI,CAAA;IACJ,6CAAK,CAAA;IACL,6CAAK,CAAA;AACT,CAAC,EARW,UAAU,GAAV,UAAU,KAAV,UAAU,QAQrB"}

1
packages/log/dist/zod_types.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export {};

2
packages/log/dist/zod_types.js vendored Normal file
View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=zod_types.js.map

1
packages/log/dist/zod_types.js.map vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"zod_types.js","sourceRoot":"","sources":["../src/zod_types.ts"],"names":[],"mappings":""}

View File

@ -0,0 +1,95 @@
import tseslint from 'typescript-eslint';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
// plugins
import regexpEslint from 'eslint-plugin-regexp';
const typescriptEslint = tseslint.plugin;
// parsers
const typescriptParser = tseslint.parser;
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
/** @type {import('eslint').Linter.Config[]} */
export default [
{
files: ["src/*.{ts}"]
},
...tseslint.configs.recommendedTypeChecked,
...tseslint.configs.stylisticTypeChecked,
regexpEslint.configs['flat/recommended'],
{
languageOptions: {
parser: typescriptParser,
parserOptions: {
project: ['./packages/*/tsconfig.json', './tsconfig.eslint.json'],
tsconfigRootDir: __dirname,
},
},
plugins: {
'@typescript-eslint': typescriptEslint,
regexp: regexpEslint,
},
rules: {
// These off/configured-differently-by-default rules fit well for us
'@typescript-eslint/switch-exhaustiveness-check': 'error',
'@typescript-eslint/no-shadow': 'off',
'no-console': 'off',
'@typescript-eslint/no-unsafe-enum-comparison' : 'off',
'@typescript-eslint/no-empty-object-type': 'off',
// Todo: do we want these?
'no-var': 'off',
'regexp/prefer-regexp-exec': 'off',
'@typescript-eslint/no-duplicate-enum-values': 'off',
'@typescript-eslint/no-unsafe-function-type': 'off',
'@typescript-eslint/prefer-for-of': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/array-type': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/class-literal-property-style': 'off',
'@typescript-eslint/consistent-indexed-object-style': 'off',
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/no-base-to-string': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/no-misused-promises': 'off',
'@typescript-eslint/no-redundant-type-constituents': 'off',
'@typescript-eslint/no-this-alias': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unused-expressions': 'off',
'@typescript-eslint/only-throw-error': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'off',
'@typescript-eslint/prefer-optional-chain': 'off',
'@typescript-eslint/prefer-promise-reject-errors': 'off',
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/restrict-plus-operands': 'off',
'@typescript-eslint/restrict-template-expressions': 'off',
'@typescript-eslint/sort-type-constituents': 'off',
'@typescript-eslint/unbound-method': 'off',
'@typescript-eslint/no-explicit-any': 'off',
// Used by Biome
'@typescript-eslint/consistent-type-imports': 'off',
// These rules enabled by the preset configs don't work well for us
'@typescript-eslint/await-thenable': 'off',
'prefer-const': 'off',
// In some cases, using explicit letter-casing is more performant than the `i` flag
'regexp/use-ignore-case': 'off',
'regexp/prefer-regexp-exec': 'warn',
'regexp/prefer-regexp-test': 'warn',
'no-control-regex': 'off'
}
}
]

51
packages/log/package.json Normal file
View File

@ -0,0 +1,51 @@
{
"name": "@polymech/log",
"version": "0.2.6",
"license": "BSD",
"type": "module",
"publishConfig": {
"access": "public"
},
"licenses": [
{
"type": "BSD",
"url": "https://git.osr-plastic.org/osr-plastic/osr-core/blob/master/LICENSE"
}
],
"exports": {
".": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
},
"main": "dist/index.js",
"types": "index.d.ts",
"dependencies": {
"@polymech/core": "link:..\\core",
"tslog": "^3.3.3",
"tsup": "^8.3.5",
"zod": "^3.24.1"
},
"devDependencies": {
"@eslint/js": "^9.18.0",
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@types/node": "^22.10.9",
"eslint": "^8.57.1",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-regexp": "^2.7.0",
"ts-node": "^10.9.1",
"typescript": "^4.9.5",
"typescript-eslint": "^8.20.0"
},
"scripts": {
"test": "tsc && mocha build/test",
"buildtsc": "tsc -p . --declaration",
"build": "tsup",
"start": "node build/index.js",
"typings": "tsc -p . --declaration",
"dev": "tsc -p . --declaration -w"
},
"modules": [],
"readmeFilename": "Readme.md"
}

0
packages/log/src/.gitignore vendored Normal file
View File

17
packages/log/src/index.ts Normal file
View File

@ -0,0 +1,17 @@
import { ISettingsParam, Logger } from "tslog"
export enum ELogTargets {
Console = 1 << 0,
FileText = 1 << 1,
FileJson = 1 << 2,
Seq = 1 << 3
}
export function createLogger(name: string, options?: ISettingsParam) {
return new Logger({
name,
type: 'pretty',
...options,
})
}
// export const defaultLogger = createLogger('DefaultLogger', { })

View File

@ -0,0 +1,13 @@
import { z } from 'zod'
export const TLogLevelNameSchema = z.enum(["silly", "trace", "debug", "info", "warn", "error", "fatal"])
export type LogLevel = z.infer<typeof TLogLevelNameSchema>
export enum LogLevelEx {
silly,
trace,
debug,
info,
warn,
error,
fatal
}

View File

View File

@ -0,0 +1,12 @@
{
"extends": "../typescript-config/base.json",
"include": ["src/**/*.ts"],
"files": ["src/index.ts"],
"compilerOptions": {
"allowJs": true,
"declarationDir": "./dist",
"outDir": "./dist",
"sourceMap": true,
"preserveConstEnums": true
},
}

View File

@ -0,0 +1,12 @@
import { defineConfig } from "tsup";
export default defineConfig((options) => ({
entryPoints: [
"src/*.ts"
],
format: ["cjs", "esm"],
dts: true,
sourcemap: true,
...options,
bundle: false
}));

View File

@ -21,10 +21,10 @@ importers:
packages/commons:
dependencies:
'@polymech/core':
specifier: workspace:*
specifier: link:..\core
version: link:../core
'@polymech/fs':
specifier: workspace:*
specifier: link:..\fs
version: link:../fs
env-var:
specifier: ^7.5.0
@ -152,7 +152,7 @@ importers:
packages/fs:
dependencies:
'@polymech/core':
specifier: workspace:*
specifier: link:..\core
version: link:../core
denodeify:
specifier: ^1.2.1
@ -258,6 +258,52 @@ importers:
specifier: ^8.20.0
version: 8.20.0(eslint@8.57.1)(typescript@5.7.3)
packages/log:
dependencies:
'@polymech/core':
specifier: link:..\core
version: link:../core
tslog:
specifier: ^3.3.3
version: 3.3.4
tsup:
specifier: ^8.3.5
version: 8.3.5(typescript@4.9.5)(yaml@2.4.2)
zod:
specifier: ^3.24.1
version: 3.24.1
devDependencies:
'@eslint/js':
specifier: ^9.18.0
version: 9.18.0
'@repo/eslint-config':
specifier: workspace:*
version: link:../eslint-config
'@repo/typescript-config':
specifier: workspace:*
version: link:../typescript-config
'@types/node':
specifier: ^22.10.9
version: 22.10.9
eslint:
specifier: ^8.57.1
version: 8.57.1
eslint-plugin-import:
specifier: ^2.31.0
version: 2.31.0(eslint@8.57.1)
eslint-plugin-regexp:
specifier: ^2.7.0
version: 2.7.0(eslint@8.57.1)
ts-node:
specifier: ^10.9.1
version: 10.9.2(@types/node@22.10.9)(typescript@4.9.5)
typescript:
specifier: ^4.9.5
version: 4.9.5
typescript-eslint:
specifier: ^8.20.0
version: 8.20.0(eslint@8.57.1)(typescript@4.9.5)
packages/typescript-config: {}
packages:
@ -883,6 +929,9 @@ packages:
'@types/node@22.10.6':
resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==}
'@types/node@22.10.9':
resolution: {integrity: sha512-Ir6hwgsKyNESl/gLOcEz3krR4CBGgliDqBQ2ma4wIhEx0w+xnoeTq3tdrNw15kU3SxogDjOgv9sqdtLW8mIHaw==}
'@types/node@8.10.66':
resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==}
@ -4723,6 +4772,10 @@ snapshots:
dependencies:
undici-types: 6.20.0
'@types/node@22.10.9':
dependencies:
undici-types: 6.20.0
'@types/node@8.10.66': {}
'@types/normalize-package-data@2.4.4': {}
@ -8099,6 +8152,24 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
ts-node@10.9.2(@types/node@22.10.9)(typescript@4.9.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 22.10.9
acorn: 8.11.3
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 4.9.5
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
ts-node@10.9.2(@types/node@8.10.66)(typescript@4.9.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1