From 963669ff9df20025fe7a307bc2d5fe372198111a Mon Sep 17 00:00:00 2001 From: li-guohao Date: Sat, 25 May 2024 12:12:07 +0800 Subject: [PATCH] Initial commit --- .github/workflows/ci_build_jar.yml.bak | 51 + .github/workflows/ci_check.yml | 69 + .github/workflows/ci_release_by_tag.yml.bak | 28 + .gitignore | 50 + CHANGELOG.MD | 13 + LICENSE | 661 +++++++++ README.md | 2 + build.gradle | 71 + console/.gitignore | 24 + console/README.md | 7 + console/package.json | 25 + console/pnpm-lock.yaml | 1309 +++++++++++++++++ console/src/index.ts | 29 + console/src/views/HelloIkaros.vue | 17 + console/tsconfig.json | 28 + console/tsconfig.node.json | 10 + console/vite.config.ts | 31 + gradle.properties | 3 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 240 +++ gradlew.bat | 91 ++ lib/api-0.11.4-sources.jar | Bin 0 -> 57585 bytes lib/api-0.11.4.jar | Bin 0 -> 142535 bytes settings.gradle | 2 + .../plugin/starter/ConfigController.java | 33 + .../plugin/starter/CustomSchemeRegister.java | 22 + .../ikaros/plugin/starter/StarterCustom.java | 22 + .../plugin/starter/StarterEndpoint.java | 115 ++ .../ikaros/plugin/starter/StarterPlugin.java | 31 + .../ikaros/plugin/starter/TestComponent.java | 37 + src/main/resources/configMapSchemas.yaml | 21 + src/main/resources/plugin.yaml | 16 + 33 files changed, 3063 insertions(+) create mode 100644 .github/workflows/ci_build_jar.yml.bak create mode 100644 .github/workflows/ci_check.yml create mode 100644 .github/workflows/ci_release_by_tag.yml.bak create mode 100644 .gitignore create mode 100644 CHANGELOG.MD create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle create mode 100644 console/.gitignore create mode 100644 console/README.md create mode 100644 console/package.json create mode 100644 console/pnpm-lock.yaml create mode 100644 console/src/index.ts create mode 100644 console/src/views/HelloIkaros.vue create mode 100644 console/tsconfig.json create mode 100644 console/tsconfig.node.json create mode 100644 console/vite.config.ts create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 lib/api-0.11.4-sources.jar create mode 100644 lib/api-0.11.4.jar create mode 100644 settings.gradle create mode 100644 src/main/java/run/ikaros/plugin/starter/ConfigController.java create mode 100644 src/main/java/run/ikaros/plugin/starter/CustomSchemeRegister.java create mode 100644 src/main/java/run/ikaros/plugin/starter/StarterCustom.java create mode 100644 src/main/java/run/ikaros/plugin/starter/StarterEndpoint.java create mode 100644 src/main/java/run/ikaros/plugin/starter/StarterPlugin.java create mode 100644 src/main/java/run/ikaros/plugin/starter/TestComponent.java create mode 100644 src/main/resources/configMapSchemas.yaml create mode 100644 src/main/resources/plugin.yaml diff --git a/.github/workflows/ci_build_jar.yml.bak b/.github/workflows/ci_build_jar.yml.bak new file mode 100644 index 0000000..0d526d7 --- /dev/null +++ b/.github/workflows/ci_build_jar.yml.bak @@ -0,0 +1,51 @@ +# This is a basic workflow to help you get started with Actions + +name: Build FastJar + +# Controls when the workflow will run +on: + release: + types: [published] + +jobs: + + release: + if: github.repository == 'ikaros-dev/plugin-bgmtv' + name: Build with java 17 and upload + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Git submodule init + uses: snickerbockers/submodules-init@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + cache: 'gradle' + java-version: 17 + - name: Make gradlew executable + run: chmod +x ./gradlew + - name: Clean with gradle + run: | + ./gradlew clean + - name: Build console with npm + run: | + ./gradlew buildFrontend -x test + - name: Build server with gradle + run: | + ./gradlew build -x test + - name: Get Project Version + id: get_version + run: echo "::set-output name=version::$(cat gradle.properties | grep ^version= | cut -d'=' -f2)" + - name: Upload lib jar to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} + file: /home/runner/work/plugin-starter/plugin-starter/build/libs/plugin-bgmtv-${{steps.get_version.outputs.version}}.jar + asset_name: plugin-bgmtv-${{steps.get_version.outputs.version}}.jar + + + + diff --git a/.github/workflows/ci_check.yml b/.github/workflows/ci_check.yml new file mode 100644 index 0000000..2212b45 --- /dev/null +++ b/.github/workflows/ci_check.yml @@ -0,0 +1,69 @@ +# This is a basic workflow to help you get started with Actions + +name: Server CI + +# Controls when the workflow will run +on: + push: + branches: + - master + paths: + - "**" + - '!console/**' + - "!**.md" + pull_request: + branches: + - master + - release-* + paths: + - "**" + - '!console/**' + - "!**.md" + +jobs: + checkConsole: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + cache: 'gradle' + java-version: 17 + - name: Make gradlew executable + run: chmod +x ./gradlew + - name: Build console with npm + run: | + ./gradlew buildFrontend -x test + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'temurin' + cache: 'gradle' + java-version: 17 + - name: Make gradlew executable + run: chmod +x ./gradlew + - name: Run tests + run: ./gradlew test + - name: Upload build dir if current step run failed. + uses: actions/upload-artifact@v3.1.2 + if: ${{ failure() }} + with: + # Artifact name + name: testBuild + # A file, directory or wildcard pattern that describes what to upload + path: /home/runner/work/plugin-starter/plugin-starter/build + # The desired behavior if no files are found using the provided path. + if-no-files-found: warn + # Duration after which artifact will expire in days. 0 means using default retention.Minimum 1 day. Maximum 90 days unless changed from the repository settings page. + retention-days: 7 + diff --git a/.github/workflows/ci_release_by_tag.yml.bak b/.github/workflows/ci_release_by_tag.yml.bak new file mode 100644 index 0000000..2da0278 --- /dev/null +++ b/.github/workflows/ci_release_by_tag.yml.bak @@ -0,0 +1,28 @@ +name: Create Release + +permissions: + contents: write + +on: + push: + tags: + - v[0-9]+.* + +jobs: + create-release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: taiki-e/create-gh-release-action@v1 + with: + # (Optional) + changelog: CHANGELOG.MD + # (Optional) Create a draft release. + # [default value: false] + draft: false + # (Optional) Format of title. + # [default value: $tag] + # [possible values: variables $tag, $version, and any string] + title: v$version + # (Required) GitHub token for creating GitHub Releases. + token: ${{ secrets.LI_GUOHAO_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d837fd --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Local Dev Files +logs/ +upload/ +media/ +downloads/ +database/ +tripartite/ +original/ +plugins/ + +### Console Build ### +src/main/resources/console/ \ No newline at end of file diff --git a/CHANGELOG.MD b/CHANGELOG.MD new file mode 100644 index 0000000..ecf01ee --- /dev/null +++ b/CHANGELOG.MD @@ -0,0 +1,13 @@ +# CHANGELOG + +更新日志文档,版本顺序从新到旧,最新版本在最前(上)面。 + +# 0.11.0 + +## 新特性 + +- 升级本体API到v0.11.0并适配 + + + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0ad25db --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..cfc3de2 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# plugin-starter +ikaros plugin starter template diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..0233809 --- /dev/null +++ b/build.gradle @@ -0,0 +1,71 @@ +plugins { + id "com.github.node-gradle.node" version "3.3.0" + id 'java' +} + +repositories { + mavenCentral() + maven { url 'https://s01.oss.sonatype.org/content/repositories/releases' } + maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } + maven { url 'https://repo.spring.io/milestone' } +} + +ext { + springContext = '6.0.3' + pf4j = '3.8.0' + lombok = '1.18.24' + libFile = 'lib/api-0.11.4.jar' +} + + + +dependencies { + compileOnly "org.springframework:spring-context:$springContext" + compileOnly "org.pf4j:pf4j:$pf4j" + compileOnly "io.projectreactor:reactor-core:3.5.1" + compileOnly "org.springframework:spring-webflux:6.0.3" + compileOnly "org.springdoc:springdoc-openapi-starter-webflux-api:2.0.2" + + compileOnly files(libFile) + testRuntimeOnly files(libFile) + + testRuntimeOnly "org.springframework:spring-context:$springContext" + testRuntimeOnly "org.pf4j:pf4j:$pf4j" + testRuntimeOnly "io.projectreactor:reactor-core:3.5.1" + testRuntimeOnly "org.springframework:spring-webflux:6.0.3" + testRuntimeOnly "org.springdoc:springdoc-openapi-starter-webflux-api:2.0.2" + + + // lombok + compileOnly "org.projectlombok:lombok:$lombok" + testCompileOnly "org.projectlombok:lombok:$lombok" + annotationProcessor "org.projectlombok:lombok:$lombok" + + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' + testImplementation 'org.assertj:assertj-core:3.24.2' +} + +test { + useJUnitPlatform() +} + +node { + nodeProjectDir = file("${project.projectDir}/console") +} + +task buildFrontend(type: NpxTask) { + command = 'pnpm' + args = ['build'] +} + +task pnpmInstall(type: NpxTask) { + command = "pnpm" + args = ["install"] +} + +build { + // build frontend before build + tasks.getByName('compileJava').dependsOn('buildFrontend') + tasks.getByName("buildFrontend").dependsOn("pnpmInstall") +} \ No newline at end of file diff --git a/console/.gitignore b/console/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/console/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/console/README.md b/console/README.md new file mode 100644 index 0000000..016d398 --- /dev/null +++ b/console/README.md @@ -0,0 +1,7 @@ +# Ikaros plugin starter console + +``` +pnpm install +pnpm run dev +pnpm run build +``` diff --git a/console/package.json b/console/package.json new file mode 100644 index 0000000..5959cfb --- /dev/null +++ b/console/package.json @@ -0,0 +1,25 @@ +{ + "name": "console", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.1.0", + "@runikaros/shared": "^0.0.2", + "vue": "^3.2.47" + }, + "devDependencies": { + "@types/node": "^16.18.0", + "@vitejs/plugin-vue": "^4.1.0", + "@vitejs/plugin-vue-jsx": "^3.0.1", + "sass": "^1.62.1", + "typescript": "^5.0.2", + "vite": "^4.3.9", + "vue-tsc": "^1.4.2" + } +} diff --git a/console/pnpm-lock.yaml b/console/pnpm-lock.yaml new file mode 100644 index 0000000..c5ce998 --- /dev/null +++ b/console/pnpm-lock.yaml @@ -0,0 +1,1309 @@ +lockfileVersion: '6.0' + +dependencies: + '@element-plus/icons-vue': + specifier: ^2.1.0 + version: 2.1.0(vue@3.2.47) + '@runikaros/shared': + specifier: ^0.0.2 + version: 0.0.2(vue-router@4.2.2)(vue@3.2.47) + vue: + specifier: ^3.2.47 + version: 3.2.47 + +devDependencies: + '@types/node': + specifier: ^16.18.0 + version: 16.18.0 + '@vitejs/plugin-vue': + specifier: ^4.1.0 + version: 4.1.0(vite@4.3.9)(vue@3.2.47) + '@vitejs/plugin-vue-jsx': + specifier: ^3.0.1 + version: 3.0.1(vite@4.3.9)(vue@3.2.47) + sass: + specifier: ^1.62.1 + version: 1.62.1 + typescript: + specifier: ^5.0.2 + version: 5.0.2 + vite: + specifier: ^4.3.9 + version: 4.3.9(@types/node@16.18.0)(sass@1.62.1) + vue-tsc: + specifier: ^1.4.2 + version: 1.4.2(typescript@5.0.2) + +packages: + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data@7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.4 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.7 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-member-expression-to-functions@7.22.3: + resolution: {integrity: sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-module-transforms@7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-plugin-utils@7.21.5: + resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-replace-supers@7.22.1: + resolution: {integrity: sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.21.5: + resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.4 + dev: true + + /@babel/helper-string-parser@7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.22.4: + resolution: {integrity: sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.4 + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/template@7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + dev: true + + /@babel/traverse@7.22.4: + resolution: {integrity: sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.4 + '@babel/types': 7.22.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.22.4: + resolution: {integrity: sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@element-plus/icons-vue@2.1.0(vue@3.2.47): + resolution: {integrity: sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==} + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.2.47 + dev: false + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: true + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@runikaros/shared@0.0.2(vue-router@4.2.2)(vue@3.2.47): + resolution: {integrity: sha512-qBy30zH4EQehAv5wekuMOwWUgagh+LGNojdjv8uVBeDELMjMyLpYXBK9XM1/HFdKh8Li3kP6lChWcM5YNezJxw==} + peerDependencies: + vue: ^3.2.37 + vue-router: ^4.1.6 + dependencies: + vue: 3.2.47 + vue-router: 4.2.2(vue@3.2.47) + dev: false + + /@types/node@16.18.0: + resolution: {integrity: sha512-LqYqYzYvnbCaQfLAwRt0zboqnsViwhZm+vjaMSqcfN36vulAg7Pt0T83q4WZO2YOBw3XdyHi8cQ88H22zmULOA==} + dev: true + + /@vitejs/plugin-vue-jsx@3.0.1(vite@4.3.9)(vue@3.2.47): + resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-typescript': 7.22.3(@babel/core@7.22.1) + '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.22.1) + vite: 4.3.9(@types/node@16.18.0)(sass@1.62.1) + vue: 3.2.47 + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@4.1.0(vite@4.3.9)(vue@3.2.47): + resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.3.9(@types/node@16.18.0)(sass@1.62.1) + vue: 3.2.47 + dev: true + + /@volar/language-core@1.4.0: + resolution: {integrity: sha512-zZg771L/v4MCPwM1KJxvnQ3q3QgbGJtEytivqf+PsxPr0kQ7XtwB1J30dd+YSGN869pXXZ0V6vWdHkDpWC8F3A==} + dependencies: + '@volar/source-map': 1.4.0 + dev: true + + /@volar/source-map@1.4.0: + resolution: {integrity: sha512-gkV8ol9qtP7aMdgijc8a5Yoxxoo90TT55YCi9bsMbKxEUDsOAnlciFNlijR9Ebe42d67GV3w15/RzjveTRNGBw==} + dependencies: + muggle-string: 0.2.2 + dev: true + + /@volar/typescript@1.4.0(typescript@5.0.2): + resolution: {integrity: sha512-r6OMHj/LeS86iQy3LEjjS+qpmHr9I7BiH8gAwp9WEJP76FHlMPi/EPDQxhf3VcMQ/w6Pi5aBczqI+I3akr9t4g==} + peerDependencies: + typescript: '*' + dependencies: + '@volar/language-core': 1.4.0 + typescript: 5.0.2 + dev: true + + /@volar/vue-language-core@1.4.2: + resolution: {integrity: sha512-bDdFowfnyHI7udELEgUWukOh4l9jVTaxb9jZtj0GxUp0Mjj0u81d9+jE2UC3fFJpbndQLGFR6F+ffguHgmrj6Q==} + dependencies: + '@volar/language-core': 1.4.0 + '@volar/source-map': 1.4.0 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + minimatch: 9.0.1 + muggle-string: 0.2.2 + vue-template-compiler: 2.7.14 + dev: true + + /@volar/vue-typescript@1.4.2(typescript@5.0.2): + resolution: {integrity: sha512-A1m1cSvS0Pf7Sm9q0S/1riV4RQQeH2h5gGo0vR9fGK2SrAStvh4HuuxPOX4N9uMDbRsNMhC0ILXwtlvjQ/IXJA==} + dependencies: + '@volar/typescript': 1.4.0(typescript@5.0.2) + '@volar/vue-language-core': 1.4.2 + transitivePeerDependencies: + - typescript + dev: true + + /@vue/babel-helper-vue-transform-on@1.0.2: + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} + dev: true + + /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.22.1): + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + dependencies: + '@babel/helper-module-imports': 7.21.4 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.4 + '@babel/types': 7.22.4 + '@vue/babel-helper-vue-transform-on': 1.0.2 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@vue/compiler-core@3.2.47: + resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + source-map: 0.6.1 + + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.2.47: + resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + dependencies: + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 + + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + dev: true + + /@vue/compiler-sfc@3.2.47: + resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.2.47 + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-ssr': 3.2.47 + '@vue/reactivity-transform': 3.2.47 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.24 + source-map: 0.6.1 + + /@vue/compiler-sfc@3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.0 + postcss: 8.4.24 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-ssr@3.2.47: + resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + dependencies: + '@vue/compiler-dom': 3.2.47 + '@vue/shared': 3.2.47 + + /@vue/compiler-ssr@3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + dev: true + + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/reactivity-transform@3.2.47: + resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + magic-string: 0.25.9 + + /@vue/reactivity-transform@3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.22.4 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.0 + dev: true + + /@vue/reactivity@3.2.47: + resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + dependencies: + '@vue/shared': 3.2.47 + + /@vue/reactivity@3.3.4: + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + dependencies: + '@vue/shared': 3.3.4 + dev: true + + /@vue/runtime-core@3.2.47: + resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + dependencies: + '@vue/reactivity': 3.2.47 + '@vue/shared': 3.2.47 + + /@vue/runtime-dom@3.2.47: + resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + dependencies: + '@vue/runtime-core': 3.2.47 + '@vue/shared': 3.2.47 + csstype: 2.6.21 + + /@vue/server-renderer@3.2.47(vue@3.2.47): + resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} + peerDependencies: + vue: 3.2.47 + dependencies: + '@vue/compiler-ssr': 3.2.47 + '@vue/shared': 3.2.47 + vue: 3.2.47 + + /@vue/shared@3.2.47: + resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} + + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.21.7: + resolution: {integrity: sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001492 + electron-to-chromium: 1.4.416 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11(browserslist@4.21.7) + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001492: + resolution: {integrity: sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /csstype@2.6.21: + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /electron-to-chromium@1.4.416: + resolution: {integrity: sha512-AUYh0XDTb2vrj0rj82jb3P9hHSyzQNdTPYWZIhPdCOui7/vpme7+HTE07BE5jwuqg/34TZ8ktlRz6GImJ4IXjA==} + dev: true + + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /immutable@4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + + /magic-string@0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /muggle-string@0.2.2: + resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss@8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /rollup@3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /sass@1.62.1: + resolution: {integrity: sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.0 + source-map-js: 1.0.2 + dev: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /typescript@5.0.2: + resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + engines: {node: '>=12.20'} + hasBin: true + dev: true + + /update-browserslist-db@1.0.11(browserslist@4.21.7): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.7 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /vite@4.3.9(@types/node@16.18.0)(sass@1.62.1): + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 16.18.0 + esbuild: 0.17.19 + postcss: 8.4.24 + rollup: 3.23.0 + sass: 1.62.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vue-router@4.2.2(vue@3.2.47): + resolution: {integrity: sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.2.47 + dev: false + + /vue-template-compiler@2.7.14: + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.4.2(typescript@5.0.2): + resolution: {integrity: sha512-8VFjVekJuFtFG+N4rEimoR0OvNubhoTIMl2dlvbpyAD40LVPR1PN2SUc2qZPnWGGRsXZAVmFgiBHX0RB20HGyA==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/vue-language-core': 1.4.2 + '@volar/vue-typescript': 1.4.2(typescript@5.0.2) + semver: 7.5.1 + typescript: 5.0.2 + dev: true + + /vue@3.2.47: + resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} + dependencies: + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-sfc': 3.2.47 + '@vue/runtime-dom': 3.2.47 + '@vue/server-renderer': 3.2.47(vue@3.2.47) + '@vue/shared': 3.2.47 + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true diff --git a/console/src/index.ts b/console/src/index.ts new file mode 100644 index 0000000..76d278d --- /dev/null +++ b/console/src/index.ts @@ -0,0 +1,29 @@ +import { definePlugin } from "@runikaros/shared" +import HelloIkaros from '@/views/HelloIkaros.vue'; +import { Files as FilesIcon } from '@element-plus/icons-vue'; +import { markRaw } from "vue" + +export default definePlugin({ + name: 'PluginStarter', + components: {}, + routes: [ + { + parentName: "Root", + route: { + path: '/PluginStarter', + component: HelloIkaros, + name: "HelloIkaros", + meta: { + title: '示例页面', + menu: { + name: '示例页面', + group: 'content', + icon: markRaw(FilesIcon), + priority: 2, + mobile: true, + } + } + } + } + ], +}) \ No newline at end of file diff --git a/console/src/views/HelloIkaros.vue b/console/src/views/HelloIkaros.vue new file mode 100644 index 0000000..5ccbfac --- /dev/null +++ b/console/src/views/HelloIkaros.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/console/tsconfig.json b/console/tsconfig.json new file mode 100644 index 0000000..ac57e9f --- /dev/null +++ b/console/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/console/tsconfig.node.json b/console/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/console/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/console/vite.config.ts b/console/vite.config.ts new file mode 100644 index 0000000..dd1b42f --- /dev/null +++ b/console/vite.config.ts @@ -0,0 +1,31 @@ +import { defineConfig } from 'vite' +import { fileURLToPath, URL } from "url"; +import Vue from "@vitejs/plugin-vue"; +import VueJsx from "@vitejs/plugin-vue-jsx"; + +// Current plugin entry name value must eq plugin.yaml name value. +const pluginEntryName = "PluginStarter"; +// https://vitejs.dev/config/ +export default defineConfig({ + define: { + 'process.env': {}, + }, + plugins: [Vue(), VueJsx()], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + build: { + outDir: fileURLToPath( + new URL("../src/main/resources/console", import.meta.url) + ), + emptyOutDir: true, + lib: { + entry: "src/index.ts", + name: pluginEntryName, + formats: ["iife"], + fileName: () => "index.js", + }, + }, +}) diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..ebbe4e4 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,3 @@ +group=run.ikaros.plugin +description=A starter plugin for ikaros. +version=0.11.0 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..249e5832f090a2944b7473328c07c9755baa3196 GIT binary patch literal 60756 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..f127cfd --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,91 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/api-0.11.4-sources.jar b/lib/api-0.11.4-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..5ca8c218a7c36029933e3aea1f280174cc239768 GIT binary patch literal 57585 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

