open-index/open-npm huggingface dataset:
npm package: @stickyjs/eslint-config
Description: `@stickyjs/eslint-config`
Latest version: 1.3.10

# Eslint Config

`@stickyjs/eslint-config`

Within your `package.json`:

```json
{
  "eslintConfig": {
    "extends": ["@stickyjs"],
    "parserOptions": {
      "project": "./tsconfig.json"
    }
  }
}
```
npm package: @stickyjs/jest
Description: `@stickyjs/jest`
Latest version: 1.3.10

# Jest

`@stickyjs/jest`

```json
{
  "jest": {
    "preset": "@stickyjs/jest"
  }
}
```

## Included Extensions

### `wait-for-expect`

```ts
import { waitForExpect } from '@stickyjs/jest';

it('should wait-for-expect', async () => {
  await waitForExpect(() => {}, 100);
});
```

### `jest-extended`

```ts
import 'jest-extended';

it('should contain jest-extended', () => {
  expect(1).toBeOneOf([1, 2, 3]);
  expect('').toBeEmpty();
});
```
npm package: @stickyjs/prettier
Description: `@stickyjs/prettier`
Latest version: 1.3.10

# Prettier

`@stickyjs/prettier`

This module also installs `prettier`, `husky` and `lint-staged`.

Within your `package.json`:

```json
{
  "prettier": "@stickyjs/prettier",
  "lint-staged": {
    "*": "prettier --write --ignore-unknown"
  }
}
```

Configuring ling-staged via `.husky/pre-commit`:

```shell
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install lint-staged
```
npm package: @stickyjs/testcontainers
Description: `@stickyjs/testcontainers`
Latest version: 1.3.10

# Test Containers

`@stickyjs/testcontainers`

Providing opinionated containers that follows the `testcontainers-node` Fluent API design.

- `PostgreSqlContainer` - for a Postgres database docker container
- `LocalstackContainer` - for a Localstack cloud docker container
- `RedisContainer` - for a Redis docker container

Example with PostgresSqlContainer:

```ts
import { PostgreSqlContainer, StartedPostgreSqlContainer } from '@stickyjs/testcontainers';

let postgres: StartedPostgreSqlContainer;

beforeAll(async () => {
  postgres = await new PostgreSqlContainer().start();
});

afterAll(async () => {
  await postgres.stop();
});
```

With network:

```ts
import { PostgreSqlContainer, RedisContainer, Network } from '@stickyjs/testcontainers';

beforeAll(async () => {
  const network = await new Network().start();
  const postgres = await new PostgreSqlContainer().withNetwork(network).start();
  const redis = await new RedisContainer().withNetwork(network).start();
});

afterAll(async () => {
  await postgres.stop();
  await redis.stop();
  await network.stop();
});
```
npm package: @stickyjs/turbo
Description: `@stickyjs/turbo`
Latest version: 1.3.10

# Turbo

`@stickyjs/turbo`

An internal package for facilitating `@stickyjs/turbo-*` tools interoperability with `turbo.json` by
extending on top of it. Ultimately, we don't want to maintain or customize turborepo beyond light integration.

Some tools written within `@stickyjs/*` need to be aware of the turborepo pipelines for content-aware caching of tasks.
This internal package contains internal helpers for `@stickyjs/*` packages to provide a convention over configuration
experience.
npm package: @stickyjs/turbo-jest
Description: `@stickyjs/turbo-jest`
Latest version: 1.3.10

# Turbo Jest

`@stickyjs/turbo-jest`

Turbo aware `jest-preset`; automatically run `dependsOn` script before running jest. By taking advantage of
content-aware hashing from turborepo. `dependsOn` only run if the pipeline `inputs` have changed.

When you run your test with `@stickyjs/turbo-jest` preset, it uses `displayName` from your jest config to
figure out which `pipeline` to use. It will automatically pinpoint the corresponding `dependsOn` and run all the scripts
specified within.

E.g. `turbo.json` and `package.json`:

```json
{
  "pipeline": {
    "test:e2e": {
      "inputs": ["src/**", "**/*.e2e.ts"],
      "dependsOn": ["build:docker"]
    }
  }
}
```

```json
{
  "scripts": {
    "build:docker": "docker build ..."
  },
  "jest": {
    "preset": "@stickyjs/turbo-jest",
    "projects": [
      {
        "displayName": "test:e2e",
        "preset": "@stickyjs/turbo-jest",
        "testRegex": ".*\\.e2e\\.ts$"
      }
    ]
  }
}
```
npm package: @stickyjs/typescript
Description: `@stickyjs/typescript`
Latest version: 1.3.10

# Typescript

`@stickyjs/typescript`

Within your `tsconfig.json`:

```json
{
  "extends": "@stickyjs/typescript/tsconfig.json",
  "compilerOptions": {
    "rootDir": "./src",
    "outDir": "./dist"
  },
  "include": ["src"]
}
```

Within your `tsconfig.build.json`:

```json
{
  "extends": "./tsconfig.json",
  "exclude": ["**/*.unit.ts"]
}
```