From 80c85e496efcc5ae31f55a26048680b8e92b5911 Mon Sep 17 00:00:00 2001 From: saltyaom Date: Tue, 16 Jul 2024 18:57:22 +0700 Subject: [PATCH] :broom: chore: bump version --- .npmignore | 7 +++- CHANGELOG.md | 5 +++ bun.lockb | Bin 42550 -> 90365 bytes pac | 0 package.json | 96 +++++++++++++++++++++--------------------- src/index.ts | 3 ++ tsconfig.cjs.json | 104 ---------------------------------------------- tsconfig.esm.json | 104 ---------------------------------------------- 8 files changed, 61 insertions(+), 258 deletions(-) create mode 100644 pac delete mode 100644 tsconfig.cjs.json delete mode 100644 tsconfig.esm.json diff --git a/.npmignore b/.npmignore index 51c8627..03d59c0 100644 --- a/.npmignore +++ b/.npmignore @@ -1,11 +1,10 @@ .git -.gitignore .github +.gitignore .prettierrc .cjs.swcrc .es.swcrc bun.lockb -src node_modules tsconfig.json @@ -20,3 +19,7 @@ CHANGELOG.md .eslintrc.js tsconfig.cjs.json tsconfig.esm.json +tsconfig.dts.json + +build.ts +src diff --git a/CHANGELOG.md b/CHANGELOG.md index a95da50..079ebce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ + +# 1.1.0 - 16 Jul 2024 +Change: +- Add support for Elysia 1.1 + # 1.0.5 - 14 Jul 2024 Bug fix: - fix content-type on preflight diff --git a/bun.lockb b/bun.lockb index bc3591054a03d29572b6fd599dfcad8291739d81..1063d20bf593de46c080b555578ed24ef8997449 100755 GIT binary patch literal 90365 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 IU--}e1H2Du5C8xG delta 10516 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 1.0.2" - } -} + "name": "@elysiajs/cors", + "version": "1.1.0", + "description": "Plugin for Elysia that for Cross Origin Requests (CORs)", + "author": { + "name": "saltyAom", + "url": "https://github.com/SaltyAom", + "email": "saltyaom@gmail.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/elysiajs/elysia-cors" + }, + "main": "./dist/cjs/index.js", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/cjs/index.js" + } + }, + "homepage": "https://github.com/elysiajs/elysia-cors", + "keywords": [ + "elysia", + "cors" + ], + "license": "MIT", + "scripts": { + "dev": "bun run --watch example/index.ts", + "test": "bun test && npm run test:node", + "test:node": "npm install --prefix ./test/node/cjs/ && npm install --prefix ./test/node/esm/ && node ./test/node/cjs/index.js && node ./test/node/esm/index.js", + "build": "bun build.ts", + "release": "npm run build && npm run test && npm publish --access public" + }, + "devDependencies": { + "@types/bun": "^1.1.6", + "@types/node": "^20.14.10", + "elysia": ">= 1.1.0-rc.2", + "eslint": "^8.26.0", + "tsup": "^8.1.0", + "typescript": "^5.5.2" + }, + "peerDependencies": { + "elysia": ">= 1.1.0" + } +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 86ce4b1..a82d4d6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -160,6 +160,7 @@ interface CORSConfig { preflight?: boolean } +// @ts-ignore const isBun = typeof new Headers()?.toJSON === 'function' /** @@ -301,6 +302,7 @@ export const cors = (config?: CORSConfig) => { defaultHeaders['access-control-expose-headers'] = exposeHeaders if (typeof allowedHeaders === 'string') + // @ts-ignore defaultHeaders['access-control-allow-headers'] = allowedHeaders if (credentials === true) @@ -336,6 +338,7 @@ export const cors = (config?: CORSConfig) => { handleMethod(set, request.method) if (allowedHeaders === true || exposeHeaders === true) { + // @ts-ignore const headers = processHeaders(request.headers) if (allowedHeaders === true) diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json deleted file mode 100644 index f0379e6..0000000 --- a/tsconfig.cjs.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - "lib": ["ESNext", "DOM", "ScriptHost"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "CommonJS", /* Specify what module code is generated. */ - // "rootDir": "./src", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - "baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - "types": ["bun-types"], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./dist/cjs", /* Specify an output folder for all emitted files. */ - "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true, /* Skip type checking all .d.ts files. */ - }, - "include": ["src/**/*"] -} diff --git a/tsconfig.esm.json b/tsconfig.esm.json deleted file mode 100644 index f164dbc..0000000 --- a/tsconfig.esm.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - "lib": ["ESNext", "DOM", "ScriptHost"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "ES2022", /* Specify what module code is generated. */ - // "rootDir": "./src", /* Specify the root folder within your source files. */ - "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - "baseUrl": "./src", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - "types": ["bun-types"], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./dist", /* Specify an output folder for all emitted files. */ - "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true, /* Skip type checking all .d.ts files. */ - }, - "include": ["src/**/*"] -}