-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 literal 0 HcmV?d00001 diff --git a/lib/api-0.11.4.jar b/lib/api-0.11.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..fc8a867986a76eff2521e471551af40b820a24d4 GIT binary patch literal 142535 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 z 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 getConfigMap() { + return reactiveCustomClient.findOne(ConfigMap.class, pluginName) + .onErrorResume(NotFoundException.class, e -> Mono.empty()) + .doOnSuccess(cm -> log.info("find config map: [{}].", cm)) + .then(); + } +} diff --git a/src/main/java/run/ikaros/plugin/starter/CustomSchemeRegister.java b/src/main/java/run/ikaros/plugin/starter/CustomSchemeRegister.java new file mode 100644 index 0000000..3da1519 --- /dev/null +++ b/src/main/java/run/ikaros/plugin/starter/CustomSchemeRegister.java @@ -0,0 +1,22 @@ +package run.ikaros.plugin.starter; + +import org.springframework.beans.factory.InitializingBean; +import org.springframework.stereotype.Component; +import run.ikaros.api.custom.scheme.CustomSchemeManager; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Component +public class CustomSchemeRegister implements InitializingBean { + private final CustomSchemeManager customSchemeManager; + + public CustomSchemeRegister(CustomSchemeManager customSchemeManager) { + this.customSchemeManager = customSchemeManager; + } + + @Override + public void afterPropertiesSet() throws Exception { + customSchemeManager.register(StarterCustom.class); + } +} diff --git a/src/main/java/run/ikaros/plugin/starter/StarterCustom.java b/src/main/java/run/ikaros/plugin/starter/StarterCustom.java new file mode 100644 index 0000000..a349a16 --- /dev/null +++ b/src/main/java/run/ikaros/plugin/starter/StarterCustom.java @@ -0,0 +1,22 @@ +package run.ikaros.plugin.starter; + +import run.ikaros.api.custom.Custom; +import run.ikaros.api.custom.Name; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Custom(group = "starter.ikaros.run", version = "v1alpha1", + kind = "StarterCustom", singular = "starter", plural = "starters") +public class StarterCustom { + @Name + private String title; + + private Integer number; +} diff --git a/src/main/java/run/ikaros/plugin/starter/StarterEndpoint.java b/src/main/java/run/ikaros/plugin/starter/StarterEndpoint.java new file mode 100644 index 0000000..b189ceb --- /dev/null +++ b/src/main/java/run/ikaros/plugin/starter/StarterEndpoint.java @@ -0,0 +1,115 @@ +package run.ikaros.plugin.starter; + +import lombok.extern.slf4j.Slf4j; + +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import org.springdoc.core.fn.builders.apiresponse.Builder; +import org.springdoc.webflux.core.fn.SpringdocRouteBuilder; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Component; +import org.springframework.web.reactive.function.server.RouterFunction; +import org.springframework.web.reactive.function.server.ServerRequest; +import org.springframework.web.reactive.function.server.ServerResponse; +import reactor.core.publisher.Mono; +import run.ikaros.api.custom.GroupVersionKind; +import run.ikaros.api.custom.ReactiveCustomClient; +import run.ikaros.api.endpoint.CustomEndpoint; + +@Slf4j +@Component +public class StarterEndpoint implements CustomEndpoint { + + private final ReactiveCustomClient reactiveCustomClient; + private GroupVersionKind groupVersionKind = + new GroupVersionKind("plugin.ikaros.run", "v1alpha1", "Stater"); + + public StarterEndpoint(ReactiveCustomClient reactiveCustomClient) { + this.reactiveCustomClient = reactiveCustomClient; + } + + @Override + public RouterFunction endpoint() { + var tag = groupVersionKind.group() + + "/" + groupVersionKind.version() + + "/" + groupVersionKind.kind(); + return SpringdocRouteBuilder.route() + .GET("/findAll", this::findAll, + builder -> builder + .operationId("findAllStarter") + .tag(tag) + .response(Builder.responseBuilder() + .implementationArray(StarterCustom.class) + .description("Start custom array."))) + .GET("/findOne/{name}", this::findOne, + builder -> builder + .operationId("findOneStarter") + .description("Find one starter by path name.") + .tag(tag) + .parameter(org.springdoc.core.fn.builders.parameter.Builder.parameterBuilder() + .name("name") + .in(ParameterIn.PATH) + .implementation(String.class) + .description("Starter unit name.")) + .response(Builder.responseBuilder() + .implementation(StarterCustom.class) + .description("Starter custom."))) + .DELETE("/{name}", this::deleteByName, + builder -> builder + .operationId("deleteByName") + .description("Delete one starter by path name.") + .tag(tag) + .parameter(org.springdoc.core.fn.builders.parameter.Builder.parameterBuilder() + .name("name") + .in(ParameterIn.PATH) + .implementation(String.class) + .description("Starter unit name.")) + .response(Builder.responseBuilder() + .description("is Success."))) + .PUT("", this::save, + builder -> builder + .operationId("save") + .description("Save a starter obj.") + .tag(tag) + .requestBody( + org.springdoc.core.fn.builders.requestbody.Builder.requestBodyBuilder() + .implementation(StarterCustom.class) + .description("StarterCustom"))) + .build(); + } + + Mono findAll(ServerRequest request) { + return reactiveCustomClient.findAll(StarterCustom.class, null) + .collectList() + .flatMap(customs -> ServerResponse.ok() + .contentType(MediaType.APPLICATION_JSON) + .bodyValue(customs)); + } + + Mono findOne(ServerRequest request) { + String name = request.pathVariable("name"); + return reactiveCustomClient.findOne(StarterCustom.class, name) + .flatMap(custom -> ServerResponse.ok() + .contentType(MediaType.APPLICATION_JSON) + .bodyValue(custom)); + } + + Mono save(ServerRequest request) { + return request.bodyToMono(StarterCustom.class) + .flatMap(reactiveCustomClient::create) + .flatMap(custom -> ServerResponse.ok() + .contentType(MediaType.APPLICATION_JSON) + .bodyValue(custom)); + } + + Mono deleteByName(ServerRequest request) { + String name = request.pathVariable("name"); + return reactiveCustomClient.delete(StarterCustom.class, name) + .flatMap(custom -> ServerResponse.ok() + .bodyValue("SUCCESS")); + } + + @Override + public GroupVersionKind groupVersionKind() { + return groupVersionKind; + } +} diff --git a/src/main/java/run/ikaros/plugin/starter/StarterPlugin.java b/src/main/java/run/ikaros/plugin/starter/StarterPlugin.java new file mode 100644 index 0000000..aca988d --- /dev/null +++ b/src/main/java/run/ikaros/plugin/starter/StarterPlugin.java @@ -0,0 +1,31 @@ +package run.ikaros.plugin.starter; + + +import lombok.extern.slf4j.Slf4j; +import org.pf4j.PluginWrapper; +import org.springframework.stereotype.Component; +import run.ikaros.api.plugin.BasePlugin; + +@Slf4j +@Component +public class StarterPlugin extends BasePlugin { + + public StarterPlugin(PluginWrapper wrapper) { + super(wrapper); + } + + @Override + public void start() { + log.info("plugin [PluginStarter] start success"); + } + + @Override + public void stop() { + log.info("plugin [PluginStarter] stop success"); + } + + @Override + public void delete() { + log.info("plugin [PluginStarter] delete success"); + } +} \ No newline at end of file diff --git a/src/main/java/run/ikaros/plugin/starter/TestComponent.java b/src/main/java/run/ikaros/plugin/starter/TestComponent.java new file mode 100644 index 0000000..5205f47 --- /dev/null +++ b/src/main/java/run/ikaros/plugin/starter/TestComponent.java @@ -0,0 +1,37 @@ +package run.ikaros.plugin.starter; + +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; +import reactor.core.publisher.Mono; +import run.ikaros.api.custom.ReactiveCustomClient; +import run.ikaros.api.infra.exception.NotFoundException; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Component +public class TestComponent { + private final ReactiveCustomClient reactiveCustomClient; + private StarterCustom starterCustom; + + public TestComponent(ReactiveCustomClient reactiveCustomClient) { + this.reactiveCustomClient = reactiveCustomClient; + } + + + @EventListener(ApplicationReadyEvent.class) + public Mono afterPropertiesSet() throws Exception { + starterCustom = StarterCustom + .builder() + .title("starter") + .build(); + + return reactiveCustomClient + .findOne(StarterCustom.class, starterCustom.getTitle()) + .onErrorResume(NotFoundException.class, e -> reactiveCustomClient.create(starterCustom) + .doOnSuccess(sc -> log.info("create starter custom: {}", starterCustom))) + .doOnSuccess(sc -> log.info("starter custom exists: {}", sc)) + .then(); + } +} diff --git a/src/main/resources/configMapSchemas.yaml b/src/main/resources/configMapSchemas.yaml new file mode 100644 index 0000000..eef90b7 --- /dev/null +++ b/src/main/resources/configMapSchemas.yaml @@ -0,0 +1,21 @@ +- $formkit: 'text' + name: 'email' + value: '$email' + label: '邮件' + help: '这个将被作为账户名称使用' + validation: 'required|email' + +- $formkit: 'password' + name: 'password' + value: '$password' + label: '密码' + help: '输入你的密码' + validation: 'required|length:5,16' + +- $formkit: 'password' + name: 'password_confirm' + value: '$password_confirm' + label: '确认密码' + help: '再输入一遍相同的确认密码' + validation: 'required|confirm' + validationLabel: '密码验证' diff --git a/src/main/resources/plugin.yaml b/src/main/resources/plugin.yaml new file mode 100644 index 0000000..dc3184b --- /dev/null +++ b/src/main/resources/plugin.yaml @@ -0,0 +1,16 @@ +# A unique name, must eq var console/vite.config.js#pluginEntryName, +# and can not contain specific symbol such as - . +name: PluginStarter +# plugin entry class that extends BasePlugin +clazz: run.ikaros.plugin.starter.StarterPlugin +# plugin 'version' is a valid semantic version string (see semver.org). +version: 0.11.0 +requires: ">=0.11.4" +author: + name: Ikaros OSS Team + website: https://github.com/ikaros-dev +logo: https://ikaros.run/logo.png +homepage: https://github.com/ikaros-dev/plugin-starter +displayName: "插件快速开始模板" +description: "这是一个插件快速开始模板" +license: "AGPL-3.0" \ No newline at end of file