Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用 tshy 来默认支持 cjs 和 esm #5257

Open
fengmk2 opened this issue Sep 14, 2023 · 15 comments
Open

使用 tshy 来默认支持 cjs 和 esm #5257

fengmk2 opened this issue Sep 14, 2023 · 15 comments
Assignees

Comments

@fengmk2
Copy link
Member

fengmk2 commented Sep 14, 2023

请详细告知你的新点子(Nice Ideas):

node-modules/urllib#468 目前看起来没有什么问题,非常轻松就支持了。

修改内容

  • package.json
  "engines": {
    "node": ">= 18.19.0"
  },
  "devDependencies": {
    "@arethetypeswrong/cli": "^0.17.1",
    "@eggjs/tsconfig": "1",
    "@types/node": "22",
    "@types/mocha": "10",
    "@eggjs/bin": "7",
    "eslint": "8",
    "eslint-config-egg": "14",
    "rimraf": "6",
    "tshy": "3",
    "tshy-after": "1",
    "typescript": "5"
  },
  "scripts": {
    "lint": "eslint --cache src test --ext .ts",
    "pretest": "npm run clean && npm run lint -- --fix",
    "test": "egg-bin test",
    "preci": "npm run clean &&  npm run lint",
    "ci": "egg-bin cov",
    "postci": "npm run prepublishOnly && npm run clean",
    "clean": "rimraf dist",
    "prepublishOnly": "tshy && tshy-after && attw --pack"
  },
  "type": "module",
  "tshy": {
    "exports": {
      ".": "./src/index.ts",
      "./package.json": "./package.json"
    }
  },
  "exports": {
    ".": {
      "import": {
        "types": "./dist/esm/index.d.ts",
        "default": "./dist/esm/index.js"
      },
      "require": {
        "types": "./dist/commonjs/index.d.ts",
        "default": "./dist/commonjs/index.js"
      }
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "src"
  ],
  "types": "./dist/commonjs/index.d.ts",
  "main": "./dist/commonjs/index.js"

插件配置

"eggPlugin": {
    "name": "development",
    "env": [
      "local"
    ],
    "dependencies": [
      "watcher"
    ],
    "exports": {
      "import": "./dist/esm",
      "require": "./dist/commonjs",
      "typescript": "./src"
    }
  },
  • pr welcome
[![Node.js Version](https://img.shields.io/node/v/{pkgName}.svg?style=flat)](https://nodejs.org/en/download/)

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)

![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/eggjs/:repo)
  • contributors
## Contributors

[![Contributors](https://contrib.rocks/image?repo={group/repo})](https://github.com/{group/repo}/graphs/contributors)

Made with [contributors-img](https://contrib.rocks).
  • commit log
feat: support cjs and esm both by tshy

BREAKING CHANGE: drop Node.js < 18.19.0 support

part of https://github.com/eggjs/egg/issues/3644

https://github.com/eggjs/egg/issues/5257
  • __dirname 单测中的 helper 方法

test/helper.ts

import path from 'node:path';
import { fileURLToPath } from 'node:url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

export function getFixtures(filename: string) {
  return path.join(__dirname, filename);
}
  • 获取代码根目录
export function getSourceDirname() {
  if (typeof __dirname === 'string') {
    return __dirname;
  }
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  // @ts-ignore
  const __filename = fileURLToPath(import.meta.url);
  return path.dirname(__filename);
}
  • .github/workflows/nodejs.yml
name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  Job:
    name: Node.js
    uses: node-modules/github-actions/.github/workflows/node-test.yml@master
    with:
      os: 'ubuntu-latest, macos-latest, windows-latest'
      version: '18.19.0, 18, 20, 22'
    secrets:
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
  • .github/workflows/release.yml
name: Release

on:
  push:
    branches: [ master ]

jobs:
  release:
    name: Node.js
    uses: node-modules/github-actions/.github/workflows/node-release.yml@master
    secrets:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
      GIT_TOKEN: ${{ secrets.GIT_TOKEN }}
  • .github/workflows/pkg.pr.new.yml
name: Publish Any Commit
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - run: corepack enable
      - uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install dependencies
        run: npm install

      - name: Build
        run: npm run prepublishOnly --if-present

      - run: npx pkg-pr-new publish
  • tsconfig.json
{
  "extends": "@eggjs/tsconfig",
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext"
  }
}
  • .eslintrc
{
  "extends": [
    "eslint-config-egg/typescript",
    "eslint-config-egg/lib/rules/enforce-node-prefix"
  ]
}
  • .gitignore
.tshy*
.eslintcache
dist
coverage

Sub Error

export class ClusterAgentWorkerError extends Error {
  id: number;
  /**
   * pid in process mode
   * tid in worker_threads mode
   */
  workerId: number;
  status: string;

  constructor(id: number, workerId: number, status: string, error: Error) {
    const message = `Got agent worker error: ${error.message}`;
    super(message, { cause: error });
    this.name = this.constructor.name;
    this.id = id;
    this.workerId = workerId;
    this.status = status;
    Error.captureStackTrace(this, this.constructor);
  }
}
@fengmk2 fengmk2 self-assigned this Sep 14, 2023
@fengmk2
Copy link
Member Author

fengmk2 commented Sep 15, 2023

node-modules/is-type-of#22
eggjs/bin#239 egg-bin 需要支持 esm 跑 test 和 cov

@fengmk2
Copy link
Member Author

fengmk2 commented Sep 16, 2023

@fengmk2
Copy link
Member Author

fengmk2 commented Sep 17, 2023

通过 https://github.com/node-modules/tshy-after 保留 package.json types 配置。

@fengmk2
Copy link
Member Author

fengmk2 commented Sep 22, 2023

node-modules/address#37

fengmk2 added a commit to node-modules/node-homedir that referenced this issue Oct 5, 2023
BREAKING CHANGE: Drop Node.js < 16 support

eggjs/egg#5257
@fengmk2
Copy link
Member Author

fengmk2 commented Oct 5, 2023

fengmk2 added a commit to node-modules/node-homedir that referenced this issue Oct 5, 2023
BREAKING CHANGE: Drop Node.js < 16 support

eggjs/egg#5257
fengmk2 pushed a commit to node-modules/node-homedir that referenced this issue Oct 5, 2023
[skip ci]

## [2.0.0](v1.1.1...v2.0.0) (2023-10-05)

### ⚠ BREAKING CHANGES

* Drop Node.js < 16 support

eggjs/egg#5257

### Features

* refactor with typescript ([#7](#7)) ([9e2a9ff](9e2a9ff))
@fengmk2
Copy link
Member Author

fengmk2 commented Oct 5, 2023

fengmk2 added a commit to node-modules/oss-client that referenced this issue Oct 5, 2023
BREAKING CHANGE: Drop Node.js < 16 support

Other BREAKING changes:
- remove stsToken support
- remove headerEncoding support
- remove Bucket, Image Client support

eggjs/egg#5257
fengmk2 pushed a commit to node-modules/oss-client that referenced this issue Oct 5, 2023
[skip ci]

## [2.0.0](v1.2.6...v2.0.0) (2023-10-05)

### ⚠ BREAKING CHANGES

* Drop Node.js < 16 support

Other BREAKING changes:
- remove stsToken support
- remove headerEncoding support
- remove Bucket, Image Client support

eggjs/egg#5257

### Features

* refactor with typescript ([#12](#12)) ([5a0eb01](5a0eb01))
@fengmk2
Copy link
Member Author

fengmk2 commented Oct 10, 2023

fengmk2 added a commit to node-modules/get-ready that referenced this issue Oct 10, 2023
fengmk2 added a commit to node-modules/get-ready that referenced this issue Oct 10, 2023
fengmk2 pushed a commit to node-modules/ready-callback that referenced this issue Oct 11, 2023
BREAKING CHANGE: Drop Node.js < 16 support

closes #116

part of eggjs/egg#5257

---------

Co-authored-by: hanquliu <[email protected]>
fengmk2 pushed a commit to node-modules/ready-callback that referenced this issue Oct 11, 2023
[skip ci]

## [4.0.0](v3.0.0...v4.0.0) (2023-10-11)

### ⚠ BREAKING CHANGES

* Drop Node.js < 16 support

closes #116

part of eggjs/egg#5257

### Features

* refactor with typescript to support esm and cjs both ([#117](#117)) ([7193ec1](7193ec1))
@fengmk2 fengmk2 pinned this issue Oct 14, 2023
fengmk2 added a commit to eggjs/egg-cors that referenced this issue Dec 11, 2023
BREAKING CHANGE: drop Node.js < 14

deps: use @koa/[email protected]

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-cors that referenced this issue Dec 11, 2023
BREAKING CHANGE: drop Node.js < 16

deps: use @koa/[email protected]

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-cors that referenced this issue Dec 11, 2023
BREAKING CHANGE: drop Node.js < 16

deps: use @koa/[email protected]

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-cors that referenced this issue Dec 11, 2023
BREAKING CHANGE: drop Node.js < 14

eggjs/egg#5257
fengmk2 added a commit to eggjs/logrotator that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/logrotator that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Package renamed to **@eggjs/logrotator** with updated installation
instructions and documentation.
- Enhanced log rotation configuration for improved file retention and
compression.

- **Refactor**
  - Migrated the codebase to ES Modules with full TypeScript support.
- Streamlined asynchronous handling in both core functionality and
tests.

- **Chores**
- Updated CI workflows to support modern Node.js versions (18, 20, 22).
  - Refined linting and version control ignore configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/logrotator that referenced this issue Feb 3, 2025
[skip ci]

## [4.0.0](v3.2.0...v4.0.0) (2025-02-03)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Package renamed to **@eggjs/logrotator** with updated installation
instructions and documentation.
- Enhanced log rotation configuration for improved file retention and
compression.

- **Refactor**
  - Migrated the codebase to ES Modules with full TypeScript support.
- Streamlined asynchronous handling in both core functionality and
tests.

- **Chores**
- Updated CI workflows to support modern Node.js versions (18, 20, 22).
  - Refined linting and version control ignore configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* add disableRotateByDay configuration(default:false) ([#28](#28)) ([73690a8](73690a8))
* support cjs and esm both by tshy ([#33](#33)) ([fa42511](fa42511))
* support gzip compress on rotate file ([#30](#30)) ([059d1c8](059d1c8))

### Bug Fixes

* rename class name to HourRotator ([#29](#29)) ([3863a39](3863a39))
fengmk2 added a commit to eggjs/multipart that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/multipart that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new middleware for handling multipart requests.
  - Added improved error handling for oversized file uploads.

- **Refactor**
- Streamlined configuration and context enhancements for better
stability and TypeScript support.
- Modernized the codebase by transitioning to ES modules and updating
type definitions.

- **Chores**
- Updated package metadata, dependencies, and continuous integration
settings to support newer Node.js versions.
- Introduced a new TypeScript configuration for stricter type-checking.

- **Tests**
- Added unit tests to validate application behavior under incorrect
configurations.
- Established comprehensive tests for multipart form handling to ensure
correct processing of file uploads.
- Transitioned existing tests to TypeScript and updated assertions for
consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/multipart that referenced this issue Feb 3, 2025
[skip ci]

## [4.0.0](v3.5.0...v4.0.0) (2025-02-03)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new middleware for handling multipart requests.
  - Added improved error handling for oversized file uploads.

- **Refactor**
- Streamlined configuration and context enhancements for better
stability and TypeScript support.
- Modernized the codebase by transitioning to ES modules and updating
type definitions.

- **Chores**
- Updated package metadata, dependencies, and continuous integration
settings to support newer Node.js versions.
- Introduced a new TypeScript configuration for stricter type-checking.

- **Tests**
- Added unit tests to validate application behavior under incorrect
configurations.
- Established comprehensive tests for multipart form handling to ensure
correct processing of file uploads.
- Transitioned existing tests to TypeScript and updated assertions for
consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* support cjs and esm both by tshy ([#67](#67)) ([ccefb3e](ccefb3e))
fengmk2 added a commit to eggjs/view that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/view that referenced this issue Feb 3, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a streamlined release workflow for automated publishing.
- Enhanced view rendering with asynchronous methods for improved
performance.
- **Refactor**
- Modernized the codebase by migrating from generator functions to
async/await and adopting ES module syntax.
- Rebranded the package from "egg-view" to "@eggjs/view" with updated
dependency management.
- **Documentation**
- Updated installation instructions and usage examples to reflect the
new package name.
- **Chores**
- Upgraded Node.js support to version ≥ 18.19.0 and refined
configuration settings.
- **Bug Fixes**
- Removed obsolete configuration files and streamlined project structure
for better maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/view that referenced this issue Feb 3, 2025
[skip ci]

## [3.0.0](v2.1.4...v3.0.0) (2025-02-03)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a streamlined release workflow for automated publishing.
- Enhanced view rendering with asynchronous methods for improved
performance.
- **Refactor**
- Modernized the codebase by migrating from generator functions to
async/await and adopting ES module syntax.
- Rebranded the package from "egg-view" to "@eggjs/view" with updated
dependency management.
- **Documentation**
- Updated installation instructions and usage examples to reflect the
new package name.
- **Chores**
- Upgraded Node.js support to version ≥ 18.19.0 and refined
configuration settings.
- **Bug Fixes**
- Removed obsolete configuration files and streamlined project structure
for better maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* support cjs and esm both by tshy ([#19](#19)) ([c94425a](c94425a))
fengmk2 added a commit to eggjs/egg-boilerplate-ts that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Project Configuration**
  - Updated Node.js version support to 18, 20, and 22
- Updated TypeScript configuration to ES2022 and NodeNext module
resolution
  - Updated minimum Node.js requirement to version 18
  - Added MIT license

- **Dependencies**
  - Upgraded several development dependencies
  - Updated testing and build tools to latest versions

- **Documentation**
  - Added Contributors section to README
  - Updated project requirements documentation

- **Maintenance**
  - Updated `.gitignore` to exclude `package-lock.json`
  - Removed pull request template
  - Introduced a new configuration file for unit tests
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/egg-boilerplate-ts that referenced this issue Feb 4, 2025
[skip ci]

## [2.0.0](v1.11.1...v2.0.0) (2025-02-04)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **Project Configuration**
  - Updated Node.js version support to 18, 20, and 22
- Updated TypeScript configuration to ES2022 and NodeNext module
resolution
  - Updated minimum Node.js requirement to version 18
  - Added MIT license

- **Dependencies**
  - Upgraded several development dependencies
  - Updated testing and build tools to latest versions

- **Documentation**
  - Added Contributors section to README
  - Updated project requirements documentation

- **Maintenance**
  - Updated `.gitignore` to exclude `package-lock.json`
  - Removed pull request template
  - Introduced a new configuration file for unit tests
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* support cjs and esm both by tshy ([#27](#27)) ([b750157](b750157))
fengmk2 added a commit to eggjs/egg-boilerplate-plugin that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-boilerplate-plugin that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 pushed a commit to eggjs/egg-boilerplate-plugin that referenced this issue Feb 4, 2025
[skip ci]

## [3.0.0](v2.2.0...v3.0.0) (2025-02-04)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

### Features

* support cjs and esm both by tshy ([#26](#26)) ([52df3aa](52df3aa))
fengmk2 added a commit to eggjs/tracer that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/tracer that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a robust tracer functionality that generates unique trace
IDs for improved application tracing.
- **Documentation**
- Rebranded the package to "@eggjs/tracer" with updated installation
instructions, usage examples, and a new contributors section.
- **Refactor**
- Streamlined internal architecture and module integration for enhanced
performance and clearer TypeScript support.
- **Chores**
- Revamped dependency management and build workflows, ensuring
compatibility with Node.js ≥ 18.19.0.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/tracer that referenced this issue Feb 4, 2025
[skip ci]

## [3.0.0](v2.1.0...v3.0.0) (2025-02-04)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a robust tracer functionality that generates unique trace
IDs for improved application tracing.
- **Documentation**
- Rebranded the package to "@eggjs/tracer" with updated installation
instructions, usage examples, and a new contributors section.
- **Refactor**
- Streamlined internal architecture and module integration for enhanced
performance and clearer TypeScript support.
- **Chores**
- Revamped dependency management and build workflows, ensuring
compatibility with Node.js ≥ 18.19.0.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* support cjs and esm both by tshy ([#9](#9)) ([dba5b9c](dba5b9c))
fengmk2 added a commit to eggjs/egg-ts-helper that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

Only support egg >= 4.0.0

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-ts-helper that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

Only support egg >= 4.0.0

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-ts-helper that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

Only support egg >= 4.0.0

part of eggjs/egg#3644

eggjs/egg#5257
fengmk2 added a commit to eggjs/egg-ts-helper that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

Only support egg >= 4.0.0

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Introduced a new “Contributors” section in the project documentation
to highlight community involvement.
- **Chores**
- Streamlined CI workflows by removing legacy configurations and
updating triggers for improved efficiency.
- Upgraded key dependencies and increased the minimum required Node.js
version for enhanced performance and security.
- **Refactor**
- Standardized module import practices across the codebase to align with
current Node.js conventions.
	- Improved asynchronous handling in core operations.
- **Tests**
- Updated test setups and assertions to reflect the new module import
standards and dependency changes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fengmk2 pushed a commit to eggjs/egg-ts-helper that referenced this issue Feb 4, 2025
[skip ci]

## [3.0.0](v2.1.1...v3.0.0) (2025-02-04)

### ⚠ BREAKING CHANGES

* drop Node.js < 18.19.0 support

Only support egg >= 4.0.0

part of eggjs/egg#3644

eggjs/egg#5257

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Introduced a new “Contributors” section in the project documentation
to highlight community involvement.
- **Chores**
- Streamlined CI workflows by removing legacy configurations and
updating triggers for improved efficiency.
- Upgraded key dependencies and increased the minimum required Node.js
version for enhanced performance and security.
- **Refactor**
- Standardized module import practices across the codebase to align with
current Node.js conventions.
	- Improved asynchronous handling in core operations.
- **Tests**
- Updated test setups and assertions to reflect the new module import
standards and dependency changes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

### Features

* support egg v4 ([#114](#114)) ([90491cf](90491cf))
fengmk2 added a commit to fengmk2/egg-typebox-validate that referenced this issue Feb 4, 2025
BREAKING CHANGE: drop Node.js < 18.19.0 support

part of eggjs/egg#3644

eggjs/egg#5257
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

2 participants