Memcached module for Nest framework (node.js) 🐈

Overview

Nest Logo

Memcached module and service for Nest,
a progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License Test Status

Installation

npm

npm install @andreafspeziale/nestjs-memcached memjs

yarn

yarn add @andreafspeziale/nestjs-memcached memjs

pnpm

pnpm install @andreafspeziale/nestjs-memcached memjs

How to use?

Module

The module is Global by default.

MemcachedModule.forRoot(options)

import { Module } from '@nestjs/common';
import { MemcachedModule } from '@andreafspeziale/nestjs-memcached';
import { AppController } from './app.controller';

@Module({
  imports: [
    MemcachedModule.forRoot({
      connections: [
        {
          host: 'localhost',
          port: '11211',
          auth: {
            user: 'user',
            password: 'secret',
          },
        },
      ],
      ttl: 60,
      ttr: 30,
    }),
  ],
  controllers: [AppController],
})
export class AppModule {}

For signle connection without authentication you can omit the connections property.

// exploded MemcachedModuleOptions
export interface MemcachedModuleOptions {
  // Pair list of server/s and auth
  connections?: {
    host: string;
    port: number;
    auth?: {
      user: string;
      password: string;
    };
  }[];
  // Global key/value pair time to live
  ttl: number;
  // Optional global key/value pair time to refresh in order to enable wrapping and refresh-ahead
  ttr?: number;
  // Optional global function to wrap your value with metadata when using setWithMeta API
  // (default: { content: T; ttl: number; ttr?: number })
  valueProcessor?: ValueProcessor;
  // Optional global function to manipulate your cached value key (default: no manipulation)
  keyProcessor?: KeyProcessor;
  // Optional global functions to parse the data when using set, setWithMeta, get APIs (default: JSON.stringify/parse)
  parser?: Parser;
}

MemcachedModule.forRootAsync(options)

import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { MemcachedModule } from '@andreafspeziale/nestjs-memcached';
import { Config } from './config';
import { AppController } from './app.controller';

@Module({
  imports: [
    ConfigModule.forRoot({
      ...
    }),
    MemcachedModule.forRootAsync({
      useFactory: (configService: ConfigService<Config>) => configService.get('memcached'),
      inject: [ConfigService],
    }),
  ],
  controllers: [AppController],
})
export class AppModule {}

Decorators

InjectMemcachedOptions() and InjectMemcached()

import { Injectable } from '@nestjs/common';
import { InjectMemcachedOptions, InjectMemcached } from '@andreafspeziale/nestjs-memcached';

@Injectable()
export class SampleService {
  constructor(
    @InjectMemcachedOptions()
    private readonly memcachedModuleOptions: MemcachedModuleOptions,
    @InjectMemcached() private readonly memcachedClient: MemcachedClient
  ) {}

  ...
}

Service

MemcachedService

import { MemcachedService } from '@andreafspeziale/nestjs-memcached';
import { SampleReturnType, CachedItemType } from './interfaces'

@Injectable()
export class SampleFacade {
  constructor(
    private readonly memcachedService: MemcachedService
  ) {}

  async sampleMethod(): Promise<SampleReturn> {
    const cachedItem = await this.memcachedService.get<CachedPlainOrWrappedItem>(cachedItemKey);

    if(cachedItem === null) {
      ...
      const { content, ...meta } = await this.memcachedService.set<string>('key', 'value');
      ...
    }
}

You can also set all the proper Processors and CachingOptions inline in order to override the global values specified during the MemcachedModule import

