From 0f404fbd252558c8c86a62c8488157bcc82b32b0 Mon Sep 17 00:00:00 2001 From: KyleBoyer Date: Tue, 23 Apr 2024 15:27:08 -0500 Subject: [PATCH] fix(pkg): add a `default` fallback export (#695) Co-authored-by: wolfy1339 --- README.md | 6 ++++++ scripts/build.mjs | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c2ee8290..7efdf3a9 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,12 @@ import { throttling } from "@octokit/plugin-throttling"; +> [!IMPORTANT] +> As we use [conditional exports](https://nodejs.org/api/packages.html#conditional-exports), you will need to adapt your `tsconfig.json` by setting `"moduleResolution": "node16", "module": "node16"`. +> +> See the TypeScript docs on [package.json "exports"](https://www.typescriptlang.org/docs/handbook/modules/reference.html#packagejson-exports).
+> See this [helpful guide on transitioning to ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) from [@sindresorhus](https://github.com/sindresorhus) + The code below creates a "Hello, world!" issue on every repository in a given organization. Without the throttling plugin it would send many requests in parallel and would hit rate limits very quickly. But the `@octokit/plugin-throttling` slows down your requests according to the official guidelines, so you don't get blocked before your quota is exhausted. The `throttle.onSecondaryRateLimit` and `throttle.onRateLimit` options are required. Return `true` to automatically retry the request after `retryAfter` seconds. diff --git a/scripts/build.mjs b/scripts/build.mjs index aba1ded2..5baad0a0 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -61,15 +61,15 @@ async function main() { { ...pkg, files: ["dist-*/**", "bin/**"], - // Tooling currently are having issues with the "exports" field, ex: TypeScript, eslint - // We add a `main` and `types` field to the package.json for the time being - // See https://github.com/octokit/core.js/pulls/662 - main: "dist-bundle/index.js", types: "dist-types/index.d.ts", exports: { ".": { types: "./dist-types/index.d.ts", import: "./dist-bundle/index.js", + // Tooling currently are having issues with the "exports" field when there is no "default", ex: TypeScript, eslint, ncc + // See https://github.com/octokit/core.js/issues/667#issuecomment-2037592361 + // See https://github.com/octokit/plugin-throttling.js/issues/694 + default: "./dist-bundle/index.js", }, }, sideEffects: false,