diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0b8e1a2 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +custom: https://buy.stripe.com/3csdQZfzn2LDaBOcMN +open_collective: playform-cloud-collective diff --git a/.github/Update.md b/.github/Update.md new file mode 100644 index 0000000..47b0355 --- /dev/null +++ b/.github/Update.md @@ -0,0 +1 @@ +Update: Wed Jul 1 02:46:01 UTC 2026 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 575fdde..4e1578c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -12,3 +12,7 @@ updates: schedule: interval: "daily" versioning-strategy: increase + ignore: + - dependency-name: "tailwindcss" + versions: + - "^4.0.0" diff --git a/.github/workflows/Auto.yml b/.github/workflows/Auto.yml new file mode 100644 index 0000000..1c94eac --- /dev/null +++ b/.github/workflows/Auto.yml @@ -0,0 +1,68 @@ +name: Auto + +concurrency: + group: Auto-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + workflow_call: + +jobs: + Commit: + runs-on: ubuntu-latest + + env: + ADBLOCK: true + ASTRO_TELEMETRY_DISABLED: 1 + AUTOMATEDLAB_TELEMETRY_OPTOUT: 1 + AZURE_CORE_COLLECT_TELEMETRY: 0 + CHOOSENIM_NO_ANALYTICS: 1 + DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 + ET_NO_TELEMETRY: 1 + GATSBY_TELEMETRY_DISABLED: 1 + GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 + GRIT_TELEMETRY_DISABLED: 1 + HASURA_GRAPHQL_ENABLE_TELEMETRY: false + HINT_TELEMETRY: off + HOMEBREW_NO_ANALYTICS: 1 + INFLUXD_REPORTING_DISABLED: true + ITERATIVE_DO_NOT_TRACK: 1 + NEXT_TELEMETRY_DEBUG: 1 + NEXT_TELEMETRY_DISABLED: 1 + NG_CLI_ANALYTICS: false + NUXT_TELEMETRY_DISABLED: 1 + PIN_DO_NOT_TRACK: 1 + POWERSHELL_TELEMETRY_OPTOUT: 1 + SAM_CLI_TELEMETRY: 0 + STNOUPGRADE: 1 + STRIPE_CLI_TELEMETRY_OPTOUT: 1 + TELEMETRY_DISABLED: 1 + TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 + + steps: + - uses: actions/checkout@v7.0.0 + + - run: | + echo "Update: $(date)" > .github/Update.md + + - run: | + git config user.name "Auto" + git config user.email "Commit@PlayForm.Cloud" + git add . + git commit -a --allow-empty-message -m "" + + - uses: ad-m/github-push-action@v1.3.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: Current diff --git a/.github/workflows/Cloudflare.yml b/.github/workflows/Cloudflare.yml index 0644448..321967f 100644 --- a/.github/workflows/Cloudflare.yml +++ b/.github/workflows/Cloudflare.yml @@ -26,13 +26,13 @@ jobs: AZURE_CORE_COLLECT_TELEMETRY: 0 CHOOSENIM_NO_ANALYTICS: 1 DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 - DO_NOT_TRACK: 1 ET_NO_TELEMETRY: 1 GATSBY_TELEMETRY_DISABLED: 1 - GATSBY_TELEMETRY_OPTOUT: 1 GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 GRIT_TELEMETRY_DISABLED: 1 HASURA_GRAPHQL_ENABLE_TELEMETRY: false HINT_TELEMETRY: off @@ -49,11 +49,13 @@ jobs: STNOUPGRADE: 1 STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 + TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 steps: - - uses: actions/checkout@v4.1.5 + - uses: actions/checkout@v7.0.0 - - uses: cloudflare/wrangler-action@v3.5.0 + - uses: cloudflare/wrangler-action@v3.15.0 with: apiToken: ${{ secrets.CF_API_TOKEN }} accountId: ${{ secrets.CF_ACCOUNT_ID }} diff --git a/.github/workflows/Dependabot.yml b/.github/workflows/Dependabot.yml index e6091e5..67c76fb 100644 --- a/.github/workflows/Dependabot.yml +++ b/.github/workflows/Dependabot.yml @@ -20,7 +20,7 @@ jobs: if: ${{ github.actor == 'dependabot[bot]' }} steps: - - uses: dependabot/fetch-metadata@v2.1.0 + - uses: dependabot/fetch-metadata@v3.0.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" @@ -35,7 +35,7 @@ jobs: if: ${{ github.actor == 'dependabot[bot]' }} steps: - - uses: dependabot/fetch-metadata@v2.1.0 + - uses: dependabot/fetch-metadata@v3.0.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/GitHub.yml b/.github/workflows/GitHub.yml index 5e814e3..5d1a0c9 100644 --- a/.github/workflows/GitHub.yml +++ b/.github/workflows/GitHub.yml @@ -25,13 +25,13 @@ jobs: AZURE_CORE_COLLECT_TELEMETRY: 0 CHOOSENIM_NO_ANALYTICS: 1 DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 - DO_NOT_TRACK: 1 ET_NO_TELEMETRY: 1 GATSBY_TELEMETRY_DISABLED: 1 - GATSBY_TELEMETRY_OPTOUT: 1 GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 GRIT_TELEMETRY_DISABLED: 1 HASURA_GRAPHQL_ENABLE_TELEMETRY: false HINT_TELEMETRY: off @@ -48,9 +48,11 @@ jobs: STNOUPGRADE: 1 STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 + TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 steps: - - uses: pozil/auto-assign-issue@v2.0.0 + - uses: pozil/auto-assign-issue@v4.0.1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} assignees: NikolaRHristov diff --git a/.github/workflows/NPM.yml b/.github/workflows/NPM.yml index 8a0b5e8..8450e55 100644 --- a/.github/workflows/NPM.yml +++ b/.github/workflows/NPM.yml @@ -19,14 +19,47 @@ jobs: Publish: runs-on: ubuntu-latest + env: + ADBLOCK: true + ASTRO_TELEMETRY_DISABLED: 1 + AUTOMATEDLAB_TELEMETRY_OPTOUT: 1 + AZURE_CORE_COLLECT_TELEMETRY: 0 + CHOOSENIM_NO_ANALYTICS: 1 + DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 + DOTNET_CLI_TELEMETRY_OPTOUT: 1 + DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 + ET_NO_TELEMETRY: 1 + GATSBY_TELEMETRY_DISABLED: 1 + GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 + GRIT_TELEMETRY_DISABLED: 1 + HASURA_GRAPHQL_ENABLE_TELEMETRY: false + HINT_TELEMETRY: off + HOMEBREW_NO_ANALYTICS: 1 + INFLUXD_REPORTING_DISABLED: true + ITERATIVE_DO_NOT_TRACK: 1 + NEXT_TELEMETRY_DEBUG: 1 + NEXT_TELEMETRY_DISABLED: 1 + NG_CLI_ANALYTICS: false + NUXT_TELEMETRY_DISABLED: 1 + PIN_DO_NOT_TRACK: 1 + POWERSHELL_TELEMETRY_OPTOUT: 1 + SAM_CLI_TELEMETRY: 0 + STNOUPGRADE: 1 + STRIPE_CLI_TELEMETRY_OPTOUT: 1 + TELEMETRY_DISABLED: 1 + TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 + permissions: contents: read id-token: write steps: - - uses: actions/checkout@v4.1.5 + - uses: actions/checkout@v7.0.0 - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v6.4.0 with: node-version: "18" registry-url: "https://registry.npmjs.org" @@ -37,7 +70,6 @@ jobs: continue-on-error: true working-directory: . run: | - npm install --include prod dev optional peer --legacy-peer-deps - npm publish --legacy-peer-deps --provenance + npm publish --legacy-peer-deps --provenance --ignore-scripts env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/Node.yml b/.github/workflows/Node.yml index d4c48d6..cc5ecd4 100644 --- a/.github/workflows/Node.yml +++ b/.github/workflows/Node.yml @@ -28,13 +28,13 @@ jobs: AZURE_CORE_COLLECT_TELEMETRY: 0 CHOOSENIM_NO_ANALYTICS: 1 DIEZ_DO_NOT_TRACK: 1 + DO_NOT_TRACK: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1 - DO_NOT_TRACK: 1 ET_NO_TELEMETRY: 1 GATSBY_TELEMETRY_DISABLED: 1 - GATSBY_TELEMETRY_OPTOUT: 1 GATSBY_TELEMETRY_OPT_OUT: 1 + GATSBY_TELEMETRY_OPTOUT: 1 GRIT_TELEMETRY_DISABLED: 1 HASURA_GRAPHQL_ENABLE_TELEMETRY: false HINT_TELEMETRY: off @@ -51,17 +51,19 @@ jobs: STNOUPGRADE: 1 STRIPE_CLI_TELEMETRY_OPTOUT: 1 TELEMETRY_DISABLED: 1 + TERRAFORM_TELEMETRY: 0 + VCPKG_DISABLE_METRICS: 1 strategy: matrix: node-version: [18, 19, 20] steps: - - uses: actions/checkout@v4.1.5 + - uses: actions/checkout@v7.0.0 - - uses: pnpm/action-setup@v4.0.0 + - uses: pnpm/action-setup@v6.0.9 with: - version: 8.15.5 + version: 9.3.0 run_install: | - recursive: true args: [ @@ -74,7 +76,7 @@ jobs: --unsafe-perm=true ] - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v6.4.0 with: node-version: ${{ matrix.node-version }} cache: "pnpm" @@ -86,7 +88,7 @@ jobs: - run: pnpm run prepublishOnly working-directory: . - - uses: actions/upload-artifact@v4.3.3 + - uses: actions/upload-artifact@v7.0.0 with: name: .-Node-${{ matrix.node-version }}-Target path: ./Target diff --git a/.gitignore b/.gitignore index 4c49bd7..8b13789 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -.env + diff --git a/.npmignore b/.npmignore index d0265ba..489a353 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,6 @@ .github/ -Source/ -Documentation/ CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md +docs/ +Source/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 43d7b3d..e52cf09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ ## 0.0.1 -- Initial version +- Initial version diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 13ffed8..8918382 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -7,22 +7,22 @@ environment for all contributors. As members, contributors, and leaders, we pledge to make participation in our community a harassment-free experience for everyone, regardless of: -- Age -- Body size -- Visible or invisible disability -- Ethnicity -- Sex characteristics -- Gender identity and expression -- Level of experience -- Education -- Socio-economic status -- Nationality -- Personal appearance -- Race -- Caste -- Color -- Religion -- Sexual identity and orientation +- Age +- Body size +- Visible or invisible disability +- Ethnicity +- Sex characteristics +- Gender identity and expression +- Level of experience +- Education +- Socio-economic status +- Nationality +- Personal appearance +- Race +- Caste +- Color +- Religion +- Sexual identity and orientation We promise to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. @@ -32,25 +32,24 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -- Focusing on what is best not just for us as individuals but for the overall - community +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals but for the overall + community Examples of unacceptable behavior include: -- The use of sexualized language or imagery, and sexual attention or advances - of any kind -- Trolling, insulting, or derogatory comments, and personal or political - attacks -- Public or private harassment -- Publishing others' private information, such as a physical or email address, - without their explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery, and sexual attention or advances of + any kind +- Trolling, insulting, or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Enforcement Responsibilities @@ -74,7 +73,7 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -community@playform.cloud. All complaints will be reviewed and investigated +Community@PlayForm.Cloud. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. @@ -126,15 +125,15 @@ community. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], +This Code of Conduct is adapted from the [`Contributor Covenant`][homepage], version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +[`https://www.contributor-covenant.org/version/2/1/code_of_conduct.html`][v2.1]. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. +[`https://www.contributor-covenant.org/faq`][FAQ]. Translations are available at +[`https://www.contributor-covenant.org/translations`][translations]. [homepage]: https://www.contributor-covenant.org [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c749fbe..7804de0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,25 +20,24 @@ to an open, welcoming, diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -- Focusing on what is best not just for us as individuals, but for the overall - community +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall + community Examples of unacceptable behavior include: -- The use of sexualized language or imagery, and sexual attention or advances - of any kind -- Trolling, insulting, or derogatory comments, and personal or political - attacks -- Public or private harassment -- Publishing others' private information, such as a physical or email address, - without their explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery, and sexual attention or advances of + any kind +- Trolling, insulting, or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Enforcement Responsibilities @@ -62,7 +61,7 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -community@playform.cloud. All complaints will be reviewed and investigated +Community@PlayForm.Cloud. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. @@ -114,21 +113,21 @@ community. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], +This Code of Conduct is adapted from the [`Contributor Covenant`][homepage], version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. +[`https://www.contributor-covenant.org/version/2/1/code_of_conduct.html`][v2.1]. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: HTTPS://www.contributor-covenant.org -[v2.1]: HTTPS://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: HTTPS://github.com/mozilla/diversity -[FAQ]: HTTPS://www.contributor-covenant.org/faq -[translations]: HTTPS://www.contributor-covenant.org/translations +[`https://www.contributor-covenant.org/faq`][FAQ]. Translations are available at +[`https://www.contributor-covenant.org/translations`][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations Thank you for being part of our community and helping us create a safe and respectful environment for everyone! diff --git a/LICENSE b/LICENSE index f236d76..292ebd0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,20 +1,109 @@ -MIT License - -Copyright (c) 2023-2024 PlayForm - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an "owner") of an original work of authorship +and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific works +("Commons") that the public can reliably and without fear of later claims of +infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute to +the Commons to promote the ideal of a free culture and the further production of +creative, cultural and scientific works, or to gain reputation or greater +distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation of +additional consideration or compensation, the person associating CC0 with a Work +(the "Affirmer"), to the extent that he or she is an owner of Copyright and +Related Rights in the Work, voluntarily elects to apply CC0 to the Work and +publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights ("Copyright and + Related Rights"). Copyright and Related Rights include, but are not limited + to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, and +translate a Work; ii. moral rights retained by the original author(s) and/or +performer(s); iii. publicity and privacy rights pertaining to a person's image +or likeness depicted in a Work; iv. rights protecting against unfair competition +in regards to a Work, subject to the limitations in paragraph 4(a), below; v. +rights protecting the extraction, dissemination, use and reuse of data in a +Work; vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal protection +of databases, and under any national implementation thereof, including any +amended or successor version of such directive); and vii. other similar, +equivalent or corresponding rights throughout the world based on applicable law +or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, + applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and + unconditionally waives, abandons, and surrenders all of Affirmer's Copyright + and Related Rights and associated claims and causes of action, whether now + known or unknown (including existing as well as future claims and causes of + action), in the Work (i) in all territories worldwide, (ii) for the maximum + duration provided by applicable law or treaty (including future time + extensions), (iii) in any current or future medium and for any number of + copies, and (iv) for any purpose whatsoever, including without limitation + commercial, advertising or promotional purposes (the "Waiver"). Affirmer + makes the Waiver for the benefit of each member of the public at large and to + the detriment of Affirmer's heirs and successors, fully intending that such + Waiver shall not be subject to revocation, rescission, cancellation, + termination, or any other legal or equitable action to disrupt the quiet + enjoyment of the Work by the public as contemplated by Affirmer's express . + +3. Public License Fallback. Should any part of the Waiver for any reason be + judged legally invalid or ineffective under applicable law, then the Waiver + shall be preserved to the maximum extent permitted taking into account + Affirmer's express . In addition, to the extent the Waiver is so judged + Affirmer hereby grants to each affected person a royalty-free, non + transferable, non sublicensable, non exclusive, irrevocable and unconditional + license to exercise Affirmer's Copyright and Related Rights in the Work (i) + in all territories worldwide, (ii) for the maximum duration provided by + applicable law or treaty (including future time extensions), (iii) in any + current or future medium and for any number of copies, and (iv) for any + purpose whatsoever, including without limitation commercial, advertising or + promotional purposes (the "License"). The License shall be deemed effective + as of the date CC0 was applied by Affirmer to the Work. Should any part of + the License for any reason be judged legally invalid or ineffective under + applicable law, such partial invalidity or ineffectiveness shall not + invalidate the remainder of the License, and in such case Affirmer hereby + affirms that he or she will not (i) exercise any of his or her remaining + Copyright and Related Rights in the Work or (ii) assert any associated claims + and causes of action with respect to the Work, in either case contrary to + +4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, +surrendered, licensed or otherwise affected by this document. b. Affirmer offers +the Work as-is and makes no representations or warranties of any kind concerning +the Work, express, implied, statutory or otherwise, including without limitation +warranties of title, merchantability, fitness for a particular purpose, non +infringement, or the absence of latent or other defects, accuracy, or the +present or absence of errors, whether or not discoverable, all to the greatest +extent permissible under applicable law. c. Affirmer disclaims responsibility +for clearing rights of other persons that may apply to the Work or any use +thereof, including without limitation any person's Copyright and Related Rights +in the Work. Further, Affirmer disclaims responsibility for obtaining any +necessary consents, permissions or other rights required for any use of the +Work. d. Affirmer understands and acknowledges that Creative Commons is not a +party to this document and has no duty or obligation with respect to this CC0 or +use of the Work. diff --git a/Source/Type/Environment.ts b/Source/Type/Environment.ts index 5bd577b..43b550f 100644 --- a/Source/Type/Environment.ts +++ b/Source/Type/Environment.ts @@ -1,3 +1,5 @@ +import type Zod from "zod"; + /** * @module Environment * @@ -6,8 +8,6 @@ export type Type = Zod.infer; export type { Type as default }; -import type Zod from "zod"; - export const { default: Environment } = await import( "@Variable/Environment.js" ); diff --git a/Source/Variable/Worker.ts b/Source/Variable/Worker.ts index 2d61f11..fec4cb9 100644 --- a/Source/Variable/Worker.ts +++ b/Source/Variable/Worker.ts @@ -1,3 +1,5 @@ +import type { Request, ResponseInit } from "@cloudflare/workers-types"; + class JSONResponse extends Response { constructor( // biome-ignore lint/suspicious/noExplicitAny: @@ -6,7 +8,7 @@ class JSONResponse extends Response { headers: { "content-type": "application/json;charset=UTF-8", }, - } + }, ) { super(JSON.stringify(body), init); } @@ -47,7 +49,7 @@ class JSONResponse extends Response { default: return new JSONResponse( { error: "Unknown Type" }, - { status: 400 } + { status: 400 }, ); } } @@ -62,7 +64,7 @@ class JSONResponse extends Response { export default { async fetch( request: Request, - { DISCORD_PUBLIC_KEY } = Environment.parse(process.env) + { DISCORD_PUBLIC_KEY } = Environment.parse(process.env), ) { if (request.method === "POST") { const isValidRequest = ( @@ -71,11 +73,12 @@ export default { await request.clone().arrayBuffer(), request["headers"].get("x-signature-ed25519") ?? "", request["headers"].get("x-signature-timestamp") ?? "", - DISCORD_PUBLIC_KEY + DISCORD_PUBLIC_KEY, ); if (!isValidRequest) { console.error("Invalid Request"); + return new Response("Bad request signature.", { status: 401 }); } } @@ -84,8 +87,6 @@ export default { }, }; -import type { Request, ResponseInit } from "@cloudflare/workers-types"; - export const { default: Environment } = await import( "@Variable/Environment.js" ); diff --git a/Target/Type/Environment.d.ts b/Target/Type/Environment.d.ts index 36a287c..9a90076 100644 --- a/Target/Type/Environment.d.ts +++ b/Target/Type/Environment.d.ts @@ -1,10 +1,10 @@ +import type Zod from "zod"; /** * @module Environment * */ export type Type = Zod.infer; export type { Type as default }; -import type Zod from "zod"; export declare const Environment: Zod.ZodObject<{ DISCORD_APPLICATION_ID: Zod.ZodDefault>; DISCORD_CLIENT_ID: Zod.ZodDefault>; diff --git a/Target/Variable/Environment.d.ts b/Target/Variable/Environment.d.ts index 26975b5..4894b17 100644 --- a/Target/Variable/Environment.d.ts +++ b/Target/Variable/Environment.d.ts @@ -1,12 +1,6 @@ -export declare const string: (params?: ({ - errorMap?: import("zod").ZodErrorMap | undefined; - invalid_type_error?: string | undefined; - required_error?: string | undefined; - message?: string | undefined; - description?: string | undefined; -} & { - coerce?: true | undefined; -}) | undefined) => import("zod").ZodString; +export declare const string: (params?: import("zod").RawCreateParams & { + coerce?: true; +}) => import("zod").ZodString; declare const _default: import("zod").ZodObject<{ DISCORD_APPLICATION_ID: import("zod").ZodDefault>; DISCORD_CLIENT_ID: import("zod").ZodDefault>; diff --git a/Target/Variable/Worker.d.ts b/Target/Variable/Worker.d.ts index d927f4f..11188fc 100644 --- a/Target/Variable/Worker.d.ts +++ b/Target/Variable/Worker.d.ts @@ -1,3 +1,4 @@ +import type { Request, ResponseInit } from "@cloudflare/workers-types"; declare const _default: { fetch(request: Request, { DISCORD_PUBLIC_KEY }?: { DISCORD_APPLICATION_ID: string; @@ -8,7 +9,6 @@ declare const _default: { }): Promise; }; export default _default; -import type { Request } from "@cloudflare/workers-types"; export declare const Environment: import("zod").ZodObject<{ DISCORD_APPLICATION_ID: import("zod").ZodDefault>; DISCORD_CLIENT_ID: import("zod").ZodDefault>; @@ -28,4 +28,10 @@ export declare const Environment: import("zod").ZodObject<{ DISCORD_PUBLIC_KEY?: string | undefined; DISCORD_TOKENS?: string | undefined; }>; -export declare const Response: typeof import("@cloudflare/workers-types").Response; +export declare const Response: { + new (body?: import("@cloudflare/workers-types").BodyInit | null, init?: ResponseInit): import("@cloudflare/workers-types").Response; + prototype: import("@cloudflare/workers-types").Response; + error(): import("@cloudflare/workers-types").Response; + redirect(url: string, status?: number): import("@cloudflare/workers-types").Response; + json(any: any, maybeInit?: ResponseInit | import("@cloudflare/workers-types").Response): import("@cloudflare/workers-types").Response; +}; diff --git a/package.json b/package.json index 4602dea..7bdf111 100644 --- a/package.json +++ b/package.json @@ -6,26 +6,25 @@ "author": { "name": "Source/Open", "email": "Source/Open@PlayForm.Cloud", - "url": "HTTPS://PlayForm.Cloud" + "url": "https://PlayForm.Cloud" }, "type": "module", "main": "./Target/Object/Worker.js", "types": "./Target/Object/Worker.d.ts", "scripts": { - "Document": "Document 'Source/**/*.ts'", "dev": "wrangler dev", "prepublishOnly": "Build 'Source/**/*.ts'" }, "dependencies": { - "itty-router": "5.0.17" + "itty-router": "6.0.0" }, "devDependencies": { - "@cloudflare/workers-types": "4.20240512.0", - "@playform/build": "0.0.8", - "@playform/document": "0.0.6", - "wrangler": "3.55.0" + "@cloudflare/workers-types": "4.20260630.1", + "@playform/build": "0.3.2", + "wrangler": "4.105.0" }, "publishConfig": { - "access": "public" + "access": "public", + "provenance": true } } diff --git a/wrangler.toml b/wrangler.toml index 6bb5fc8..df0446e 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,4 +1,4 @@ name = "api" main = "./Target/Object/Worker.js" -compatibility_date = "2023-02-24" +compatibility_date = "2024-11-11" send_metrics = false