Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@flex-development/tutils

flex-development6.2kBSD-3-Clause5.0.1TypeScript support: included

TypeScript utilities

enums, interfaces, type guards, type definitions, typescript utilities, typescript

readme

tutils

github release npm codecov module type: esm license conventional commits typescript vitest yarn

TypeScript-friendly utilities.

Contents

What is this?

This package contains a set of TypeScript-friendly utilities.

When should I use this?

TODO: use cases

Install

This package is ESM only.

yarn add @flex-development/tutils

From Git:

yarn add @flex-development/tutils@flex-development/tutils
See Git - Protocols | Yarn  for details on requesting a specific branch, commit, or tag.

Use

TODO: usage example

changelog

tutils@5.0.1 (2022-09-30)

:package: Build

  • require at least node.js 14 (572ca73)
  • set typesVersions (20cfa15)
  • use mkbuild to build project (94e3cc1)
  • deps-dev: bump @types/eslint from 8.4.5 to 8.4.6 (#56) (0bd61c6)
  • deps-dev: bump @typescript-eslint/eslint-plugin from 5.33.1 to 5.34.0 (#64) (3f91307)
  • deps-dev: bump @typescript-eslint/eslint-plugin from 5.34.0 to 5.35.1 (#67) (03cf64d)
  • deps-dev: bump @typescript-eslint/parser from 5.33.1 to 5.34.0 (#65) (11cb8b9)
  • deps-dev: bump @typescript-eslint/parser from 5.34.0 to 5.35.1 (#66) (dfc4796)
  • deps-dev: bump @vitest/coverage-c8 from 0.22.0 to 0.22.1 (#62) (3f2eb47)
  • deps-dev: bump @vitest/ui from 0.22.0 to 0.22.1 (#60) (91363f6)
  • deps-dev: bump cspell from 6.6.1 to 6.7.0 (#58) (8bb6770)
  • deps-dev: bump cspell from 6.7.0 to 6.8.0 (#63) (a500255)
  • deps-dev: bump eslint-plugin-jsonc from 2.3.1 to 2.4.0 (1e45ef3)
  • deps-dev: bump eslint-plugin-promise from 6.0.0 to 6.0.1 (#69) (5ec7516)
  • deps-dev: bump eslint-plugin-react from 7.30.1 to 7.31.0 (#68) (5bde4b7)
  • deps-dev: bump pretty-format from 28.1.3 to 29.0.0 (efc38f9)
  • deps-dev: bump unbuild from 0.8.8 to 0.8.9 (#61) (4add30f)
  • deps-dev: bump vitest from 0.22.0 to 0.22.1 (#59) (0de2679)
  • exports: remove extraneous conditional types exports (13b7990)
  • pkg: set type to module (59fcf62)

:robot: Continuous Integration

  • let @dependabot check for new versions at random times (7e4b90e)
  • refactor @dependabot workflow (df65f3f)
  • deps: bump flex-development/dist-tag-action from 1.0.0 to 1.1.0 (#55) (678c3d0)
  • workflows: add-to-project (20ee547)
  • workflows: dependabot-auto-fix (70d519a)
  • workflows: add debug step to ci workflow (f2f1d17)
  • workflows: add gh pat for @dependabot (d1ccb27)
  • workflows: add test coverage output to ci workflow (8cfe138)
  • workflows: add test coverage output to ci workflow (4d7d787)
  • workflows: cleanup ci workflow (712557c)
  • workflows: cleanup workflow environments and options (39246d3)
  • workflows: fix @dependabot package ecosystem conditionals (070cba5)
  • workflows: refactor integrity (2eb58c0)
  • workflows: remove query-linked-issues (eacd6f9)
  • workflows: run ci workflow on push to feature and hotfix branches (c23029a)
  • workflows: sign @dependabot lockfile fix commits (e16048a)
  • workflows: skip integrity for @dependabot (5b2aba2)
  • workflows: skip ci workflow when @dependabot pushes to main (1a646fb)
  • workflows: sync workflow and job names (b52337a)
  • workflows: try using secrets.PAT_ADMIN to trigger pr synchronize event for @dependabot (05d88e5)
  • workflows: update prerelease check (178a617)
  • workflows: use secrets.PAT_BOT (071ef4d)

:pencil: Documentation

:house_with_garden: Housekeeping

  • cleanup (4064cb7)
  • cleanup cspell dictionary (0a9659f)
  • cleanup eslint config (3821ca4)
  • eslint x graphql support (eb52b2e)
  • fix private registry login for @dependabot (378917c)
  • only run checks in lint-staged config (172d10c)
  • only run checks in lint-staged config (ae7f0db)
  • remove duplicate **/.npmignore entry from .prettierignore (9210257)
  • set specific time for version checks by @dependabot (cf428a8)
  • update jsx check in eslint config (f366f2f)
  • update sample gitconfig (246a401)
  • github: add label scope:tests (35909a1)
  • github: configure issue template chooser (f9746d2)
  • github: convert issue templates to issue forms (a741573)
  • github: remove type:discussion label (3aa5bc3)
  • github: rename label scope:deps to scope:dependencies (198561e)
  • github: rename label scope:typescript to scope:ts (f9b6530)
  • github: update label descriptions (74ba0e8)
  • github: update pull request template (bebd4e2)
  • release: read tag prefix from package.json (6b08e88)
  • release: update commit message format (9aa4449)
  • release: use current date as release date (43a2225)
  • vscode: cleanup eslint settings (53571ab)
  • vscode: let prettier handle shellscript files (118cde5)
  • yarn: configure flex-development scope (d24d03e)
  • yarn: fix lockfile ruined by @dependabot (d73bba2)
  • yarn: fix lockfile ruined by @dependabot (87574e4)
  • yarn: fix lockfile ruined by @dependabot (705612d)
  • yarn: remove registry restrictions (793a0ca)

:white_check_mark: Testing

  • update vitest environment (8b79d00)

tutils@5.0.0 (2022-08-17)

:sparkles: Features

:house_with_garden: Housekeeping

tutils@5.0.0-alpha.1 (2022-08-16)

⚠ BREAKING CHANGES

  • types: remove DocumentDeepPartial
  • types: drop DeepPartialBy
  • types: drop DeepPartialByHelper
  • types: drop DeepPartialByRequired
  • types: drop DeepPartialByRequiredHelper
  • types: drop PartialBy
  • types: drop PartialByRequired

:zap: Refactors

  • types: remove unused and extraneous types (bd2ff45)
  • types: use OrDeepPartial in DocumentPartial (dee309f)
  • types: remove DocumentDeepPartial (e14d8e0)

tutils@5.0.0-dev.2 (2022-08-15)

:package: Build

  • fix .npmignore (068eb2e)
  • deps-dev: bump @faker-js/faker from 7.3.0 to 7.4.0 (71421d2)
  • deps-dev: bump @types/chai from 4.3.1 to 4.3.3 (eddba63)
  • deps-dev: bump @types/prettier from 2.6.4 to 2.7.0 (647f9c0)
  • deps-dev: bump @typescript-eslint/eslint-plugin from 5.32.0 to 5.33.1 (a69a946)
  • deps-dev: bump @typescript-eslint/parser from 5.32.0 to 5.33.1 (af40d7b)
  • deps-dev: bump cspell from 6.5.0 to 6.6.1 (88b2e86)
  • deps-dev: bump eslint from 8.21.0 to 8.22.0 (6f7fca8)
  • deps-dev: bump eslint-plugin-jsdoc from 39.3.4 to 39.3.6 (96d75e3)
  • deps-dev: bump tsconfig-paths from 4.0.0 to 4.1.0 (ba3539d)
  • deps-dev: bump unbuild from 0.7.6 to 0.8.8 (dd82974)

:robot: Continuous Integration

  • add gpr registry config for @dependabot (05b5ca7)
  • remove ignored dependencies for @dependabot (748fba1)
  • deps: bump actions/github-script from 6.1.0 to 6.1.1 (#51) (aa078c1)
  • workflows: label-linked-issues (f0ef3bc)
  • workflows: query-linked-issues (d510013)
  • workflows: close inactionable issues after 14 days (b2f70a4)
  • workflows: lock inactive threads after 60 days (6a590f2)
  • workflows: refactor integrity (00008a1)
  • workflows: refactor ci workflow (3eafccb)
  • workflows: refactor release and package publishing (2ae4721)
  • workflows: reimplement @dependabot auto approve and merge (173d1ae)
  • workflows: reimplement label management workflow (85d4de9)
  • workflows: reimplement pr auto approval (16ea0a4)

:pencil: Documentation

:house_with_garden: Housekeeping

  • prevent prettier from formatting markdown (6c67427)
  • update jsx check in eslint config (9302f4c)
  • update sample gitconfig (8bf65b4)
  • github: add label scope:typescript (a7b5619)
  • github: cleanup bug report environment section starter (d60974d)
  • release: update local workflow (5b057b2)
  • tests: fix path alias recognition (65e625e)
  • tests: run tests in alphabetical order (e0cc8cc)
  • ts: update module code generation (c22f6fb)
  • vscode: update workspace settings (4dcc616)
  • yarn: cleanup yarn environment (71871db)

tutils@5.0.0-dev.1 (2022-08-04)

⚠ BREAKING CHANGES

  • types: Union definition
  • types: drop .type extension
  • enums: drop .enum extension
  • guards: drop .guard extension

:package: Build

  • enums: drop .enum extension (43d858e)
  • guards: drop .guard extension (bc33094)
  • types: drop .type extension (b3207a6)

:bug: Fixes

  • exports: Cannot find module 'src/enums/app-env.enum' (9c21876)
  • types: Union definition (4df8656)

:zap: Refactors

  • types: loosen Intersection definition (c5cf5b6)

tutils@4.9.0-dev.1 (2022-08-03)

:sparkles: Features

:bug: Fixes

  • exports: [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" (#36) (151b4ed)
  • guards: isNumberString logic (33dcfde)

:house_with_garden: Housekeeping

  • refactor project architecture (#30) (a1a564c)
  • github: add commit scope exports (af02010)
  • github: add commit scope husky (ad3db94)
  • github: add commit scope tests (8afd47e)
  • github: add commit scopes pkg and vscode (84bcfea)
  • github: add commit type wip (d9f9450)
  • github: update feature request template comments (2e65e86)
  • husky: add shebang to scripts (177a9d3)
  • pkg: add "interfaces" to keywords (c72f47a)
  • release: include reverted commits in changelog (72bd60a)
  • release: re-add chore and test type commits to changelog (3895043)
  • release: replace yarn version with bump (4ea6736)
  • release: sort commit groups and commits (50cee2e)

:zap: Refactors

  • guards: make isUnixTimestamp parameter optional (1a20135)

tutils@4.8.0 (2022-03-14)

:sparkles: Features

  • enums: BsonTypeAlias, BsonTypeCode, ProjectRule, SortOrder (992fefb)

tutils@4.7.0 (2022-03-13)

:sparkles: Features

tutils@4.6.0 (2022-03-02)

:sparkles: Features

tutils@4.5.0 (2022-02-06)

:book: Documentation

  • enums: update NodeEnv annotations (bd4ba29)

:sparkles: Features

tutils@4.4.0 (2021-11-12)

:sparkles: Features

tutils@4.3.0 (2021-11-12)

:sparkles: Features

  • types: OrNil, OrNull, OrUndefined (23ea43e)

tutils@4.2.3 (2021-11-01)

:bug: Fixes

  • package exports (actually) (d6629ad)

tutils@4.2.2 (2021-10-31)

:bug: Fixes

:pencil2: Housekeeping

  • check for duplicate deps when yarn.lock changes (b275a35)
  • update eslint config to handle dotfiles (179617e)

tutils@4.2.1 (2021-10-29)

:bug: Fixes

  • add conditional exports - ./guards, ./guards/* (98a1426)

:pencil2: Housekeeping

  • local integrity check (ea5451d)
  • scripts: add check:ci script (1233da6)
  • tools: reorganize build workflow (adf50f6)
  • tools: use explicit environment variables in testing workflow (c0c9db8)
  • typescript: add typings for @vercel/ncc (46065f2)
  • typescript: add typings for tsc-prog/dist/utils/log (4e8a325)

tutils@4.2.0 (2021-10-22)

:sparkles: Features

tutils@4.1.1 (2021-10-16)

:bug: Fixes

  • path remapping in types build output (78d512a)

tutils@4.1.0 (2021-10-15)

:hammer: Build

  • deps-dev: interactive upgrades (47e382e)
  • deps-dev: remove unused deps (7604d38)
  • use fully specified exports and call expressions in build output (e0ae635)

:robot: Testing

:sparkles: Features

:pencil2: Housekeeping

  • github: add guards commit scope (0735655)
  • github: add scope:guards label (bff9176)
  • tools: cleanup project tools (2186a3d)
  • tools: fix release workflow script (828edc3)

tutils@4.0.3 (2021-10-14)

:bug: Fixes

  • Could not find a declaration file for module (actually! 😉) (5161733)

tutils@4.0.2 (2021-10-14)

:bug: Fixes

  • Could not find a declaration file for module (e075120)

:hammer: Build

  • include source code in sourcemaps (114b8a1)
  • typescript: create sourcemaps for .d.ts files (9534aba)

:pencil2: Housekeeping

:truck: Continuous Integration & Deployment

  • workflows: add delete-release-branch job (4b418f1)
  • workflows: push to protected branch 'main' (efd8d22)
  • workflows: update integrity triggers (f031e61)

tutils@4.0.1 (2021-10-13)

:bug: Fixes

  • cjs: directory index specifiers (429f3f8)

:pencil2: Housekeeping

  • esm: update @flex-development/tutils path alias (1158135)
  • tools: add ts-patch, drop ttypescript (4d9cb71)
  • tools: add tsc-prog to build workflow (3f3f922)
  • tools: enable type checking during build workflow (9dc7bf8)

:truck: Continuous Integration & Deployment

  • workflows: update continuous-integration triggers (96a59fd)
  • workflows: update integrity triggers (9be038e)

tutils@4.0.0 (2021-10-11)

⚠ BREAKING CHANGES

  • target node>=14.18.0

:hammer: Build

  • deps-dev: interactive upgrades (acfd4c3)
  • deps-dev: use @flex-development/log@4.0.0-dev.0 (771547c)
  • target node>=14.18.0 (ad7bbdb)
  • update package exports and entrypoints (286d9f3)

:pencil2: Housekeeping

  • local integrity check (087675c)
  • release: set package version (9880b9a)
  • scripts: update - clean:build, postinstall, check:style (6e679a2)
  • tools: add trext and @vercel/ncc to build workflow (9a7b3bd)
  • tools: update pkg helper exports (d7901d4)
  • tools: update prerelease workflow (47108c1)

tutils@4.0.0-dev.0 (2021-10-05)

⚠ BREAKING CHANGES

:hammer: Build

  • deps-dev: drop eslint-plugin-tree-shaking (6706515)
  • hybrid: esm-cjs hybrid migration (no longer using .js extension) (37b147d)

:nail_care: Formatting & Structure

  • use default exports + kebab case filenames (21c25d9)

:sparkles: Features

:truck: Continuous Integration & Deployment

  • workflows: fix ./tools/cli/loadenv: No such file or directory (6952c62)
  • workflows: update strategy.matrix.node (b1188b3)

:pencil2: Housekeeping

tutils@3.1.7 (2021-09-15)

:hammer: Build

  • deps-peer: make typescript>=2.7 optional (9bfe059)

tutils@3.1.6 (2021-09-15)

:hammer: Build

  • deps-peer: add typescript>=2.7 peer dependency (e4d23dc)

tutils@3.1.5 (2021-09-05)

:bug: Fixes

  • scripts: disable postinstall before tarball is packed (a2243b0)

tutils@3.1.4 (2021-09-04)

:bug: Fixes

  • scripts: allow postinstall to fail quietly (b8236b0)

tutils@3.1.3 (2021-09-04)

:bug: Fixes

  • scripts: use husky-run init in postinstall script (812ae42)

tutils@3.1.2 (2021-09-04)

:bug: Fixes

  • scripts: only run postinstall in dev environments (3824716)

tutils@3.1.1 (2021-09-04)

:hammer: Build

:nail_care: Formatting & Structure

  • update formatting and linting configs (165be2e)

:pencil2: Housekeeping

  • deps-dev: pin commitlint dependencies (689ba55)
  • move pr template to .github directory (05df609)
  • move sample .gitconfig to .github directory (8089c7b)
  • run yarn check:install (5acfd1f)
  • scripts: add check:format (c978202)
  • scripts: add check:install (e08214c)
  • scripts: update release workflow script (15f8cfc)
  • scripts: use rimraf in clean script (b03f5e4)
  • typescript: update root tsconfig (db8b39f)
  • update commitlint config (a2880c9)
  • update environment variables (1a9dcba)
  • update issue templates (22d4a40)
  • update package keywords (f399ffd)

:truck: Continuous Integration & Deployment

  • don't run postinstall script in ci environments (08b2032)
  • workflows: add automate-pr-reviews (20ab95d)
  • workflows: add continuous-deployment (40f2e94)
  • workflows: add continuous-integration (30ebf2e)
  • workflows: add dependabot-auto (32b44a1)
  • workflows: add label-syncer (414e4ba)
  • workflows: add lock-inactive-threads (e139994)
  • workflows: add no-response (3268f8d)
  • workflows: add repo-integrity (789c64e)
  • workflows: add yarn env variables to check job (572de6b)

tutils@3.1.0 (2021-05-27)

:book: Documentation

  • types: update description for DeepOmit and Path (07cb3dc)

:sparkles: Features

  • types: DeepPartialBy (fb212da)
  • types: DeepPartialByRequired (8a8b8e4)

tutils@3.0.0 (2021-05-25)

⚠ BREAKING CHANGES

  • EmptyObject, EmptyPrimitive -> EmptyValue, PlainObject -> ObjectPlain, UnknownObject -> ObjectUnknown

:recycle: Code Improvements

  • project architecture (6932071)
  • types: use DeepPartial in OrPartial union (8a3b158)

:sparkles: Features

tutils@2.0.0 (2021-05-24)

⚠ BREAKING CHANGES

  • types: rename ObjectPath* types to Path*
  • types: remove NullishPrimitive

:bug: Fixes

  • types: add symbol to IndexSignature union (8b690b0)

:nail_care: Formatting & Structure

  • types: rename ObjectPath* types to Path* (74b33ac)

:sparkles: Features

  • types: add DeepOmit and DeepPartial (27c4360)
  • types: add JSONArray, update JSONObject and JSONValuedefinitions (a609635)
  • types: differentiate between javascript and json primitives (56a80b6)

:pencil2: Housekeeping

  • update github release script (1536c78)

tutils@1.0.0 (2021-05-21)

:sparkles: Features

  • types: add utility types (f545380)

:pencil2: Housekeeping