    await this.memcachedService.set<string>('key', 'value', { ttl: 100 });
    ...
    await this.memcachedService.set<string>('key', 'value', { ttl: 100, ttr: 50 });

The provided MemcachedService is an opinionated wrapper around memjs trying to be unopinionated as much as possibile at the same time.

setWithMeta enables refresh-ahead cache pattern in order to let you add a logical expiration called ttr (time to refresh) to the cached data and more.

So each time you get some cached data it will contain additional properties in order to help you decide whatever business logic needs to be applied.

export interface CachingOptions {
  ttl: number;
  ttr?: number;
}

export interface BaseWrappedValue<T> {
  content: T;
}

export type WrappedValue<T = unknown, M extends CachingOptions = CachingOptions> = Omit<
  M,
  'content'
> &
  BaseWrappedValue<T>;

export type ValueProcessor<T = unknown, M extends CachingOptions = CachingOptions> = (
  p: { value: T } & CachingOptions
) => WrappedValue<T, M>;

export type KeyProcessor = (key: string) => string;

export interface Parser {
  stringify<T = unknown>(objectToStringify: T): string;
  parse<T = unknown>(stringifiedObject: string): T;
}

License

nestjs-memcached MIT licensed.

Comments
  • fix: update dependency superjson to v1.12.1

    fix: update dependency superjson to v1.12.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | superjson | 1.11.0 -> 1.12.1 | age | adoption | passing | confidence |


    Release Notes

    blitz-js/superjson

    v1.12.1

    Compare Source

    What's Changed

    Full Changelog: https://github.com/blitz-js/superjson/compare/v1.12.0...v1.12.1

    v1.12.0

    Compare Source

    What's Changed

    Full Changelog: https://github.com/blitz-js/superjson/compare/v1.11.0...v1.12.0


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • fix: update dependency rxjs to v7.8.0

    fix: update dependency rxjs to v7.8.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | rxjs (source) | 7.5.7 -> 7.8.0 | age | adoption | passing | confidence |


    Release Notes

    reactivex/rxjs

    v7.8.0

    Compare Source

    Features

    v7.7.0

    Compare Source

    Features

    v7.6.0

    Compare Source

