From fbb691e5c8a07baddc4c96df4c6060190ba29e49 Mon Sep 17 00:00:00 2001 From: Victor Korzunin <5180700+floydspace@users.noreply.github.com> Date: Fri, 2 Feb 2024 01:07:20 +0100 Subject: [PATCH] docs: generate ref docs from pipeline --- .github/actions/setup/action.yml | 21 + .github/workflows/pages.yml | 51 ++ .github/workflows/{pt.yml => pr.yml} | 2 +- .gitignore | 1 + .projen/tasks.json | 8 + .projenrc.ts | 6 + .vscode/.gitignore | 1 + docs/_config.yml | 5 + docs/index.md | 9 + package.json | 2 + .../.gitattributes | 1 + .../.gitignore | 2 + .../.projen/deps.json | 4 + .../.projen/files.json | 1 + .../docgen.json | 8 + .../package.json | 5 +- .../ApiGatewayManagementApiClientInstance.ts | 3 + ...atewayManagementApiClientInstanceConfig.ts | 3 + .../src/ApiGatewayManagementApiService.ts | 6 + packages/client-dynamodb/.gitattributes | 1 + packages/client-dynamodb/.gitignore | 2 + packages/client-dynamodb/.projen/deps.json | 4 + packages/client-dynamodb/.projen/files.json | 1 + packages/client-dynamodb/docgen.json | 8 + packages/client-dynamodb/package.json | 5 +- .../src/DynamoDBClientInstance.ts | 3 + .../src/DynamoDBClientInstanceConfig.ts | 3 + .../client-dynamodb/src/DynamoDBService.ts | 6 + packages/client-eventbridge/.gitattributes | 1 + packages/client-eventbridge/.gitignore | 2 + packages/client-eventbridge/.projen/deps.json | 4 + .../client-eventbridge/.projen/files.json | 1 + packages/client-eventbridge/docgen.json | 8 + packages/client-eventbridge/package.json | 5 +- .../src/EventBridgeClientInstance.ts | 3 + .../src/EventBridgeClientInstanceConfig.ts | 3 + .../src/EventBridgeService.ts | 6 + packages/client-iam/.gitattributes | 1 + packages/client-iam/.gitignore | 2 + packages/client-iam/.projen/deps.json | 4 + packages/client-iam/.projen/files.json | 1 + packages/client-iam/docgen.json | 8 + packages/client-iam/package.json | 5 +- packages/client-iam/src/IAMClientInstance.ts | 3 + .../client-iam/src/IAMClientInstanceConfig.ts | 3 + packages/client-iam/src/IAMService.ts | 3 + packages/client-lambda/.gitattributes | 1 + packages/client-lambda/.gitignore | 2 + packages/client-lambda/.projen/deps.json | 4 + packages/client-lambda/.projen/files.json | 1 + packages/client-lambda/docgen.json | 8 + packages/client-lambda/package.json | 5 +- .../client-lambda/src/LambdaClientInstance.ts | 3 + .../src/LambdaClientInstanceConfig.ts | 3 + packages/client-lambda/src/LambdaService.ts | 6 + packages/client-s3/.gitattributes | 1 + packages/client-s3/.gitignore | 2 + packages/client-s3/.projen/deps.json | 4 + packages/client-s3/.projen/files.json | 1 + packages/client-s3/docgen.json | 8 + packages/client-s3/package.json | 5 +- packages/client-s3/src/S3ClientInstance.ts | 3 + .../client-s3/src/S3ClientInstanceConfig.ts | 3 + packages/client-s3/src/S3Service.ts | 6 + packages/client-sfn/.gitattributes | 1 + packages/client-sfn/.gitignore | 2 + packages/client-sfn/.projen/deps.json | 4 + packages/client-sfn/.projen/files.json | 1 + packages/client-sfn/docgen.json | 8 + packages/client-sfn/package.json | 5 +- packages/client-sfn/src/SFNClientInstance.ts | 3 + .../client-sfn/src/SFNClientInstanceConfig.ts | 3 + packages/client-sfn/src/SFNService.ts | 6 + packages/client-sns/.gitattributes | 1 + packages/client-sns/.gitignore | 2 + packages/client-sns/.projen/deps.json | 4 + packages/client-sns/.projen/files.json | 1 + packages/client-sns/docgen.json | 8 + packages/client-sns/package.json | 5 +- packages/client-sns/src/SNSClientInstance.ts | 3 + .../client-sns/src/SNSClientInstanceConfig.ts | 3 + packages/client-sns/src/SNSService.ts | 6 + packages/client-sqs/.gitattributes | 1 + packages/client-sqs/.gitignore | 2 + packages/client-sqs/.projen/deps.json | 4 + packages/client-sqs/.projen/files.json | 1 + packages/client-sqs/docgen.json | 8 + packages/client-sqs/package.json | 5 +- packages/client-sqs/src/SQSClientInstance.ts | 3 + .../client-sqs/src/SQSClientInstanceConfig.ts | 3 + packages/client-sqs/src/SQSService.ts | 6 + packages/lambda/.gitattributes | 1 + packages/lambda/.gitignore | 2 + packages/lambda/.projen/deps.json | 4 + packages/lambda/.projen/files.json | 1 + packages/lambda/docgen.json | 8 + packages/lambda/package.json | 5 +- packages/lambda/src/Handler.ts | 6 + packages/lambda/src/Runtime.ts | 3 + packages/powertools-logger/.gitattributes | 1 + packages/powertools-logger/.gitignore | 2 + packages/powertools-logger/.projen/deps.json | 4 + packages/powertools-logger/.projen/files.json | 1 + packages/powertools-logger/docgen.json | 8 + packages/powertools-logger/package.json | 5 +- packages/powertools-logger/src/Logger.ts | 15 + .../powertools-logger/src/LoggerInstance.ts | 3 + .../powertools-logger/src/LoggerOptions.ts | 3 + pnpm-lock.yaml | 647 ++++++++++++++++++ projenrc/docgen.ts | 26 + projenrc/typescript-project.ts | 5 + scripts/docs.mjs | 65 ++ 112 files changed, 1203 insertions(+), 12 deletions(-) create mode 100644 .github/actions/setup/action.yml create mode 100644 .github/workflows/pages.yml rename .github/workflows/{pt.yml => pr.yml} (97%) create mode 100644 .vscode/.gitignore create mode 100644 docs/_config.yml create mode 100644 docs/index.md create mode 100644 packages/client-api-gateway-management-api/docgen.json create mode 100644 packages/client-dynamodb/docgen.json create mode 100644 packages/client-eventbridge/docgen.json create mode 100644 packages/client-iam/docgen.json create mode 100644 packages/client-lambda/docgen.json create mode 100644 packages/client-s3/docgen.json create mode 100644 packages/client-sfn/docgen.json create mode 100644 packages/client-sns/docgen.json create mode 100644 packages/client-sqs/docgen.json create mode 100644 packages/lambda/docgen.json create mode 100644 packages/powertools-logger/docgen.json create mode 100644 projenrc/docgen.ts create mode 100644 scripts/docs.mjs diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 00000000..7bdb2172 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,21 @@ +name: Setup +description: Perform standard setup and install dependencies using pnpm. +inputs: + node-version: + description: The version of Node.js to install + required: true + default: 18.17.0 + +runs: + using: composite + steps: + - name: Install pnpm + uses: pnpm/action-setup@v2 + - name: Install node + uses: actions/setup-node@v3 + with: + cache: pnpm + node-version: ${{ inputs.node-version }} + - name: Install dependencies + shell: bash + run: pnpm install --ignore-scripts diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 00000000..8a07006c --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,51 @@ +name: Pages Flow + +on: + pull_request: + branches: [main] + push: + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + uses: ./.github/actions/setup + - run: pnpm docgen + - name: Build pages Jekyll + if: github.repository_owner == 'floydspace' && github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: actions/jekyll-build-pages@v1 + with: + source: ./docs + destination: ./_site + - name: Upload pages artifact + if: github.repository_owner == 'floydspace' && github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: actions/upload-pages-artifact@v2 + + deploy: + if: github.repository_owner == 'floydspace' && github.event_name == 'push' && github.ref == 'refs/heads/main' + name: Deploy + runs-on: ubuntu-latest + timeout-minutes: 10 + needs: build + permissions: + pages: write # To deploy to GitHub Pages + id-token: write # To verify the deployment originates from an appropriate source + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.github/workflows/pt.yml b/.github/workflows/pr.yml similarity index 97% rename from .github/workflows/pt.yml rename to .github/workflows/pr.yml index cdd1cd19..362af05f 100644 --- a/.github/workflows/pt.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ on: jobs: build: - runs-on: self-hosted + runs-on: ubuntu-latest strategy: matrix: diff --git a/.gitignore b/.gitignore index ef00caf1..c720c58b 100644 --- a/.gitignore +++ b/.gitignore @@ -48,4 +48,5 @@ jspm_packages/ !/.github/FUNDING.yml !/.changeset/config.json .direnv/ +docs/ !/pnpm-workspace.yaml diff --git a/.projen/tasks.json b/.projen/tasks.json index a27cd304..b2adaa50 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -41,6 +41,14 @@ } ] }, + "docgen": { + "name": "docgen", + "steps": [ + { + "exec": "pnpm exec nx run-many --target=docgen --output-style=stream --nx-bail && node scripts/docs.mjs" + } + ] + }, "eject": { "name": "eject", "description": "Remove projen from the project", diff --git a/.projenrc.ts b/.projenrc.ts index d91b852e..ba8a9387 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -10,6 +10,7 @@ const project = new monorepo.MonorepoTsProject({ name: name, description: "Effectful AWS", repository: `github:${repo}`, + homepage: `https://${org}.github.io/${name}`, authorEmail: "ifloydrose@gmail.com", authorName: "Victor Korzunin", license: "MIT", @@ -19,6 +20,10 @@ const project = new monorepo.MonorepoTsProject({ devDeps: ["@types/jest"], // needed for vscode to not complain about jest types }); +project.addTask("docgen", { + exec: "pnpm exec nx run-many --target=docgen --output-style=stream --nx-bail && node scripts/docs.mjs", +}); + new YamlFile(project, ".github/FUNDING.yml", { obj: { github: org } }); new Changesets(project, { @@ -124,5 +129,6 @@ new TypeScriptLibProject({ }); project.addGitIgnore(".direnv/"); // flake environment creates .direnv folder +project.addGitIgnore("docs/"); // docs are generated project.synth(); diff --git a/.vscode/.gitignore b/.vscode/.gitignore new file mode 100644 index 00000000..c3d3a20e --- /dev/null +++ b/.vscode/.gitignore @@ -0,0 +1 @@ +settings.json \ No newline at end of file diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 00000000..754cf186 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,5 @@ +remote_theme: mikearnaldi/just-the-docs +search_enabled: true +aux_links: + "GitHub": + - "//github.com/floydspace/effect-aws" diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..4ee0bec2 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction +permalink: / +nav_order: 1 +has_children: false +has_toc: false +--- + +## Work In Progress diff --git a/package.json b/package.json index c2a4f1a9..e46bfb69 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "bump": "pnpm exec projen bump", "compile": "pnpm exec projen compile", "default": "pnpm exec projen default", + "docgen": "pnpm exec projen docgen", "eject": "pnpm exec projen eject", "eslint": "pnpm exec projen eslint", "graph": "pnpm exec projen graph", @@ -71,6 +72,7 @@ }, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "version": "0.0.0", "types": "lib/index.d.ts", "private": true, diff --git a/packages/client-api-gateway-management-api/.gitattributes b/packages/client-api-gateway-management-api/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-api-gateway-management-api/.gitattributes +++ b/packages/client-api-gateway-management-api/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-api-gateway-management-api/.gitignore b/packages/client-api-gateway-management-api/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-api-gateway-management-api/.gitignore +++ b/packages/client-api-gateway-management-api/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-api-gateway-management-api/.projen/deps.json b/packages/client-api-gateway-management-api/.projen/deps.json index a43db02c..c417f38c 100644 --- a/packages/client-api-gateway-management-api/.projen/deps.json +++ b/packages/client-api-gateway-management-api/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-api-gateway-management-api/.projen/files.json b/packages/client-api-gateway-management-api/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-api-gateway-management-api/.projen/files.json +++ b/packages/client-api-gateway-management-api/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-api-gateway-management-api/docgen.json b/packages/client-api-gateway-management-api/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-api-gateway-management-api/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-api-gateway-management-api/package.json b/packages/client-api-gateway-management-api/package.json index a8b7b476..39ab571c 100644 --- a/packages/client-api-gateway-management-api/package.json +++ b/packages/client-api-gateway-management-api/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstance.ts b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstance.ts index c0325674..ba1d7195 100644 --- a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstance.ts +++ b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { ApiGatewayManagementApiClient } from "@aws-sdk/client-apigatewaymanagementapi"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstanceConfig.ts b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstanceConfig.ts index 695344dd..99e34ee3 100644 --- a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstanceConfig.ts +++ b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { ApiGatewayManagementApiClientConfig } from "@aws-sdk/client-apigatewaymanagementapi"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiService.ts b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiService.ts index 26b01254..7d4f3866 100644 --- a/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiService.ts +++ b/packages/client-api-gateway-management-api/src/ApiGatewayManagementApiService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { ApiGatewayManagementApiServiceException, DeleteConnectionCommand, @@ -165,12 +168,14 @@ export const DefaultApiGatewayManagementApiServiceLayer = // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseApiGatewayManagementApiServiceEffect = makeApiGatewayManagementApiService; /** + * @since 0.1.0 * @deprecated */ export const ApiGatewayManagementApiServiceEffect = @@ -179,6 +184,7 @@ export const ApiGatewayManagementApiServiceEffect = ); /** + * @since 0.1.0 * @deprecated */ export const DefaultApiGatewayManagementApiServiceEffect = diff --git a/packages/client-dynamodb/.gitattributes b/packages/client-dynamodb/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-dynamodb/.gitattributes +++ b/packages/client-dynamodb/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-dynamodb/.gitignore b/packages/client-dynamodb/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-dynamodb/.gitignore +++ b/packages/client-dynamodb/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-dynamodb/.projen/deps.json b/packages/client-dynamodb/.projen/deps.json index 3b0d027d..eef14362 100644 --- a/packages/client-dynamodb/.projen/deps.json +++ b/packages/client-dynamodb/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-dynamodb/.projen/files.json b/packages/client-dynamodb/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-dynamodb/.projen/files.json +++ b/packages/client-dynamodb/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-dynamodb/docgen.json b/packages/client-dynamodb/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-dynamodb/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-dynamodb/package.json b/packages/client-dynamodb/package.json index cb99d299..f0a2d06d 100644 --- a/packages/client-dynamodb/package.json +++ b/packages/client-dynamodb/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-dynamodb/src/DynamoDBClientInstance.ts b/packages/client-dynamodb/src/DynamoDBClientInstance.ts index 813cff73..b1b5fcef 100644 --- a/packages/client-dynamodb/src/DynamoDBClientInstance.ts +++ b/packages/client-dynamodb/src/DynamoDBClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-dynamodb/src/DynamoDBClientInstanceConfig.ts b/packages/client-dynamodb/src/DynamoDBClientInstanceConfig.ts index c7f0150c..b9d043e3 100644 --- a/packages/client-dynamodb/src/DynamoDBClientInstanceConfig.ts +++ b/packages/client-dynamodb/src/DynamoDBClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { DynamoDBClientConfig } from "@aws-sdk/client-dynamodb"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-dynamodb/src/DynamoDBService.ts b/packages/client-dynamodb/src/DynamoDBService.ts index afd7aab0..8e3ed309 100644 --- a/packages/client-dynamodb/src/DynamoDBService.ts +++ b/packages/client-dynamodb/src/DynamoDBService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { BatchExecuteStatementCommand, BatchExecuteStatementCommandInput, @@ -1175,11 +1178,13 @@ export const DefaultDynamoDBServiceLayer = DynamoDBServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseDynamoDBServiceEffect = makeDynamoDBService; /** + * @since 0.1.0 * @deprecated */ export const DynamoDBServiceEffect = BaseDynamoDBServiceEffect.pipe( @@ -1187,6 +1192,7 @@ export const DynamoDBServiceEffect = BaseDynamoDBServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultDynamoDBServiceEffect = BaseDynamoDBServiceEffect.pipe( diff --git a/packages/client-eventbridge/.gitattributes b/packages/client-eventbridge/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-eventbridge/.gitattributes +++ b/packages/client-eventbridge/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-eventbridge/.gitignore b/packages/client-eventbridge/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-eventbridge/.gitignore +++ b/packages/client-eventbridge/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-eventbridge/.projen/deps.json b/packages/client-eventbridge/.projen/deps.json index 4d7bcf89..5d770782 100644 --- a/packages/client-eventbridge/.projen/deps.json +++ b/packages/client-eventbridge/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-eventbridge/.projen/files.json b/packages/client-eventbridge/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-eventbridge/.projen/files.json +++ b/packages/client-eventbridge/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-eventbridge/docgen.json b/packages/client-eventbridge/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-eventbridge/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-eventbridge/package.json b/packages/client-eventbridge/package.json index bd32f5de..62b602a1 100644 --- a/packages/client-eventbridge/package.json +++ b/packages/client-eventbridge/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-eventbridge/src/EventBridgeClientInstance.ts b/packages/client-eventbridge/src/EventBridgeClientInstance.ts index 396af071..3e5f126f 100644 --- a/packages/client-eventbridge/src/EventBridgeClientInstance.ts +++ b/packages/client-eventbridge/src/EventBridgeClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { EventBridgeClient } from "@aws-sdk/client-eventbridge"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-eventbridge/src/EventBridgeClientInstanceConfig.ts b/packages/client-eventbridge/src/EventBridgeClientInstanceConfig.ts index e63b9948..46f72968 100644 --- a/packages/client-eventbridge/src/EventBridgeClientInstanceConfig.ts +++ b/packages/client-eventbridge/src/EventBridgeClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { EventBridgeClientConfig } from "@aws-sdk/client-eventbridge"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-eventbridge/src/EventBridgeService.ts b/packages/client-eventbridge/src/EventBridgeService.ts index ab7059dc..0b545ef3 100644 --- a/packages/client-eventbridge/src/EventBridgeService.ts +++ b/packages/client-eventbridge/src/EventBridgeService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { ActivateEventSourceCommand, ActivateEventSourceCommandInput, @@ -857,11 +860,13 @@ export const DefaultEventBridgeServiceLayer = EventBridgeServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseEventBridgeServiceEffect = makeEventBridgeService; /** + * @since 0.1.0 * @deprecated */ export const EventBridgeServiceEffect = BaseEventBridgeServiceEffect.pipe( @@ -869,6 +874,7 @@ export const EventBridgeServiceEffect = BaseEventBridgeServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultEventBridgeServiceEffect = diff --git a/packages/client-iam/.gitattributes b/packages/client-iam/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-iam/.gitattributes +++ b/packages/client-iam/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-iam/.gitignore b/packages/client-iam/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-iam/.gitignore +++ b/packages/client-iam/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-iam/.projen/deps.json b/packages/client-iam/.projen/deps.json index 2d8b3c7a..ec1835ba 100644 --- a/packages/client-iam/.projen/deps.json +++ b/packages/client-iam/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-iam/.projen/files.json b/packages/client-iam/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-iam/.projen/files.json +++ b/packages/client-iam/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-iam/docgen.json b/packages/client-iam/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-iam/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-iam/package.json b/packages/client-iam/package.json index 845c9e65..1c6ea51c 100644 --- a/packages/client-iam/package.json +++ b/packages/client-iam/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-iam/src/IAMClientInstance.ts b/packages/client-iam/src/IAMClientInstance.ts index 3a7801a6..f4dfb241 100644 --- a/packages/client-iam/src/IAMClientInstance.ts +++ b/packages/client-iam/src/IAMClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { IAMClient } from "@aws-sdk/client-iam"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-iam/src/IAMClientInstanceConfig.ts b/packages/client-iam/src/IAMClientInstanceConfig.ts index f6216676..e25d89b7 100644 --- a/packages/client-iam/src/IAMClientInstanceConfig.ts +++ b/packages/client-iam/src/IAMClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { IAMClientConfig } from "@aws-sdk/client-iam"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-iam/src/IAMService.ts b/packages/client-iam/src/IAMService.ts index 9f0254a7..c3732063 100644 --- a/packages/client-iam/src/IAMService.ts +++ b/packages/client-iam/src/IAMService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { IAMServiceException, AddClientIDToOpenIDConnectProviderCommand, diff --git a/packages/client-lambda/.gitattributes b/packages/client-lambda/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-lambda/.gitattributes +++ b/packages/client-lambda/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-lambda/.gitignore b/packages/client-lambda/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-lambda/.gitignore +++ b/packages/client-lambda/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-lambda/.projen/deps.json b/packages/client-lambda/.projen/deps.json index a4237dcf..18a8d1b0 100644 --- a/packages/client-lambda/.projen/deps.json +++ b/packages/client-lambda/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-lambda/.projen/files.json b/packages/client-lambda/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-lambda/.projen/files.json +++ b/packages/client-lambda/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-lambda/docgen.json b/packages/client-lambda/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-lambda/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-lambda/package.json b/packages/client-lambda/package.json index 248aff9e..c7070a36 100644 --- a/packages/client-lambda/package.json +++ b/packages/client-lambda/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-lambda/src/LambdaClientInstance.ts b/packages/client-lambda/src/LambdaClientInstance.ts index dbf49af8..23e9b1f5 100644 --- a/packages/client-lambda/src/LambdaClientInstance.ts +++ b/packages/client-lambda/src/LambdaClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { LambdaClient } from "@aws-sdk/client-lambda"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-lambda/src/LambdaClientInstanceConfig.ts b/packages/client-lambda/src/LambdaClientInstanceConfig.ts index d19a5d1e..e477951b 100644 --- a/packages/client-lambda/src/LambdaClientInstanceConfig.ts +++ b/packages/client-lambda/src/LambdaClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { LambdaClientConfig } from "@aws-sdk/client-lambda"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-lambda/src/LambdaService.ts b/packages/client-lambda/src/LambdaService.ts index 72038570..408a60c6 100644 --- a/packages/client-lambda/src/LambdaService.ts +++ b/packages/client-lambda/src/LambdaService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { AddLayerVersionPermissionCommand, AddLayerVersionPermissionCommandInput, @@ -1057,11 +1060,13 @@ export const DefaultLambdaServiceLayer = LambdaServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseLambdaServiceEffect = makeLambdaService; /** + * @since 0.1.0 * @deprecated */ export const LambdaServiceEffect = BaseLambdaServiceEffect.pipe( @@ -1069,6 +1074,7 @@ export const LambdaServiceEffect = BaseLambdaServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultLambdaServiceEffect = BaseLambdaServiceEffect.pipe( diff --git a/packages/client-s3/.gitattributes b/packages/client-s3/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-s3/.gitattributes +++ b/packages/client-s3/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-s3/.gitignore b/packages/client-s3/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-s3/.gitignore +++ b/packages/client-s3/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-s3/.projen/deps.json b/packages/client-s3/.projen/deps.json index 0cbca774..6b44376e 100644 --- a/packages/client-s3/.projen/deps.json +++ b/packages/client-s3/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-s3/.projen/files.json b/packages/client-s3/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-s3/.projen/files.json +++ b/packages/client-s3/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-s3/docgen.json b/packages/client-s3/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-s3/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-s3/package.json b/packages/client-s3/package.json index 9d8f3451..2cf77630 100644 --- a/packages/client-s3/package.json +++ b/packages/client-s3/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -48,6 +50,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-s3/src/S3ClientInstance.ts b/packages/client-s3/src/S3ClientInstance.ts index 375ed8b5..fe91e135 100644 --- a/packages/client-s3/src/S3ClientInstance.ts +++ b/packages/client-s3/src/S3ClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { S3Client } from "@aws-sdk/client-s3"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-s3/src/S3ClientInstanceConfig.ts b/packages/client-s3/src/S3ClientInstanceConfig.ts index a6bc5136..2f1d7cb8 100644 --- a/packages/client-s3/src/S3ClientInstanceConfig.ts +++ b/packages/client-s3/src/S3ClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { S3ClientConfig } from "@aws-sdk/client-s3"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-s3/src/S3Service.ts b/packages/client-s3/src/S3Service.ts index b1748d91..679c2e78 100644 --- a/packages/client-s3/src/S3Service.ts +++ b/packages/client-s3/src/S3Service.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { AbortMultipartUploadCommand, AbortMultipartUploadCommandInput, @@ -1584,11 +1587,13 @@ export const DefaultS3ServiceLayer = S3ServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseS3ServiceEffect = makeS3Service; /** + * @since 0.1.0 * @deprecated */ export const S3ServiceEffect = BaseS3ServiceEffect.pipe( @@ -1596,6 +1601,7 @@ export const S3ServiceEffect = BaseS3ServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultS3ServiceEffect = BaseS3ServiceEffect.pipe( diff --git a/packages/client-sfn/.gitattributes b/packages/client-sfn/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-sfn/.gitattributes +++ b/packages/client-sfn/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-sfn/.gitignore b/packages/client-sfn/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-sfn/.gitignore +++ b/packages/client-sfn/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-sfn/.projen/deps.json b/packages/client-sfn/.projen/deps.json index a8882b12..66ca474a 100644 --- a/packages/client-sfn/.projen/deps.json +++ b/packages/client-sfn/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-sfn/.projen/files.json b/packages/client-sfn/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-sfn/.projen/files.json +++ b/packages/client-sfn/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-sfn/docgen.json b/packages/client-sfn/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-sfn/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-sfn/package.json b/packages/client-sfn/package.json index 9b199c10..25a0c31c 100644 --- a/packages/client-sfn/package.json +++ b/packages/client-sfn/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-sfn/src/SFNClientInstance.ts b/packages/client-sfn/src/SFNClientInstance.ts index 8c6eef5c..4d6f5a7e 100644 --- a/packages/client-sfn/src/SFNClientInstance.ts +++ b/packages/client-sfn/src/SFNClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { SFNClient } from "@aws-sdk/client-sfn"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sfn/src/SFNClientInstanceConfig.ts b/packages/client-sfn/src/SFNClientInstanceConfig.ts index 2c3f1204..33c8b0ab 100644 --- a/packages/client-sfn/src/SFNClientInstanceConfig.ts +++ b/packages/client-sfn/src/SFNClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { SFNClientConfig } from "@aws-sdk/client-sfn"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sfn/src/SFNService.ts b/packages/client-sfn/src/SFNService.ts index 7f10d46d..e962cb14 100644 --- a/packages/client-sfn/src/SFNService.ts +++ b/packages/client-sfn/src/SFNService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { CreateActivityCommand, CreateActivityCommandInput, @@ -754,11 +757,13 @@ export const DefaultSFNServiceLayer = SFNServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseSFNServiceEffect = makeSFNService; /** + * @since 0.1.0 * @deprecated */ export const SFNServiceEffect = BaseSFNServiceEffect.pipe( @@ -766,6 +771,7 @@ export const SFNServiceEffect = BaseSFNServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultSFNServiceEffect = BaseSFNServiceEffect.pipe( diff --git a/packages/client-sns/.gitattributes b/packages/client-sns/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-sns/.gitattributes +++ b/packages/client-sns/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-sns/.gitignore b/packages/client-sns/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-sns/.gitignore +++ b/packages/client-sns/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-sns/.projen/deps.json b/packages/client-sns/.projen/deps.json index b24a160b..c95112f0 100644 --- a/packages/client-sns/.projen/deps.json +++ b/packages/client-sns/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-sns/.projen/files.json b/packages/client-sns/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-sns/.projen/files.json +++ b/packages/client-sns/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-sns/docgen.json b/packages/client-sns/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-sns/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-sns/package.json b/packages/client-sns/package.json index 64376528..80f9ffcc 100644 --- a/packages/client-sns/package.json +++ b/packages/client-sns/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-sns/src/SNSClientInstance.ts b/packages/client-sns/src/SNSClientInstance.ts index 5bc87f0d..76fad797 100644 --- a/packages/client-sns/src/SNSClientInstance.ts +++ b/packages/client-sns/src/SNSClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { SNSClient } from "@aws-sdk/client-sns"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sns/src/SNSClientInstanceConfig.ts b/packages/client-sns/src/SNSClientInstanceConfig.ts index fe483e7a..25713e4e 100644 --- a/packages/client-sns/src/SNSClientInstanceConfig.ts +++ b/packages/client-sns/src/SNSClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { SNSClientConfig } from "@aws-sdk/client-sns"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sns/src/SNSService.ts b/packages/client-sns/src/SNSService.ts index 01db53db..cd1f7600 100644 --- a/packages/client-sns/src/SNSService.ts +++ b/packages/client-sns/src/SNSService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { AddPermissionCommand, AddPermissionCommandInput, @@ -1006,11 +1009,13 @@ export const DefaultSNSServiceLayer = SNSServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseSNSServiceEffect = makeSNSService; /** + * @since 0.1.0 * @deprecated */ export const SNSServiceEffect = BaseSNSServiceEffect.pipe( @@ -1018,6 +1023,7 @@ export const SNSServiceEffect = BaseSNSServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultSNSServiceEffect = BaseSNSServiceEffect.pipe( diff --git a/packages/client-sqs/.gitattributes b/packages/client-sqs/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/client-sqs/.gitattributes +++ b/packages/client-sqs/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/client-sqs/.gitignore b/packages/client-sqs/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/client-sqs/.gitignore +++ b/packages/client-sqs/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/client-sqs/.projen/deps.json b/packages/client-sqs/.projen/deps.json index 5156f642..421a34a8 100644 --- a/packages/client-sqs/.projen/deps.json +++ b/packages/client-sqs/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/jest", "type": "build" diff --git a/packages/client-sqs/.projen/files.json b/packages/client-sqs/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/client-sqs/.projen/files.json +++ b/packages/client-sqs/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/client-sqs/docgen.json b/packages/client-sqs/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/client-sqs/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/client-sqs/package.json b/packages/client-sqs/package.json index 67b4d333..219f5e98 100644 --- a/packages/client-sqs/package.json +++ b/packages/client-sqs/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/jest": "^29.5.5", "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^6", @@ -47,6 +49,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/client-sqs/src/SQSClientInstance.ts b/packages/client-sqs/src/SQSClientInstance.ts index 4f3682c2..d98e3cad 100644 --- a/packages/client-sqs/src/SQSClientInstance.ts +++ b/packages/client-sqs/src/SQSClientInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { SQSClient } from "@aws-sdk/client-sqs"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sqs/src/SQSClientInstanceConfig.ts b/packages/client-sqs/src/SQSClientInstanceConfig.ts index 812840e7..77c2457a 100644 --- a/packages/client-sqs/src/SQSClientInstanceConfig.ts +++ b/packages/client-sqs/src/SQSClientInstanceConfig.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { SQSClientConfig } from "@aws-sdk/client-sqs"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/client-sqs/src/SQSService.ts b/packages/client-sqs/src/SQSService.ts index 176a7ad3..ea3a1847 100644 --- a/packages/client-sqs/src/SQSService.ts +++ b/packages/client-sqs/src/SQSService.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { AddPermissionCommand, AddPermissionCommandInput, @@ -394,11 +397,13 @@ export const DefaultSQSServiceLayer = SQSServiceLayer.pipe( // -------------------- Danger Zone -------------------- /** + * @since 0.1.0 * @deprecated */ export const BaseSQSServiceEffect = makeSQSService; /** + * @since 0.1.0 * @deprecated */ export const SQSServiceEffect = BaseSQSServiceEffect.pipe( @@ -406,6 +411,7 @@ export const SQSServiceEffect = BaseSQSServiceEffect.pipe( ); /** + * @since 0.1.0 * @deprecated */ export const DefaultSQSServiceEffect = BaseSQSServiceEffect.pipe( diff --git a/packages/lambda/.gitattributes b/packages/lambda/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/lambda/.gitattributes +++ b/packages/lambda/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/lambda/.gitignore b/packages/lambda/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/lambda/.gitignore +++ b/packages/lambda/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/lambda/.projen/deps.json b/packages/lambda/.projen/deps.json index 6483b022..1faf460d 100644 --- a/packages/lambda/.projen/deps.json +++ b/packages/lambda/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/aws-lambda", "type": "build" diff --git a/packages/lambda/.projen/files.json b/packages/lambda/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/lambda/.projen/files.json +++ b/packages/lambda/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/lambda/docgen.json b/packages/lambda/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/lambda/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/lambda/package.json b/packages/lambda/package.json index d3325ac4..62c81a1c 100644 --- a/packages/lambda/package.json +++ b/packages/lambda/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/aws-lambda": "^8.10.125", "@types/jest": "^29.5.5", "@types/node": "^16", @@ -42,6 +44,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/lambda/src/Handler.ts b/packages/lambda/src/Handler.ts index 898f702f..686e779d 100644 --- a/packages/lambda/src/Handler.ts +++ b/packages/lambda/src/Handler.ts @@ -1,8 +1,14 @@ +/** + * @since 1.0.0 + */ import type { Context } from "aws-lambda"; import { Layer, Runtime } from "effect"; import * as Effect from "effect/Effect"; import { fromLayer } from "./Runtime"; +/** + * @since 1.0.0 + */ export type Handler = ( event: TEvent, context: Context, diff --git a/packages/lambda/src/Runtime.ts b/packages/lambda/src/Runtime.ts index a8e34742..2269c9e2 100644 --- a/packages/lambda/src/Runtime.ts +++ b/packages/lambda/src/Runtime.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { Console, Effect, Exit, Layer, Scope } from "effect"; /** diff --git a/packages/powertools-logger/.gitattributes b/packages/powertools-logger/.gitattributes index 3d4472e4..e5c0c782 100644 --- a/packages/powertools-logger/.gitattributes +++ b/packages/powertools-logger/.gitattributes @@ -12,6 +12,7 @@ /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated +/docgen.json linguist-generated /jest.config.json linguist-generated /LICENSE linguist-generated /package.json linguist-generated diff --git a/packages/powertools-logger/.gitignore b/packages/powertools-logger/.gitignore index cd4750b6..5e08b063 100644 --- a/packages/powertools-logger/.gitignore +++ b/packages/powertools-logger/.gitignore @@ -43,4 +43,6 @@ jspm_packages/ /dist/ !/.eslintrc.json !/./tsconfig.esm.json +!/docgen.json +docs/ !/project.json diff --git a/packages/powertools-logger/.projen/deps.json b/packages/powertools-logger/.projen/deps.json index 5ece52ea..630c814a 100644 --- a/packages/powertools-logger/.projen/deps.json +++ b/packages/powertools-logger/.projen/deps.json @@ -1,5 +1,9 @@ { "dependencies": [ + { + "name": "@effect/docgen", + "type": "build" + }, { "name": "@types/aws-lambda", "type": "build" diff --git a/packages/powertools-logger/.projen/files.json b/packages/powertools-logger/.projen/files.json index 312ff318..81b09719 100644 --- a/packages/powertools-logger/.projen/files.json +++ b/packages/powertools-logger/.projen/files.json @@ -10,6 +10,7 @@ ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", + "docgen.json", "jest.config.json", "LICENSE", "project.json", diff --git a/packages/powertools-logger/docgen.json b/packages/powertools-logger/docgen.json new file mode 100644 index 00000000..3fd2e22f --- /dev/null +++ b/packages/powertools-logger/docgen.json @@ -0,0 +1,8 @@ +{ + "$schema": "node_modules/@effect/docgen/schema.json", + "exclude": [ + "src/index.ts", + "src/Errors.ts" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/powertools-logger/package.json b/packages/powertools-logger/package.json index 60072e0b..1349934b 100644 --- a/packages/powertools-logger/package.json +++ b/packages/powertools-logger/package.json @@ -10,7 +10,8 @@ "pre-compile": "npx projen pre-compile", "test": "npx projen test", "test:watch": "npx projen test:watch", - "watch": "npx projen watch" + "watch": "npx projen watch", + "docgen": "docgen" }, "author": { "name": "Victor Korzunin", @@ -18,6 +19,7 @@ "organization": false }, "devDependencies": { + "@effect/docgen": "^0.3.8", "@types/aws-lambda": "^8.10.125", "@types/jest": "^29.5.5", "@types/node": "^16", @@ -45,6 +47,7 @@ "pnpm": {}, "main": "lib/index.js", "license": "MIT", + "homepage": "https://floydspace.github.io/effect-aws", "publishConfig": { "access": "public" }, diff --git a/packages/powertools-logger/src/Logger.ts b/packages/powertools-logger/src/Logger.ts index 2b19df23..10f9fba8 100644 --- a/packages/powertools-logger/src/Logger.ts +++ b/packages/powertools-logger/src/Logger.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { Logger } from "@aws-lambda-powertools/logger"; import type { LogAttributes, @@ -37,31 +40,43 @@ const processLog = ( /** * Logs the specified message at the debug log level. * It prints a log item with level DEBUG. + * @since 1.0.0 + * @category logging */ export const logDebug = processLog(Effect.logDebug); /** * Logs the specified message at the info log level. * It prints a log item with level INFO. + * @since 1.0.0 + * @category logging */ export const logInfo = processLog(Effect.logInfo); /** * Logs the specified message at the warning log level. * It prints a log item with level WARN. + * @since 1.0.0 + * @category logging */ export const logWarning = processLog(Effect.logWarning); /** * Logs the specified message at the error log level. * It prints a log item with level ERROR. + * @since 1.0.0 + * @category logging */ export const logError = processLog(Effect.logError); /** * Logs the specified message at the fatal log level. * It prints a log item with level CRITICAL. + * @since 1.0.0 + * @category logging */ export const logFatal = processLog(Effect.logFatal); /** * Logs the specified message at the fatal log level. * It prints a log item with level CRITICAL. + * @since 1.0.0 + * @category logging * @alias logFatal */ export const logCritical = processLog(Effect.logFatal); diff --git a/packages/powertools-logger/src/LoggerInstance.ts b/packages/powertools-logger/src/LoggerInstance.ts index 6eb2bfa1..ca4d15db 100644 --- a/packages/powertools-logger/src/LoggerInstance.ts +++ b/packages/powertools-logger/src/LoggerInstance.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import { Logger } from "@aws-lambda-powertools/logger"; import * as Context from "effect/Context"; import * as Effect from "effect/Effect"; diff --git a/packages/powertools-logger/src/LoggerOptions.ts b/packages/powertools-logger/src/LoggerOptions.ts index 64a04a1e..d4579378 100644 --- a/packages/powertools-logger/src/LoggerOptions.ts +++ b/packages/powertools-logger/src/LoggerOptions.ts @@ -1,3 +1,6 @@ +/** + * @since 1.0.0 + */ import type { ConstructorOptions } from "@aws-lambda-powertools/logger/lib/types"; import * as Context from "effect/Context"; import * as Layer from "effect/Layer"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23ac47a6..46317ac5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,6 +93,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -157,6 +160,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -221,6 +227,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -285,6 +294,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -349,6 +361,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -416,6 +431,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -480,6 +498,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -544,6 +565,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -608,6 +632,9 @@ importers: specifier: ^3 version: 3.468.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/jest': specifier: ^29.5.5 version: 29.5.5 @@ -665,6 +692,9 @@ importers: packages/lambda: devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/aws-lambda': specifier: ^8.10.125 version: 8.10.125 @@ -723,6 +753,9 @@ importers: specifier: ^1.9.0 version: 1.14.0 devDependencies: + '@effect/docgen': + specifier: ^0.3.8 + version: 0.3.8(tsx@4.7.0)(typescript@5.2.2) '@types/aws-lambda': specifier: ^8.10.125 version: 8.10.125 @@ -2459,6 +2492,22 @@ packages: resolution: {integrity: sha512-QCYkLE5Y5Dm5Yax5R3GmW4ZIgTx7W+kSZ7yq5eqQ/mFWa8i4yxbLuu8cudqzdeZtRtTGZKlhDxfFfgVtMywXJg==} dev: true + /@effect/docgen@0.3.8(tsx@4.7.0)(typescript@5.2.2): + resolution: {integrity: sha512-yg777LXbKjgpHS+PC2dXS5tHTWRXQoCgcWJtM7CsNkZ2mefvmO7aufiRCaWYDnCF58otv10Tijuyanii4b2cxQ==} + engines: {node: '>=16.17.1'} + hasBin: true + peerDependencies: + tsx: ^4.1.0 + typescript: ^5.2.2 + dependencies: + doctrine: 3.0.0 + glob: 10.3.10 + markdown-toc: github.com/effect-ts/markdown-toc/4bfeb0f140105440ea0d12df2fa23199cc3ec1d5 + prettier: 3.2.4 + tsx: 4.7.0 + typescript: 5.2.2 + dev: true + /@effect/io@0.38.0(@effect/data@0.17.1): resolution: {integrity: sha512-qlVC9ASxNC+L2NKX5qOV9672CE5wWizfwBSFaX2XLI7CC118WRvohCTIPQ52n50Bj5TmR20+na+U9C7e4VkqzA==} peerDependencies: @@ -2488,6 +2537,213 @@ packages: fast-check: 3.13.0 dev: true + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4159,6 +4415,12 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true + /autolinker@0.28.1: + resolution: {integrity: sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==} + dependencies: + gulp-header: 1.8.12 + dev: true + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -4660,6 +4922,22 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + dev: true + + /concat-with-sourcemaps@1.1.0: + resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} + dependencies: + source-map: 0.6.1 + dev: true + /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -4694,6 +4972,10 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + /cosmiconfig@8.2.0: resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} engines: {node: '>=14'} @@ -4919,6 +5201,11 @@ packages: engines: {node: '>=8'} dev: true + /diacritics-map@0.1.0: + resolution: {integrity: sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==} + engines: {node: '>=0.8.0'} + dev: true + /diff-sequences@28.1.1: resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5127,6 +5414,37 @@ packages: is-symbol: 1.0.4 dev: true + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -5413,6 +5731,13 @@ packages: engines: {node: '>= 0.8.0'} dev: true + /expand-range@1.8.2: + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} + dependencies: + fill-range: 2.2.4 + dev: true + /expect@28.1.3: resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5439,6 +5764,13 @@ packages: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} dev: true + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + /extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} dev: true @@ -5534,6 +5866,17 @@ packages: flat-cache: 3.1.0 dev: true + /fill-range@2.2.4: + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 3.1.1 + repeat-element: 1.1.4 + repeat-string: 1.6.1 + dev: true + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -5598,6 +5941,11 @@ packages: is-callable: 1.2.7 dev: true + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -5762,6 +6110,12 @@ packages: resolve-pkg-maps: 1.0.0 dev: true + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5776,6 +6130,18 @@ packages: is-glob: 4.0.3 dev: true + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + dev: true + /glob@10.3.4: resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==} engines: {node: '>=16 || 14 >=14.17'} @@ -5887,6 +6253,25 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true + /gray-matter@3.1.1: + resolution: {integrity: sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + js-yaml: 3.14.1 + kind-of: 5.1.0 + strip-bom-string: 1.0.0 + dev: true + + /gulp-header@1.8.12: + resolution: {integrity: sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==} + deprecated: Removed event-stream from gulp-header + dependencies: + concat-with-sourcemaps: 1.1.0 + lodash.template: 4.5.0 + through2: 2.0.5 + dev: true + /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -6148,6 +6533,10 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -6185,6 +6574,18 @@ packages: hasBin: true dev: true + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -6249,6 +6650,18 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-number@2.1.0: + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@4.0.0: + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} + dev: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -6269,6 +6682,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -6357,6 +6777,10 @@ packages: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true @@ -6365,6 +6789,18 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -6433,6 +6869,15 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + /jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7002,6 +7447,18 @@ packages: json-buffer: 3.0.1 dev: true + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -7024,6 +7481,13 @@ packages: package-json: 8.1.1 dev: true + /lazy-cache@2.0.2: + resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} + engines: {node: '>=0.10.0'} + dependencies: + set-getter: 0.1.1 + dev: true + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -7046,6 +7510,16 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /list-item@1.1.1: + resolution: {integrity: sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==} + engines: {node: '>=0.10.0'} + dependencies: + expand-range: 1.8.2 + extend-shallow: 2.0.1 + is-number: 2.1.0 + repeat-string: 1.6.1 + dev: true + /load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -7070,6 +7544,10 @@ packages: p-locate: 5.0.0 dev: true + /lodash._reinterpolate@3.0.0: + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + dev: true + /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: true @@ -7085,6 +7563,19 @@ packages: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true + /lodash.template@4.5.0: + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: true + + /lodash.templatesettings@4.2.0: + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + dependencies: + lodash._reinterpolate: 3.0.0 + dev: true + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -7182,6 +7673,15 @@ packages: engines: {node: '>=8'} dev: true + /markdown-link@0.1.1: + resolution: {integrity: sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==} + engines: {node: '>=0.10.0'} + dev: true + + /math-random@1.0.4: + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + dev: true + /meow@6.1.1: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} @@ -7356,6 +7856,14 @@ packages: yallist: 4.0.0 dev: true + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + /mixme@0.5.9: resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} engines: {node: '>= 8.0.0'} @@ -7711,6 +8219,13 @@ packages: get-intrinsic: 1.2.1 dev: true + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} @@ -8020,6 +8535,12 @@ packages: hasBin: true dev: true + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pretty-format@28.1.3: resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -8044,6 +8565,10 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + /progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -8144,6 +8669,15 @@ packages: engines: {node: '>=10'} dev: true + /randomatic@3.1.1: + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} + dependencies: + is-number: 4.0.0 + kind-of: 6.0.3 + math-random: 1.0.4 + dev: true + /rc-config-loader@4.1.3: resolution: {integrity: sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==} dependencies: @@ -8224,6 +8758,18 @@ packages: strip-bom: 4.0.0 dev: true + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -8268,11 +8814,30 @@ packages: rc: 1.2.8 dev: true + /remarkable@1.7.4: + resolution: {integrity: sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==} + engines: {node: '>= 0.10.0'} + hasBin: true + dependencies: + argparse: 1.0.10 + autolinker: 0.28.1 + dev: true + /remote-git-tags@3.0.0: resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==} engines: {node: '>=8'} dev: true + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -8389,6 +8954,10 @@ packages: isarray: 2.0.5 dev: true + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true @@ -8455,6 +9024,13 @@ packages: has-property-descriptors: 1.0.0 dev: true + /set-getter@0.1.1: + resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==} + engines: {node: '>=0.10.0'} + dependencies: + to-object-path: 0.3.0 + dev: true + /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -8698,6 +9274,12 @@ packages: es-abstract: 1.22.2 dev: true + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -8718,6 +9300,11 @@ packages: ansi-regex: 6.0.1 dev: true + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: true + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -8728,6 +9315,11 @@ packages: engines: {node: '>=8'} dev: true + /strip-color@0.1.0: + resolution: {integrity: sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==} + engines: {node: '>=0.10.0'} + dev: true + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -8878,6 +9470,13 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + dev: true + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -8915,6 +9514,13 @@ packages: engines: {node: '>=4'} dev: true + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -9034,6 +9640,17 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tsx@4.7.0: + resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /tty-table@4.2.1: resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} engines: {node: '>=8.0.0'} @@ -9150,6 +9767,10 @@ packages: is-typedarray: 1.0.0 dev: true + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: true + /typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} @@ -9405,6 +10026,11 @@ packages: engines: {node: '>=12'} dev: true + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true @@ -9478,3 +10104,24 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + github.com/effect-ts/markdown-toc/4bfeb0f140105440ea0d12df2fa23199cc3ec1d5: + resolution: {tarball: https://codeload.github.com/effect-ts/markdown-toc/tar.gz/4bfeb0f140105440ea0d12df2fa23199cc3ec1d5} + name: markdown-toc + version: 1.2.0 + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + concat-stream: 1.6.2 + diacritics-map: 0.1.0 + gray-matter: 3.1.1 + lazy-cache: 2.0.2 + list-item: 1.1.1 + markdown-link: 0.1.1 + minimist: 1.2.8 + mixin-deep: 1.3.2 + object.pick: 1.3.0 + remarkable: 1.7.4 + repeat-string: 1.6.1 + strip-color: 0.1.0 + dev: true diff --git a/projenrc/docgen.ts b/projenrc/docgen.ts new file mode 100644 index 00000000..539817b7 --- /dev/null +++ b/projenrc/docgen.ts @@ -0,0 +1,26 @@ +import { Component, JsonFile, Project, javascript } from "projen"; + +export class Docgen extends Component { + public static of(project: Project): Docgen | undefined { + const isDocgen = (o: Component): o is Docgen => o instanceof Docgen; + return project.components.find(isDocgen); + } + + constructor(project: javascript.NodeProject) { + super(project); + + project.addDevDeps("@effect/docgen"); + + project.addScripts({ docgen: "docgen" }); + + new JsonFile(project, "docgen.json", { + obj: { + $schema: "node_modules/@effect/docgen/schema.json", + exclude: ["src/index.ts", "src/Errors.ts"], + }, + omitEmpty: true, + }); + + project.addGitIgnore("docs/"); + } +} diff --git a/projenrc/typescript-project.ts b/projenrc/typescript-project.ts index d1d25746..dcbb98f9 100644 --- a/projenrc/typescript-project.ts +++ b/projenrc/typescript-project.ts @@ -1,6 +1,7 @@ import path from "node:path"; import { JsonFile, javascript, typescript } from "projen"; +import { Docgen } from "./docgen"; type PredefinedProps = "defaultReleaseBranch" | "authorName" | "authorEmail"; @@ -19,6 +20,8 @@ export class TypeScriptLibProject extends typescript.TypeScriptProject { defaultReleaseBranch: "main", authorEmail: "ifloydrose@gmail.com", authorName: "Victor Korzunin", + homepage: (options.parent as javascript.NodeProject)?.package.manifest + .homepage, license: "MIT", packageManager: javascript.NodePackageManager.PNPM, outdir: `packages/${options.name}`, @@ -80,5 +83,7 @@ export class TypeScriptLibProject extends typescript.TypeScriptProject { this.npmignore?.addPatterns("/tsconfig.esm.json"); this.package.addField("publishConfig", { access: "public" }); + + new Docgen(this); } } diff --git a/scripts/docs.mjs b/scripts/docs.mjs new file mode 100644 index 00000000..d61c01dd --- /dev/null +++ b/scripts/docs.mjs @@ -0,0 +1,65 @@ +import * as Fs from "node:fs"; +import * as Path from "node:path"; + +function packages() { + return Fs.readdirSync("packages").filter((_) => + Fs.existsSync(Path.join("packages", _, "docs/modules")), + ); +} + +function pkgName(pkg) { + const packageJson = Fs.readFileSync( + Path.join("packages", pkg, "package.json"), + ); + return JSON.parse(packageJson).name; +} + +function copyFiles(pkg) { + const name = pkgName(pkg); + const docs = Path.join("packages", pkg, "docs/modules"); + const dest = Path.join("docs", pkg); + const files = Fs.readdirSync(docs, { withFileTypes: true }); + + function handleFiles(root, files) { + for (const file of files) { + const path = Path.join(docs, root, file.name); + const destPath = Path.join(dest, root, file.name); + + if (file.isDirectory()) { + Fs.mkdirSync(destPath, { recursive: true }); + handleFiles(file.name, Fs.readdirSync(path, { withFileTypes: true })); + continue; + } + + const content = Fs.readFileSync(path, "utf8").replace( + /^parent: Modules$/m, + `parent: "${name}"`, + ); + Fs.writeFileSync(destPath, content); + } + } + + Fs.rmSync(dest, { recursive: true, force: true }); + Fs.mkdirSync(dest, { recursive: true }); + handleFiles("", files); +} + +function generateIndex(pkg, order) { + const name = pkgName(pkg); + const content = `--- +title: "${name}" +has_children: true +permalink: /docs/${pkg} +nav_order: ${order} +--- +`; + + Fs.writeFileSync(Path.join("docs", pkg, "index.md"), content); +} + +packages().forEach((pkg, i) => { + Fs.rmSync(Path.join("docs", pkg), { recursive: true, force: true }); + Fs.mkdirSync(Path.join("docs", pkg), { recursive: true }); + copyFiles(pkg); + generateIndex(pkg, i + 2); +});