open-index/open-npm huggingface dataset:
npm package: @phanect/configs
Description: Collection of @phanect's personal build configs
Author: Jumpei Ogawa
Latest version: 2025.11.14

# `@phanect/configs`

Collection of personal configuration files for [@phanect](https://github.com/phanect)

## Install packages

```sh
npm install -D @phanect/configs typescript @types/node
```

## tsconfig

### Usage

tsconfig.json

```json
{
  "extends": [
    "@phanect/configs/ts",
    // add for npm packages (both for frontend and Node.js)
    "@phanect/configs/ts/addons/npm"
  ],
  "compilerOptions": {
    // add `dom` for frontend projects
    "lib": [
      "esnext",
      "dom"
    ],
    "types": [
      // add for Cloudflare Workers projects
      "@cloudflare/workers-types",
      // add for projects using Vite
      "vite/client"
    ],
    // add for Hono projects
    "jsxImportSource": "hono/jsx"
  }
}
```

### List of tsconfigs

- `@phanect/configs/ts`: For projects other than Node.js (Frontend & Cloudflare Workers)
- `@phanect/configs/ts/nodejs`: For Node.js projects
- `@phanect/configs/ts/addons/npm`: Supplemental tsconfig for npm package (Generates .d.ts files)

## License

[CC0 1.0](./LICENSE.txt) (≒ Public Domain)
npm package: @phanect/lint
Description: Personal ESLint configuration for Jumpei Ogawa (@phanect)
Author: Jumpei Ogawa
Latest version: 2025.11.29

# `@phanect/lint[-vue|-svelte|-astro]`

ESLint config for my own projects.

## Install

```shell
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro
```

`@phanect/lint-*` packages are the linter configs for the specific frameworks. Install them if you use them.

## Usage

Create an eslint.config.ts like following on the project root.

```typescript
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";

const configs = defineConfig([
  globalIgnores([
    "path/to/ignore/**",
  ]),

  // If the project includes TypeScript files...
  {
    // Do not add `files: [ "*" ],` here.

    extends: [
      core,
      nuxt,
    ],

    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },

    // If the repository is monorepo and one of the workspaces is Next.js project...
    settings: {
      next: {
        rootDir: "workspaces/my-project/",
      },
    },
  },
]);

export default configs;
```

Supported configs:

- `@phanect/lint`
  - `core`
  - `nodejs`
  - `unbundled`
    - Use this rules in addition to the above rules if the project depends on package.json's `dependencies` on production i.e. npm packages and backend Node.js app without bundling.
- `@phanect/lint-react`
  - `react`
  - `nextjs`
- `@phanect/lint-vue`
  - `vue`
  - `nuxt`
- `@phanect/lint-svelte`
  - `svelte`
- `@phanect/lint-astro`
  - `astro`

## Test with realworld projects

### 1. Generate npm package

```shell
$ cd /path/to/misc
$ pnpm pack
```

### 2. Install new package on a realworld project

```shell
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz
```

### 3. Test

```shell
# $ cd /path/to/target/project
$ pnpm lint
```
npm package: @phanect/lint-astro
Description: @phanect's personal ESLint config for Astro projects
Author: Jumpei Ogawa
Latest version: 2025.11.29

# `@phanect/lint[-vue|-svelte|-astro]`

ESLint config for my own projects.

## Install

```shell
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro
```

`@phanect/lint-*` packages are the linter configs for the specific frameworks. Install them if you use them.

## Usage

Create an eslint.config.ts like following on the project root.

```typescript
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";

const configs = defineConfig([
  globalIgnores([
    "path/to/ignore/**",
  ]),

  // If the project includes TypeScript files...
  {
    // Do not add `files: [ "*" ],` here.

    extends: [
      core,
      nuxt,
    ],

    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },

    // If the repository is monorepo and one of the workspaces is Next.js project...
    settings: {
      next: {
        rootDir: "workspaces/my-project/",
      },
    },
  },
]);

export default configs;
```

Supported configs:

- `@phanect/lint`
  - `core`
  - `nodejs`
  - `unbundled`
    - Use this rules in addition to the above rules if the project depends on package.json's `dependencies` on production i.e. npm packages and backend Node.js app without bundling.
- `@phanect/lint-react`
  - `react`
  - `nextjs`
- `@phanect/lint-vue`
  - `vue`
  - `nuxt`
- `@phanect/lint-svelte`
  - `svelte`
- `@phanect/lint-astro`
  - `astro`

## Test with realworld projects

### 1. Generate npm package

```shell
$ cd /path/to/misc
$ pnpm pack
```

### 2. Install new package on a realworld project

```shell
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz
```

### 3. Test

```shell
# $ cd /path/to/target/project
$ pnpm lint
```
npm package: @phanect/lint-react
Description: @phanect's personal ESLint config for React & Next.js projects
Author: Jumpei Ogawa
Latest version: 2025.11.29

# `@phanect/lint[-vue|-svelte|-astro]`

ESLint config for my own projects.

## Install

```shell
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro
```

`@phanect/lint-*` packages are the linter configs for the specific frameworks. Install them if you use them.

## Usage

Create an eslint.config.ts like following on the project root.

```typescript
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";

const configs = defineConfig([
  globalIgnores([
    "path/to/ignore/**",
  ]),

  // If the project includes TypeScript files...
  {
    // Do not add `files: [ "*" ],` here.

    extends: [
      core,
      nuxt,
    ],

    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },

    // If the repository is monorepo and one of the workspaces is Next.js project...
    settings: {
      next: {
        rootDir: "workspaces/my-project/",
      },
    },
  },
]);

export default configs;
```

Supported configs:

- `@phanect/lint`
  - `core`
  - `nodejs`
  - `unbundled`
    - Use this rules in addition to the above rules if the project depends on package.json's `dependencies` on production i.e. npm packages and backend Node.js app without bundling.
- `@phanect/lint-react`
  - `react`
  - `nextjs`
- `@phanect/lint-vue`
  - `vue`
  - `nuxt`
- `@phanect/lint-svelte`
  - `svelte`
- `@phanect/lint-astro`
  - `astro`

## Test with realworld projects

### 1. Generate npm package

```shell
$ cd /path/to/misc
$ pnpm pack
```

### 2. Install new package on a realworld project

```shell
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz
```

### 3. Test

```shell
# $ cd /path/to/target/project
$ pnpm lint
```
npm package: @phanect/lint-svelte
Description: @phanect's personal ESLint config for Svelte & SvelteKit projects
Author: Jumpei Ogawa
Latest version: 2025.11.29

# `@phanect/lint[-vue|-svelte|-astro]`

ESLint config for my own projects.

## Install

```shell
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro
```

`@phanect/lint-*` packages are the linter configs for the specific frameworks. Install them if you use them.

## Usage

Create an eslint.config.ts like following on the project root.

```typescript
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";

const configs = defineConfig([
  globalIgnores([
    "path/to/ignore/**",
  ]),

  // If the project includes TypeScript files...
  {
    // Do not add `files: [ "*" ],` here.

    extends: [
      core,
      nuxt,
    ],

    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },

    // If the repository is monorepo and one of the workspaces is Next.js project...
    settings: {
      next: {
        rootDir: "workspaces/my-project/",
      },
    },
  },
]);

export default configs;
```

Supported configs:

- `@phanect/lint`
  - `core`
  - `nodejs`
  - `unbundled`
    - Use this rules in addition to the above rules if the project depends on package.json's `dependencies` on production i.e. npm packages and backend Node.js app without bundling.
- `@phanect/lint-react`
  - `react`
  - `nextjs`
- `@phanect/lint-vue`
  - `vue`
  - `nuxt`
- `@phanect/lint-svelte`
  - `svelte`
- `@phanect/lint-astro`
  - `astro`

## Test with realworld projects

### 1. Generate npm package

```shell
$ cd /path/to/misc
$ pnpm pack
```

### 2. Install new package on a realworld project

```shell
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz
```

### 3. Test

```shell
# $ cd /path/to/target/project
$ pnpm lint
```
npm package: @phanect/lint-vue
Description: @phanect's personal ESLint config for Vue.js & Nuxt projects
Author: Jumpei Ogawa
Latest version: 2025.11.29

# `@phanect/lint[-vue|-svelte|-astro]`

ESLint config for my own projects.

## Install

```shell
pnpm install -D eslint @phanect/lint @phanect/lint-react @phanect/lint-vue @phanect/lint-svelte @phanect/lint-astro
```

`@phanect/lint-*` packages are the linter configs for the specific frameworks. Install them if you use them.

## Usage

Create an eslint.config.ts like following on the project root.

```typescript
import { core } from "@phanect/lint";
import { vue, nuxt } from "@phanect/lint-vue";
import { defineConfig, globalIgnores } from "eslint/config";

const configs = defineConfig([
  globalIgnores([
    "path/to/ignore/**",
  ]),

  // If the project includes TypeScript files...
  {
    // Do not add `files: [ "*" ],` here.

    extends: [
      core,
      nuxt,
    ],

    languageOptions: {
      parserOptions: {
        tsconfigRootDir: import.meta.dirname,
      },
    },

    // If the repository is monorepo and one of the workspaces is Next.js project...
    settings: {
      next: {
        rootDir: "workspaces/my-project/",
      },
    },
  },
]);

export default configs;
```

Supported configs:

- `@phanect/lint`
  - `core`
  - `nodejs`
  - `unbundled`
    - Use this rules in addition to the above rules if the project depends on package.json's `dependencies` on production i.e. npm packages and backend Node.js app without bundling.
- `@phanect/lint-react`
  - `react`
  - `nextjs`
- `@phanect/lint-vue`
  - `vue`
  - `nuxt`
- `@phanect/lint-svelte`
  - `svelte`
- `@phanect/lint-astro`
  - `astro`

## Test with realworld projects

### 1. Generate npm package

```shell
$ cd /path/to/misc
$ pnpm pack
```

### 2. Install new package on a realworld project

```shell
$ cd /path/to/target/project
$ pnpm add -D ../misc/eslint-config-phanective-2024.1.1.tgz
```

### 3. Test

```shell
# $ cd /path/to/target/project
$ pnpm lint
```