    Bug Fixes
    • schedulers: no longer cause TypeScript build failures when Node types aren't included (c1a07b7)
    • types: Improved subscribe and tap type overloads (#​6718) (af1a9f4), closes #​6717
    Features
    • onErrorResumeNextWith: renamed onErrorResumeNext and exported from the top level. (onErrorResumeNext operator is stil available, but deprecated) (#​6755) (51e3b2c)

    7.5.7 (2022-09-25)

    Bug Fixes
    Performance Improvements

    7.5.6 (2022-07-11)

    Bug Fixes
    • share: No longer results in a bad-state observable in an edge case where a synchronous source was shared and refCounted, and the result is subscribed to twice in a row synchronously. (#​7005) (5d4c1d9)
    • share & connect: share and connect no longer bundle scheduling code by default (#​6873) (9948dc2), closes #​6872
    • exhaustAll: Result will now complete properly when flattening all synchronous observables. (#​6911) (3c1c6b8), closes #​6910
    • TypeScript: Now compatible with TypeScript 4.6 type checks (#​6895) (fce9aa1)

    7.5.5 (2022-03-08)

    Bug Fixes
    Performance Improvements

    7.5.4 (2022-02-09)

    Performance Improvements

    7.5.3 (2022-02-08)

    Bug Fixes
    • subscribe: allow interop with Monio and other libraries that patch function bind (0ab91eb), closes #​6783

    7.5.2 (2022-01-11)

    Bug Fixes

    7.5.1 (2021-12-28)

    Bug Fixes

    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore: update dependency prettier to v2.8.2

    chore: update dependency prettier to v2.8.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.8.1 -> 2.8.2 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.8.2

    Compare Source

    diff

    Don't lowercase link references (#​13155 by @​DerekNonGeneric & @​fisker)
    <!-- Input -->
    We now don't strictly follow the release notes format suggested by [Keep a Changelog].
    
    [Keep a Changelog]: https://example.com/
    
    <!-- Prettier 2.8.1 -->
    We now don't strictly follow the release notes format suggested by [Keep a Changelog].
    
    [keep a changelog]: https://example.com/
    <!--
    ^^^^^^^^^^^^^^^^^^ lowercased
    -->
    
    <!-- Prettier 2.8.2 -->
    <Same as input>
    
    Preserve self-closing tags (#​13691 by @​dcyriller)
    {{! Input }}
    <div />
    <div></div>
    <custom-component />
    <custom-component></custom-component>
    <i />
    <i></i>
    <Component />
    <Component></Component>
    
    {{! Prettier 2.8.1 }}
    <div></div>
    <div></div>
    <custom-component></custom-component>
    <custom-component></custom-component>
    <i></i>
    <i></i>
    <Component />
    <Component />
    
    {{! Prettier 2.8.2 }}
    <div />
    <div></div>
    <custom-component />
    <custom-component></custom-component>
    <i />
    <i></i>
    <Component />
    <Component />
    
    Allow custom "else if"-like blocks with block params (#​13930 by @​jamescdavis)

    #​13507 added support for custom block keywords used with else, but failed to allow block params. This updates printer-glimmer to allow block params with custom "else if"-like blocks.

    {{! Input }}
    {#when isAtWork as |work|}}
      Ship that
      {{work}}!
    {{else when isReading as |book|}}
      You can finish
      {{book}}
      eventually...
    {{else}}
      Go to bed!
    {{/when}}
    
    {{! Prettier 2.8.1 }}
    {{#when isAtWork as |work|}}
      Ship that
      {{work}}!
    {{else when isReading}}
      You can finish
      {{book}}
      eventually...
    {{else}}
      Go to bed!
    {{/when}}
    
    {{! Prettier 2.8.2 }}
    {#when isAtWork as |work|}}
      Ship that
      {{work}}!
    {{else when isReading as |book|}}
      You can finish
      {{book}}
      eventually...
    {{else}}
      Go to bed!
    {{/when}}
    
    Preserve empty lines between nested SCSS maps (#​13931 by @​jneander)
    /* Input */
    $map: (
      'one': (
         'key': 'value',
      ),
    
      'two': (
         'key': 'value',
      ),
    )
    
    /* Prettier 2.8.1 */
    $map: (
      'one': (
         'key': 'value',
      ),
      'two': (
         'key': 'value',
      ),
    )
    
    /* Prettier 2.8.2 */
    $map: (
      'one': (
         'key': 'value',
      ),
    
      'two': (
         'key': 'value',
      ),
    )
    
    Fix missing parentheses when an expression statement starts with let[ (#​14000, #​14044 by @​fisker, @​thorn0)
    // Input
    (let[0] = 2);
    
    // Prettier 2.8.1
    let[0] = 2;
    
    // Prettier 2.8.1 (second format)
    SyntaxError: Unexpected token (1:5)
    > 1 | let[0] = 2;
        |     ^
      2 |
    
    // Prettier 2.8.2
    (let)[0] = 2;
    
    Fix semicolon duplicated at the end of LESS file (#​14007 by @​mvorisek)
    // Input
    @&#8203;variable: {
      field: something;
    };
    
    // Prettier 2.8.1
    @&#8203;variable: {
      field: something;
    }; ;
    
    // Prettier 2.8.2
    @&#8203;variable: {
      field: something;
    };
    
    Fix no space after unary minus when followed by opening parenthesis in LESS (#​14008 by @​mvorisek)
    // Input
    .unary_minus_single {
      margin: -(@&#8203;a);
    }
    
    .unary_minus_multi {
      margin: 0 -(@&#8203;a);
    }
    
    .binary_minus {
      margin: 0 - (@&#8203;a);
    }
    
    // Prettier 2.8.1
    .unary_minus_single {
      margin: - (@&#8203;a);
    }
    
    .unary_minus_multi {
      margin: 0 - (@&#8203;a);
    }
    
    .binary_minus {
      margin: 0 - (@&#8203;a);
    }
    
    // Prettier 2.8.2
    .unary_minus_single {
      margin: -(@&#8203;a);
    }
    
    .unary_minus_multi {
      margin: 0 -(@&#8203;a);
    }
    
    .binary_minus {
      margin: 0 - (@&#8203;a);
    }
    
    Do not change case of property name if inside a variable declaration in LESS (#​14034 by @​mvorisek)
    // Input
    @&#8203;var: {
      preserveCase: 0;
    };
    
    // Prettier 2.8.1
    @&#8203;var: {
      preservecase: 0;
    };
    
    // Prettier 2.8.2
    @&#8203;var: {
      preserveCase: 0;
    };
    
    Fix formatting for auto-accessors with comments (#​14038 by @​fisker)
    // Input
    class A {
      @&#8203;dec()
      // comment
      accessor b;
    }
    
    // Prettier 2.8.1
    class A {
      @&#8203;dec()
      accessor // comment
      b;
    }
    
    // Prettier 2.8.1 (second format)
    class A {
      @&#8203;dec()
      accessor; // comment
      b;
    }
    
    // Prettier 2.8.2
    class A {
      @&#8203;dec()
      // comment
      accessor b;
    }
    
    Add parentheses for TSTypeQuery to improve readability (#​14042 by @​onishi-kohei)
    // Input
    a as (typeof node.children)[number]
    a as (typeof node.children)[]
    a as ((typeof node.children)[number])[]
    
    // Prettier 2.8.1
    a as typeof node.children[number];
    a as typeof node.children[];
    a as typeof node.children[number][];
    
    // Prettier 2.8.2
    a as (typeof node.children)[number];
    a as (typeof node.children)[];
    a as (typeof node.children)[number][];
    
    Fix displacing of comments in default switch case (#​14047 by @​thorn0)

    It was a regression in Prettier 2.6.0.

    // Input
    switch (state) {
      default:
        result = state; // no change
        break;
    }
    
    // Prettier 2.8.1
    switch (state) {
      default: // no change
        result = state;
        break;
    }
    
    // Prettier 2.8.2
    switch (state) {
      default:
        result = state; // no change
        break;
    }
    
    Support type annotations on auto accessors via babel-ts (#​14049 by @​sosukesuzuki)

    The bug that @babel/parser cannot parse auto accessors with type annotations has been fixed. So we now support it via babel-ts parser.

    class Foo {
      accessor prop: number;
    }
    
    Fix formatting of empty type parameters (#​14073 by @​fisker)
    // Input
    const foo: bar</* comment */> = () => baz;
    
    // Prettier 2.8.1
    Error: Comment "comment" was not printed. Please report this error!
    
    // Prettier 2.8.2
    const foo: bar</* comment */> = () => baz;
    
    Add parentheses to head of ExpressionStatement instead of the whole statement (#​14077 by @​fisker)
    // Input
    ({}).toString.call(foo) === "[object Array]"
      ? foo.forEach(iterateArray)
      : iterateObject(foo);
    
    // Prettier 2.8.1
    ({}.toString.call(foo) === "[object Array]"
      ? foo.forEach(iterateArray)
      : iterateObject(foo));
    
    // Prettier 2.8.2
    ({}).toString.call(foo.forEach) === "[object Array]"
      ? foo.forEach(iterateArray)
      : iterateObject(foo);
    
    Fix comments after directive (#​14081 by @​fisker)
    // Input
    "use strict" /* comment */;
    
    // Prettier 2.8.1 (with other js parsers except `babel`)
    Error: Comment "comment" was not printed. Please report this error!
    
    // Prettier 2.8.2
    <Same as input>
    
    Fix formatting for comments inside JSX attribute (#​14082 with by @​fisker)
    // Input
    function MyFunctionComponent() {
      <button label=/*old*/"new">button</button>
    }
    
    // Prettier 2.8.1
    Error: Comment "old" was not printed. Please report this error!
    
    // Prettier 2.8.2
    function MyFunctionComponent() {
      <button label=/*old*/ "new">button</button>;
    }
    
    Quote numeric keys for json-stringify parser (#​14083 by @​fisker)
    // Input
    {0: 'value'}
    
    // Prettier 2.8.1
    {
      0: "value"
    }
    
    // Prettier 2.8.2
    {
      "0": "value"
    }
    
    Fix removing commas from function arguments in maps (#​14089 by @​sosukesuzuki)
    /* Input */
    $foo: map-fn(
      (
        "#{prop}": inner-fn($first, $second),
      )
    );
    
    /* Prettier 2.8.1 */
    $foo: map-fn(("#{prop}": inner-fn($first $second)));
    
    /* Prettier 2.8.2 */
    $foo: map-fn(
      (
        "#{prop}": inner-fn($first, $second),
      )
    );
    
    
    Do not insert space in LESS property access (#​14103 by @​fisker)
    // Input
    a {
      color: @&#8203;colors[@&#8203;white];
    }
    
    // Prettier 2.8.1
    a {
      color: @&#8203;colors[ @&#8203;white];
    }
    
    // Prettier 2.8.2
    <Same as input>
    

    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update commitlint monorepo to v17.4.0

    chore: update commitlint monorepo to v17.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @commitlint/cli (source) | 17.3.0 -> 17.4.0 | age | adoption | passing | confidence | | @commitlint/config-conventional (source) | 17.3.0 -> 17.4.0 | age | adoption | passing | confidence |


    Release Notes

    conventional-changelog/commitlint (@​commitlint/cli)

    v17.4.0

    Compare Source

    Bug Fixes
    conventional-changelog/commitlint (@​commitlint/config-conventional)

    v17.4.0

    Compare Source

    Note: Version bump only for package @​commitlint/config-conventional


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update dependency husky to v8.0.3

    chore: update dependency husky to v8.0.3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | husky (source) | 8.0.2 -> 8.0.3 | age | adoption | passing | confidence |


    Release Notes

    typicode/husky

    v8.0.3

    Compare Source


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update typescript-eslint monorepo to v5.48.0

    chore: update typescript-eslint monorepo to v5.48.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @typescript-eslint/eslint-plugin | 5.47.1 -> 5.48.0 | age | adoption | passing | confidence | | @typescript-eslint/parser | 5.47.1 -> 5.48.0 | age | adoption | passing | confidence |


    Release Notes

    typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

    v5.48.0

    Compare Source

    Features
    • eslint-plugin: specify which method is unbound and added test case (#​6281) (cf3ffdd)

    5.47.1 (2022-12-26)

    Bug Fixes
    typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

    v5.48.0

    Compare Source

    Note: Version bump only for package @​typescript-eslint/parser

    5.47.1 (2022-12-26)

    Note: Version bump only for package @​typescript-eslint/parser


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update dependency eslint-config-prettier to v8.6.0

    chore: update dependency eslint-config-prettier to v8.6.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint-config-prettier | 8.5.0 -> 8.6.0 | age | adoption | passing | confidence |


    Release Notes

    prettier/eslint-config-prettier

    v8.6.0

    Compare Source


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update dependency eslint to v8.31.0

    chore: update dependency eslint to v8.31.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 8.30.0 -> 8.31.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v8.31.0

    Compare Source

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#​16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#​16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#​16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#​16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#​16608) (Milos Djermanovic)

    Documentation

    Chores


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update dependency @types/jest to v29.2.5

    chore: update dependency @types/jest to v29.2.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/jest (source) | 29.2.4 -> 29.2.5 | age | adoption | passing | confidence |


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update dependency release-it to v15.6.0

    chore: update dependency release-it to v15.6.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | release-it | 15.5.1 -> 15.6.0 | age | adoption | passing | confidence |


    Release Notes

    release-it/release-it

    v15.6.0

    Compare Source


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update typescript-eslint monorepo to v5.47.1

    chore: update typescript-eslint monorepo to v5.47.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @typescript-eslint/eslint-plugin | 5.47.0 -> 5.47.1 | age | adoption | passing | confidence | | @typescript-eslint/parser | 5.47.0 -> 5.47.1 | age | adoption | passing | confidence |


    Release Notes

    typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

    v5.47.1

    Compare Source

    Bug Fixes
    typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

    v5.47.1

    Compare Source

    Note: Version bump only for package @​typescript-eslint/parser


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore: update pnpm to v7.22.0

    chore: update pnpm to v7.22.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | pnpm (source) | 7.21.0 -> 7.22.0 | age | adoption | passing | confidence |


    Release Notes

    pnpm/pnpm

    v7.22.0

    Compare Source

    Minor Changes

    • The pnpm list and pnpm why commands will now look through transitive dependencies of workspace: packages. A new --only-projects flag is available to only print workspace: packages.
    • pnpm exec and pnpm run command support --resume-from option. When used, the command will executed from given package #​4690.
    • Expose the npm_command environment variable to lifecycle hooks & scripts.

    Patch Changes

    • Fix a situation where pnpm list and pnpm why may not respect the --depth argument.
    • Report to the console when a git-hosted dependency is built #​5847.
    • Throw an accurate error message when trying to install a package that has no versions, or all of its versions are unpublished #​5849.
    • replace dependency is-ci by ci-info (is-ci is just a simple wrapper around ci-info).
    • Only run prepublish scripts of git-hosted dependencies, if the dependency doesn't have a main file. In this case we can assume that the dependencies has to be built.
    • Print more contextual information when a git-hosted package fails to be prepared for installation #​5847.

    Our Gold Sponsors

    Our Silver Sponsors


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Detected dependencies

    docker-compose
    docker-compose.test.yml
    • bitnami/memcached 1.6.17
    github-actions
    .github/workflows/release.yml
    • actions/checkout v3
    • actions/setup-node v3
    • pnpm/action-setup v2
    • actions/cache v3
    .github/workflows/test.yml
    • actions/checkout v3
    • actions/setup-node v3
    • pnpm/action-setup v2
    • actions/cache v3
    • bitnami/memcached 1.6.17
    npm
    package.json
    • @nestjs/common 9.2.1
    • bluebird 3.7.2
    • memcached 2.2.2
    • reflect-metadata 0.1.13
    • rxjs 7.8.0
    • superjson 1.12.1
    • @commitlint/cli 17.4.0
    • @commitlint/config-conventional 17.4.0
    • @nestjs/config 2.2.0
    • @nestjs/core 9.2.1
    • @nestjs/platform-express 9.2.1
    • @nestjs/testing 9.2.1
    • @release-it/conventional-changelog 5.1.1
    • @tsconfig/node18-strictest 1.0.0
    • @types/bluebird 3.5.38
    • @types/jest 29.2.5
    • @types/memcached 2.2.7
    • @typescript-eslint/eslint-plugin 5.48.0
    • @typescript-eslint/parser 5.48.0
    • eslint 8.31.0
    • eslint-config-prettier 8.6.0
    • eslint-plugin-import 2.26.0
    • eslint-plugin-prettier 4.2.1
    • eslint-plugin-unused-imports 2.0.0
    • husky 8.0.3
    • jest 29.3.1
    • lint-staged 13.1.0
    • prettier 2.8.2
    • release-it 15.6.0
    • rimraf 3.0.2
    • ts-jest 29.0.3
    • typescript 4.9.4
    • @nestjs/common 9.x
    • reflect-metadata 0.1.x
    • rxjs 7.x
    • node >=18.5.0
    • pnpm 7.21.0

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
Releases(3.2.3)
Owner
Andrea Francesco Speziale
Software Engineer @Musixmatch
Andrea Francesco Speziale
A Nest JS App that is proxied to deta.sh

Description Nest framework TypeScript starter repository. Installation $ yarn Running the app # development $ yarn start # watch mode $ yarn run star

Julian 7 Nov 18, 2022
Cli created by shoulders to facilitate the development of Nest.js applications that use our seed!

Nest CLZ Your CLI by Shoulders to create a backend started with nest-seed Installation We will launch the application soon! Using npm: npm i -g nest-c

Shoulders 2 Mar 22, 2022
A starter template for Nest.js with MongoDB, GraphQL, JWT Auth, and more!

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

Michael Guay 19 Dec 25, 2022
trying nest.js with docker-compose

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

null 7 Dec 27, 2022
Repository with various templates using nest ( express )

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

Douglas Ramirez 2 Nov 27, 2022
EasyStory REST API made with Nest.js & TypeORM.

Easy Story REST API ?? β€œEasyStory” is a web platform whose content is published by its users. With "EasyStory" you can publish your own stories or tal

null 2 Sep 13, 2022
A progressive Node.js framework for building efficient and scalable server-side applications

A light template to easily setup your backend with a simple jwt authentication with Nest.js and TypeScripit. Powered with Prisma and Hot-reload features

Junior Medehou 3 Feb 25, 2022
A progressive Node.js framework for building efficient and scalable server-side applications

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

Gustavo Lopes 3 Oct 31, 2022
Small module that makes sure your catch, caught an actual error and not a programming mistake or assertion

safety-catch Small module that makes sure your catch, caught an actual error and not a programming mistake or assertion. npm install safety-catch Tri

Mathias Buus 31 May 4, 2022
membuat sebuah module pengganti database engine untuk mengelola data secara advance

Donate Sosial Media Introduction Database atau basis data adalah kumpulan data yang dikelola sedemikian rupa berdasarkan ketentuan tertentu yang salin

Jefri Herdi Triyanto 6 Dec 17, 2021
Same as sqlite-tag but without the native sqlite3 module dependency

sqlite-tag-spawned Social Media Photo by Tomas KirvΔ—la on Unsplash The same sqlite-tag ease but without the native sqlite3 dependency, aiming to repla

Andrea Giammarchi 17 Nov 20, 2022
The nestjs cache module based on cache-manager & decorators πŸƒ

A progressive Node.js framework for building efficient and scalable server-side applications. zirus-cache zirus-cache for Nest.JS - simple and modern

Yakov Bobroff 4 May 9, 2022
external eventbus module for @nestjs/cqrs

A Cqrs External EventBus module for Nest framework (node.js) Now available: Redis-EventBus Installation with npm npm install --save nest-external-even

H.John Choi 9 Dec 23, 2022
Composable data framework for ambitious web applications.

Orbit Orbit is a composable data framework for managing the complex needs of today's web applications. Although Orbit is primarily used as a flexible

Orbit.js 2.3k Dec 18, 2022
Nodeparse - A lightweight, vanilla replacement for Express framework when parsing the HTTP body's data or parsing the URL parameters and queries with NodeJS.

nodeparse A lightweight, vanilla replacement for Express framework when parsing the HTTP body's data or parsing the URL parameters and queries with No

TrαΊ§n Quang Kha 1 Jan 8, 2022
Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture, inspired by Hapi and Express.

Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture, inspired by Hapi and Express.

Jared Hanson 5 Oct 11, 2022
Type Driven Database Framework.

cosmotype Type Driven Database Framework. Features Compatibility. Complete driver-independent. Supports many drivers with a unified API. Powerful. It

null 8 Dec 15, 2022
An easy-to-use multi SQL dialect ORM tool for Node.js

Sequelize Sequelize is a promise-based Node.js ORM tool for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction s

Sequelize 27.3k Jan 4, 2023
⚑️ lowdb is a small local JSON database powered by Lodash (supports Node, Electron and the browser)

Lowdb Small JSON database for Node, Electron and the browser. Powered by Lodash. ⚑ db.get('posts') .push({ id: 1, title: 'lowdb is awesome'}) .wri

null 18.9k Dec 30, 2022