diff --git a/.github/ISSUE_TEMPLATE/10-bug-report.yml b/.github/ISSUE_TEMPLATE/10-bug-report.yml index 074712ac0f..8d589e1746 100644 --- a/.github/ISSUE_TEMPLATE/10-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/10-bug-report.yml @@ -22,12 +22,8 @@ body: multiple: true options: - "@kintone/rest-api-client" - - "@kintone/customize-uploader" - "@kintone/plugin-manifest-validator" - - "@kintone/create-plugin" - - "@kintone/plugin-packer" - "@kintone/webpack-plugin-kintone-plugin" - - "@kintone/plugin-uploader" - "@kintone/dts-gen" validations: required: true diff --git a/.github/ISSUE_TEMPLATE/20-feature-request.yml b/.github/ISSUE_TEMPLATE/20-feature-request.yml index fa850cda06..b9925ce917 100644 --- a/.github/ISSUE_TEMPLATE/20-feature-request.yml +++ b/.github/ISSUE_TEMPLATE/20-feature-request.yml @@ -15,12 +15,8 @@ body: multiple: true options: - "@kintone/rest-api-client" - - "@kintone/customize-uploader" - "@kintone/plugin-manifest-validator" - - "@kintone/create-plugin" - - "@kintone/plugin-packer" - "@kintone/webpack-plugin-kintone-plugin" - - "@kintone/plugin-uploader" - "@kintone/dts-gen" validations: required: true diff --git a/.github/labeler-config.yml b/.github/labeler-config.yml index 384396c3f3..7c50ca74c8 100644 --- a/.github/labeler-config.yml +++ b/.github/labeler-config.yml @@ -1,11 +1,3 @@ -"pkg: create-plugin": - - changed-files: - - any-glob-to-any-file: "packages/create-plugin/**/*" - -"pkg: customize-uploader": - - changed-files: - - any-glob-to-any-file: "packages/customize-uploader/**/*" - "pkg: dts-gen": - changed-files: - any-glob-to-any-file: "packages/dts-gen/**/*" @@ -14,14 +6,6 @@ - changed-files: - any-glob-to-any-file: "packages/plugin-manifest-validator/**/*" -"pkg: plugin-packer": - - changed-files: - - any-glob-to-any-file: "packages/plugin-packer/**/*" - -"pkg: plugin-uploader": - - changed-files: - - any-glob-to-any-file: "packages/plugin-uploader/**/*" - "pkg: profile-loader": - changed-files: - any-glob-to-any-file: "packages/profile-loader/**/*" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b5ee389c3..8a2bc09045 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,6 @@ # WARNING: When you rename a workflow filename, remember to update the Trusted Publishing settings as well. # - https://www.npmjs.com/package/@kintone/webpack-plugin-kintone-plugin/access -# - https://www.npmjs.com/package/@kintone/plugin-uploader/access -# - https://www.npmjs.com/package/@kintone/create-plugin/access # - https://www.npmjs.com/package/@kintone/plugin-manifest-validator/access -# - https://www.npmjs.com/package/@kintone/plugin-packer/access -# - https://www.npmjs.com/package/@kintone/customize-uploader/access # - https://www.npmjs.com/package/@kintone/dts-gen/access # - https://www.npmjs.com/package/@kintone/rest-api-client/access # - https://www.npmjs.com/package/@kintone/eslint-plugin/access diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2791e4464f..94aa6a19da 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,11 +1,7 @@ { - "packages/create-plugin": "9.0.5", - "packages/customize-uploader": "9.0.4", "packages/dts-gen": "9.0.8", "@kintone/eslint-plugin": "0.0.0", "packages/plugin-manifest-validator": "11.3.0", - "packages/plugin-packer": "9.1.2", - "packages/plugin-uploader": "10.0.1", "packages/profile-loader": "6.0.1", "packages/rest-api-client": "6.2.1", "packages/webpack-plugin-kintone-plugin": "9.0.5", diff --git a/README.md b/README.md index 4b58753026..79777490c5 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,8 @@ This repository is a monorepo for Kintone development tools! | Name | Description | Links | | -------------------------------------------------------------------------------- | :---------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------: | | [@kintone/rest-api-client](packages/rest-api-client) | An API client for Kintone REST API | [![npm version](https://badge.fury.io/js/%40kintone%2Frest-api-client.svg)](https://badge.fury.io/js/%40kintone%2Frest-api-client) | -| [@kintone/customize-uploader](packages/customize-uploader) | An uploader for Kintone customization | [![npm version](https://badge.fury.io/js/%40kintone%2Fcustomize-uploader.svg)](https://badge.fury.io/js/%40kintone%2Fcustomize-uploader) | | [@kintone/plugin-manifest-validator](packages/plugin-manifest-validator) | A validator for `manifest.json` of Kintone plugin | [![npm version](https://badge.fury.io/js/%40kintone%2Fplugin-manifest-validator.svg)](https://badge.fury.io/js/%40kintone%2Fplugin-manifest-validator) | -| [@kintone/create-plugin](packages/create-plugin) | A CLI tool for creating a Kintone plugin! | [![npm version](https://badge.fury.io/js/%40kintone%2Fcreate-plugin.svg)](https://badge.fury.io/js/%40kintone%2Fcreate-plugin) | -| [@kintone/plugin-packer](packages/plugin-packer) | A tool for packaging a Kintone plugin! | [![npm version](https://badge.fury.io/js/%40kintone%2Fplugin-packer.svg)](https://badge.fury.io/js/%40kintone%2Fplugin-packer) | | [@kintone/webpack-plugin-kintone-plugin](packages/webpack-plugin-kintone-plugin) | A webpack plugin to create a plugin zip of Kintone | [![npm version](https://badge.fury.io/js/%40kintone%2Fwebpack-plugin-kintone-plugin.svg)](https://badge.fury.io/js/%40kintone%2Fwebpack-plugin-kintone-plugin) | -| [@kintone/plugin-uploader](packages/plugin-uploader) | A kintone plugin uploader using puppeteer | [![npm version](https://badge.fury.io/js/%40kintone%2Fplugin-uploader.svg)](https://badge.fury.io/js/%40kintone%2Fplugin-uploader) | | [@kintone/dts-gen](packages/dts-gen) | A tool for generating type definitions for your Kintone apps | [![npm version](https://badge.fury.io/js/%40kintone%2Fdts-gen.svg)](https://badge.fury.io/js/%40kintone%2Fdts-gen) | | [@kintone/eslint-plugin](packages/eslint-plugin) | An ESLint plugin for kintone customization and plugin development | [![npm version](https://badge.fury.io/js/%40kintone%2Feslint-plugin.svg)](https://badge.fury.io/js/%40kintone%2Feslint-plugin) | diff --git a/packages/create-plugin/.gitignore b/packages/create-plugin/.gitignore deleted file mode 100644 index 8617652761..0000000000 --- a/packages/create-plugin/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -dist/ -.vscode/ diff --git a/packages/create-plugin/.prettierignore b/packages/create-plugin/.prettierignore deleted file mode 100644 index a70c3dc894..0000000000 --- a/packages/create-plugin/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -package.json -templates/ -CHANGELOG.md \ No newline at end of file diff --git a/packages/create-plugin/CHANGELOG.md b/packages/create-plugin/CHANGELOG.md deleted file mode 100644 index af7f0705dd..0000000000 --- a/packages/create-plugin/CHANGELOG.md +++ /dev/null @@ -1,1270 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -## [9.0.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@9.0.4...@kintone/create-plugin@9.0.5) (2026-06-03) - - -### Bug Fixes - -* **deps:** update dependency ajv to v8.20.0 ([01b7e1b](https://github.com/kintone/js-sdk/commit/01b7e1b0a95e697756bee1ecbe868c4cd9e81448)) -* **deps:** update dependency lodash to v4.18.1 [security] ([#3699](https://github.com/kintone/js-sdk/issues/3699)) ([74b9462](https://github.com/kintone/js-sdk/commit/74b94629225a7b1aa86f25852f5774a3b3d44c79)) - -## [9.0.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@9.0.3...@kintone/create-plugin@9.0.4) (2026-04-08) - - -### Bug Fixes - -* pin dependency versions and remove unused core-js ([#3697](https://github.com/kintone/js-sdk/issues/3697)) ([5138e95](https://github.com/kintone/js-sdk/commit/5138e957cb2e85e054d555ab5524c3da5bf0740b)) - -## [9.0.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@9.0.2...@kintone/create-plugin@9.0.3) (2026-03-31) - - -### Bug Fixes - -* **create-plugin, customize-uploader:** update rest-api-client version ([#3691](https://github.com/kintone/js-sdk/issues/3691)) ([efc79e9](https://github.com/kintone/js-sdk/commit/efc79e941e5cedc75ba91fd914d806b6503f2c88)) - -## [9.0.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@9.0.1...@kintone/create-plugin@9.0.2) (2026-01-26) - - -### Bug Fixes - -* enable erasableSyntaxOnly option ([#3571](https://github.com/kintone/js-sdk/issues/3571)) ([78eaa02](https://github.com/kintone/js-sdk/commit/78eaa02e53e779e15ec76642b2e3f50b1c4102c6)) - -## [9.0.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@9.0.0...@kintone/create-plugin@9.0.1) (2026-01-06) - - -### Bug Fixes - -* **create-plugin:** use correct @cybozu/eslint-config flat config API ([#3542](https://github.com/kintone/js-sdk/issues/3542)) ([1487119](https://github.com/kintone/js-sdk/commit/14871194452301f69518bdb38902b0c2c38801f1)) -* update js script to ts ([#3543](https://github.com/kintone/js-sdk/issues/3543)) ([372eada](https://github.com/kintone/js-sdk/commit/372eada1a48cb03c36bd761cc373afc6df5a9c9d)) - -## [9.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.5...@kintone/create-plugin@9.0.0) (2025-10-14) - - -### ⚠ BREAKING CHANGES - -* We dropped Node.js v18. The minimum Node.js version is now v20. - -### Miscellaneous Chores - -* bump minimum Node.js version to v20 ([#3431](https://github.com/kintone/js-sdk/issues/3431)) ([dbef119](https://github.com/kintone/js-sdk/commit/dbef11984d1d41099375f279640e7de13427c8c6)) - -## [8.2.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.4...@kintone/create-plugin@8.2.5) (2025-05-13) - - -### Bug Fixes - -* **dts-gen:** update axios ([#3284](https://github.com/kintone/js-sdk/issues/3284)) ([#3303](https://github.com/kintone/js-sdk/issues/3303)) ([edf7861](https://github.com/kintone/js-sdk/commit/edf78612a6ce06aee48bd5f409b764c7dab2337a)) -* **rest-api-client:** commit for release ([#3286](https://github.com/kintone/js-sdk/issues/3286)) ([fc1f211](https://github.com/kintone/js-sdk/commit/fc1f21193f3bcd920bfec8f9698e1c8d1daa6817)) - -## [8.2.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.3...@kintone/create-plugin@8.2.4) (2024-09-09) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.1.3 ([#2833](https://github.com/kintone/js-sdk/issues/2833)) ([670fb21](https://github.com/kintone/js-sdk/commit/670fb21ac9974dda5e49151893ef2c357167ceb5)) -* **deps:** update dependency prettier to ^3.3.3 ([#2878](https://github.com/kintone/js-sdk/issues/2878)) ([a95529a](https://github.com/kintone/js-sdk/commit/a95529aa01da55061807d1d792754d0cff9461fe)) - -## [8.2.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.2...@kintone/create-plugin@8.2.3) (2024-06-18) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.5.2 ([#2820](https://github.com/kintone/js-sdk/issues/2820)) ([532d6ab](https://github.com/kintone/js-sdk/commit/532d6abde5971941c3187b1a4acd9c82a78bbd53)) - -## [8.2.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.1...@kintone/create-plugin@8.2.2) (2024-06-12) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.1.2 ([#2796](https://github.com/kintone/js-sdk/issues/2796)) ([15a4c06](https://github.com/kintone/js-sdk/commit/15a4c06e063dafc2e4393cf51c7bf583722a326e)) -* **deps:** update dependency core-js to ^3.37.1 ([#2710](https://github.com/kintone/js-sdk/issues/2710)) ([263a1a4](https://github.com/kintone/js-sdk/commit/263a1a4e395cf6e36df93cca8e07b6878b7a1242)) -* **deps:** update dependency prettier to ^3.3.1 ([#2799](https://github.com/kintone/js-sdk/issues/2799)) ([0f86426](https://github.com/kintone/js-sdk/commit/0f8642633c9892d2bd2c8eeb3104913095a9f92a)) -* **deps:** update dependency prettier to ^3.3.2 ([#2813](https://github.com/kintone/js-sdk/issues/2813)) ([40d6115](https://github.com/kintone/js-sdk/commit/40d6115280c712da0f3c88cf99d65effb1b50220)) - -## [8.2.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.2.0...@kintone/create-plugin@8.2.1) (2024-05-31) - - -### Bug Fixes - -* update plugin `manifest-schema.json` URL ([#2791](https://github.com/kintone/js-sdk/issues/2791)) ([39bae0f](https://github.com/kintone/js-sdk/commit/39bae0f415d3adac9601dba5627ea123a7947158)) - -## [8.2.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.1.0...@kintone/create-plugin@8.2.0) (2024-05-29) - - -### Features - -* **create-plugin:** add default `$schema` value to project templates ([#2782](https://github.com/kintone/js-sdk/issues/2782)) ([12d2b27](https://github.com/kintone/js-sdk/commit/12d2b2752566acb1aef246338a5c758d6f6073df)) - -## [8.1.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.6...@kintone/create-plugin@8.1.0) (2024-05-22) - - -### Features - -* **create-plugin:** show prompt to choose Spanish support ([#2770](https://github.com/kintone/js-sdk/issues/2770)) ([c98ab15](https://github.com/kintone/js-sdk/commit/c98ab15db5531a2200ca2625d848981bb3a9c57b)) - -## [8.0.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.5...@kintone/create-plugin@8.0.6) (2024-05-15) - - -### Bug Fixes - -* **create-plugin:** exit-code should be non-zero when an error occurs ([#2760](https://github.com/kintone/js-sdk/issues/2760)) ([0186ba8](https://github.com/kintone/js-sdk/commit/0186ba81d15a6fc244d1e0d8c90cdad1ddfc2a47)) -* **deps:** update dependency @kintone/plugin-packer to ^8.0.6 ([#2748](https://github.com/kintone/js-sdk/issues/2748)) ([3993476](https://github.com/kintone/js-sdk/commit/399347683e6ba8e20324ce87629965059d07b568)) - -## [8.0.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.4...@kintone/create-plugin@8.0.5) (2024-05-08) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.5.1 ([#2724](https://github.com/kintone/js-sdk/issues/2724)) ([f06f485](https://github.com/kintone/js-sdk/commit/f06f48524e0a67aaf7368e68f9ea00849230345c)) - -## [8.0.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.3...@kintone/create-plugin@8.0.4) (2024-04-09) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.0.5 ([#2684](https://github.com/kintone/js-sdk/issues/2684)) ([ca2dc89](https://github.com/kintone/js-sdk/commit/ca2dc89cc10902e17bfe0fb43886967869d947ec)) - -## [8.0.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.2...@kintone/create-plugin@8.0.3) (2024-04-02) - - -### Bug Fixes - -* **deps:** update dependency @cybozu/eslint-config to v23 ([#2664](https://github.com/kintone/js-sdk/issues/2664)) ([b68c6a2](https://github.com/kintone/js-sdk/commit/b68c6a283727ee790591d2d950e98a633b7fa803)) -* **deps:** update dependency @kintone/rest-api-client to ^5.5.0 ([#2663](https://github.com/kintone/js-sdk/issues/2663)) ([dd45e99](https://github.com/kintone/js-sdk/commit/dd45e991a7aa9a020de424c088b2e189b582e72a)) - -## [8.0.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.1...@kintone/create-plugin@8.0.2) (2024-03-27) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.4.0 ([#2597](https://github.com/kintone/js-sdk/issues/2597)) ([723987a](https://github.com/kintone/js-sdk/commit/723987af0034a5593c2e4172976ef1d6173ce3ae)) -* **deps:** update dependency core-js to ^3.36.1 ([#2567](https://github.com/kintone/js-sdk/issues/2567)) ([d2fcc1c](https://github.com/kintone/js-sdk/commit/d2fcc1c504702d18a35a9f0ae0b4265b2a797f9d)) -* **deps:** update dependency eslint to ^8.57.0 ([#2586](https://github.com/kintone/js-sdk/issues/2586)) ([ccbda78](https://github.com/kintone/js-sdk/commit/ccbda787968fa3317b7aa46f4558da7320e330bb)) - -## [8.0.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@8.0.0...@kintone/create-plugin@8.0.1) (2024-02-07) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.8 ([#2540](https://github.com/kintone/js-sdk/issues/2540)) ([2d65d4b](https://github.com/kintone/js-sdk/commit/2d65d4bc642cc30f1a2a4b99ab40980f0b5d6bd6)) -* **deps:** update dependency prettier to ^3.2.5 ([#2549](https://github.com/kintone/js-sdk/issues/2549)) ([34b49be](https://github.com/kintone/js-sdk/commit/34b49be817aa8d433f189bb0bc7facfcf200864b)) - -## [8.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.10...@kintone/create-plugin@8.0.0) (2024-01-30) - - -### ⚠ BREAKING CHANGES - -* **create-plugin:** The `minimum` template doesn't use jQuery anymore - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.7 ([#2526](https://github.com/kintone/js-sdk/issues/2526)) ([cd8273c](https://github.com/kintone/js-sdk/commit/cd8273c152ce88f4a0483b83b832cd7fb5a473b7)) - - -### Miscellaneous Chores - -* **create-plugin:** remove jQuery from the minimum template ([#2513](https://github.com/kintone/js-sdk/issues/2513)) ([4592ddd](https://github.com/kintone/js-sdk/commit/4592ddde683c8c107712e9faffc7c19f0576b2ca)) - -## [7.0.10](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.9...@kintone/create-plugin@7.0.10) (2024-01-23) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.0.4 ([#2508](https://github.com/kintone/js-sdk/issues/2508)) ([2b7e93b](https://github.com/kintone/js-sdk/commit/2b7e93b274e8bf39172b4282c055a16be6e9594a)) -* **deps:** update dependency @kintone/rest-api-client to ^5.0.6 ([#2509](https://github.com/kintone/js-sdk/issues/2509)) ([3806377](https://github.com/kintone/js-sdk/commit/38063773c829ac2fcef0c5f1b9960bbb25b1f3b1)) -* **deps:** update dependency core-js to ^3.35.1 ([#2518](https://github.com/kintone/js-sdk/issues/2518)) ([984a324](https://github.com/kintone/js-sdk/commit/984a324725886b77abef27efa0ecb97d972ab924)) -* **deps:** update dependency prettier to ^3.2.4 ([#2510](https://github.com/kintone/js-sdk/issues/2510)) ([7d729ad](https://github.com/kintone/js-sdk/commit/7d729ad63424354d63d13c2d7c24669274790bea)) - -## [7.0.9](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.8...@kintone/create-plugin@7.0.9) (2024-01-17) - - -### Bug Fixes - -* **deps:** update dependency core-js to ^3.35.0 ([#2446](https://github.com/kintone/js-sdk/issues/2446)) ([c5b76b8](https://github.com/kintone/js-sdk/commit/c5b76b85a4e33cd6d297c235811604f5b2d1c0de)) -* **deps:** update dependency eslint to ^8.56.0 ([#2380](https://github.com/kintone/js-sdk/issues/2380)) ([62fd240](https://github.com/kintone/js-sdk/commit/62fd24094d110fd5b9995b25be1504b1ba6dd90c)) -* **deps:** update dependency prettier to ^3.2.2 ([#2499](https://github.com/kintone/js-sdk/issues/2499)) ([4187d79](https://github.com/kintone/js-sdk/commit/4187d79957f45b91b8cf8cf3c890744eecbe0326)) - -## [7.0.8](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.7...@kintone/create-plugin@7.0.8) (2023-12-21) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.5 ([#2467](https://github.com/kintone/js-sdk/issues/2467)) ([3a94a3a](https://github.com/kintone/js-sdk/commit/3a94a3a53615a82139f0bc1f603d411a71aaab49)) - -## [7.0.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.6...@kintone/create-plugin@7.0.7) (2023-12-21) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.0.3 ([#2466](https://github.com/kintone/js-sdk/issues/2466)) ([3ab988d](https://github.com/kintone/js-sdk/commit/3ab988d4d3f5a068aaaf4d99d39a7c35c8346e06)) - -## [7.0.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.5...@kintone/create-plugin@7.0.6) (2023-12-19) - - -### Bug Fixes - -* **deps:** update dependency prettier to v3 ([#2457](https://github.com/kintone/js-sdk/issues/2457)) ([5a0b859](https://github.com/kintone/js-sdk/commit/5a0b859807530564732caa194e9251f37268b164)) - -## [7.0.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.4...@kintone/create-plugin@7.0.5) (2023-12-04) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.4 ([#2430](https://github.com/kintone/js-sdk/issues/2430)) ([f6778e6](https://github.com/kintone/js-sdk/commit/f6778e67920bf3842ff1ec610e8085decedad6fa)) - -## [7.0.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.3...@kintone/create-plugin@7.0.4) (2023-11-26) - - -### Bug Fixes - -* **deps:** update dependency core-js to ^3.33.3 ([#2413](https://github.com/kintone/js-sdk/issues/2413)) ([14de2b7](https://github.com/kintone/js-sdk/commit/14de2b7bd1a1c006e3e40227df3b28e833d31ba7)) - -## [7.0.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.2...@kintone/create-plugin@7.0.3) (2023-11-08) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.3 ([#2377](https://github.com/kintone/js-sdk/issues/2377)) ([98d4a20](https://github.com/kintone/js-sdk/commit/98d4a20267f813726176af760948f6797a9de03a)) - -## [7.0.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.1...@kintone/create-plugin@7.0.2) (2023-10-31) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to ^8.0.1 ([#2361](https://github.com/kintone/js-sdk/issues/2361)) ([d2609ee](https://github.com/kintone/js-sdk/commit/d2609eea769df827c8bd68e04e266db5df8d658d)) -* **deps:** update dependency @kintone/rest-api-client to ^5.0.2 ([#2362](https://github.com/kintone/js-sdk/issues/2362)) ([a5b2e44](https://github.com/kintone/js-sdk/commit/a5b2e4431032b9e7b0659167726290fe0eebd316)) -* **deps:** update dependency core-js to ^3.33.2 ([#2369](https://github.com/kintone/js-sdk/issues/2369)) ([90ad58b](https://github.com/kintone/js-sdk/commit/90ad58bf35d9beea2fea11d8e354a0e88a397fb8)) - -## [7.0.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@7.0.0...@kintone/create-plugin@7.0.1) (2023-10-24) - - -### Bug Fixes - -* **deps:** update dependency @kintone/plugin-packer to v8 ([#2314](https://github.com/kintone/js-sdk/issues/2314)) ([acecae9](https://github.com/kintone/js-sdk/commit/acecae981ceca6664d924404f15616d976a3e6ca)) -* **deps:** update dependency @kintone/rest-api-client to v5 ([#2322](https://github.com/kintone/js-sdk/issues/2322)) ([1f6b7c1](https://github.com/kintone/js-sdk/commit/1f6b7c1c0a295c24f9559912a3adfd1bfa049335)) -* **deps:** update dependency core-js to ^3.33.1 ([#2307](https://github.com/kintone/js-sdk/issues/2307)) ([07aad3f](https://github.com/kintone/js-sdk/commit/07aad3fd2f1f7890d478de4c91c515a79cf82bbc)) -* **deps:** update dependency eslint to ^8.52.0 ([#2220](https://github.com/kintone/js-sdk/issues/2220)) ([b322a16](https://github.com/kintone/js-sdk/commit/b322a1654856ef189e2e41c8a7328e03147ace3e)) - -## [7.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.6...@kintone/create-plugin@7.0.0) (2023-10-03) - - -### ⚠ BREAKING CHANGES - -* We dropped Node v16 support. Now supported versions are v18 and v20. - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^4.1.1 ([#2300](https://github.com/kintone/js-sdk/issues/2300)) ([7e40f2d](https://github.com/kintone/js-sdk/commit/7e40f2d8fce0e50bcf0b828ee646b351ed193702)) - - -### Build System - -* Drop Node v16 support version ([#2294](https://github.com/kintone/js-sdk/issues/2294)) ([767d657](https://github.com/kintone/js-sdk/commit/767d65749be66b6c2509bb737d8f45085814cc44)) - -## [6.0.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.5...@kintone/create-plugin@6.0.6) (2023-09-26) - - -### Bug Fixes - -* **deps:** update dependency core-js to ^3.32.0 ([#2011](https://github.com/kintone/js-sdk/issues/2011)) ([54ddae6](https://github.com/kintone/js-sdk/commit/54ddae6031702c82ada252a6dd2c7f46a598a1cb)) -* **deps:** update dependency core-js to ^3.32.1 ([#2230](https://github.com/kintone/js-sdk/issues/2230)) ([9e7e92d](https://github.com/kintone/js-sdk/commit/9e7e92d840f896689772300fd96aa1b66a16bfc2)) -* **deps:** update dependency core-js to ^3.32.2 ([#2265](https://github.com/kintone/js-sdk/issues/2265)) ([cf2c195](https://github.com/kintone/js-sdk/commit/cf2c195f96bc3bf6d4fe53e09c4093433b3c0eb0)) -* **deps:** update dependency eslint to ^8.46.0 ([#2025](https://github.com/kintone/js-sdk/issues/2025)) ([ab6f486](https://github.com/kintone/js-sdk/commit/ab6f486930deecbd2830eea0e3be5be7aeb2394d)) -* **deps:** update dependency inquirer to ^8.2.6 ([#2201](https://github.com/kintone/js-sdk/issues/2201)) ([7a85f2f](https://github.com/kintone/js-sdk/commit/7a85f2f0e8683a05d5aa04b94c06d12516bb80d4)) - -## [6.0.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.4...@kintone/create-plugin@6.0.5) (2023-08-01) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to v4 ([#2136](https://github.com/kintone/js-sdk/issues/2136)) ([719fb4b](https://github.com/kintone/js-sdk/commit/719fb4bc538b0919d8c68706ae2855903663b9ea)) - -## [6.0.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.3...@kintone/create-plugin@6.0.4) (2023-07-05) - -### Bug Fixes - -- **create-plugin:** fix `include` of tsconfig ([#2159](https://github.com/kintone/js-sdk/issues/2159)) ([35dac00](https://github.com/kintone/js-sdk/commit/35dac0055fc8ea9e4d73c093990829bf3ad87a27)) - -## [6.0.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.2...@kintone/create-plugin@6.0.3) (2023-06-28) - -**Note:** Version bump only for package @kintone/create-plugin - -## [6.0.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.1...@kintone/create-plugin@6.0.2) (2023-06-21) - -**Note:** Version bump only for package @kintone/create-plugin - -## [6.0.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@6.0.0...@kintone/create-plugin@6.0.1) (2023-06-15) - -**Note:** Version bump only for package @kintone/create-plugin - -# [6.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.44...@kintone/create-plugin@6.0.0) (2023-06-07) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.15 ([#2122](https://github.com/kintone/js-sdk/issues/2122)) ([fecbab0](https://github.com/kintone/js-sdk/commit/fecbab02d8dd2df998414f44c1c4ef54cb5c8dfa)) - -- build!: drop Node v14 support because of the EOL (#2124) ([ef0e004](https://github.com/kintone/js-sdk/commit/ef0e004b40a518a1b5a3aa5d82446c556c742f02)), closes [#2124](https://github.com/kintone/js-sdk/issues/2124) - -### BREAKING CHANGES - -- We dropped Node v14 support. Now supported versions are v16, v18, and v20. - -## [5.1.44](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.43...@kintone/create-plugin@5.1.44) (2023-05-31) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.14 ([#2108](https://github.com/kintone/js-sdk/issues/2108)) ([5070bbe](https://github.com/kintone/js-sdk/commit/5070bbeebac42b9dd9d8dfe8975fa542aa2b9418)) - -## [5.1.43](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.42...@kintone/create-plugin@5.1.43) (2023-05-24) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.13 ([#2093](https://github.com/kintone/js-sdk/issues/2093)) ([1ebcb93](https://github.com/kintone/js-sdk/commit/1ebcb93bea50b0d7764da34805a1edab56766589)) - -## [5.1.42](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.41...@kintone/create-plugin@5.1.42) (2023-05-17) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.12 ([#2085](https://github.com/kintone/js-sdk/issues/2085)) ([4e7a989](https://github.com/kintone/js-sdk/commit/4e7a98952edc1e46ae1dbdb9ca013efbb17b4ad2)) - -## [5.1.41](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.40...@kintone/create-plugin@5.1.41) (2023-05-10) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.11 ([#2059](https://github.com/kintone/js-sdk/issues/2059)) ([df597e6](https://github.com/kintone/js-sdk/commit/df597e6badbc729c010e11a6ce2119147a8cece2)) - -## [5.1.40](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.39...@kintone/create-plugin@5.1.40) (2023-04-26) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.10 ([#2053](https://github.com/kintone/js-sdk/issues/2053)) ([54db5ac](https://github.com/kintone/js-sdk/commit/54db5ac9ebdb6e5572fd8c6eae7f3a65b8434916)) -- **deps:** update dependency prettier to ^2.8.8 ([#2054](https://github.com/kintone/js-sdk/issues/2054)) ([b066f66](https://github.com/kintone/js-sdk/commit/b066f668169731e062e5ced04f97121c42a54a7c)) - -## [5.1.39](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.38...@kintone/create-plugin@5.1.39) (2023-04-21) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.38](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.37...@kintone/create-plugin@5.1.38) (2023-04-10) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.9 ([#2024](https://github.com/kintone/js-sdk/issues/2024)) ([c1f2561](https://github.com/kintone/js-sdk/commit/c1f2561e359682a262d5bca45b38d68a43c8470b)) - -## [5.1.37](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.36...@kintone/create-plugin@5.1.37) (2023-04-06) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to ^18.0.3 ([#2019](https://github.com/kintone/js-sdk/issues/2019)) ([60cc327](https://github.com/kintone/js-sdk/commit/60cc327302206a0b5fdc8363c1308c7402e40fca)) -- **deps:** update dependency @kintone/rest-api-client to ^3.3.8 ([#2016](https://github.com/kintone/js-sdk/issues/2016)) ([d1bfbdc](https://github.com/kintone/js-sdk/commit/d1bfbdc27566f8b142764e4353c71fd6b26882f1)) -- **deps:** update dependency eslint to ^8.37.0 ([#2004](https://github.com/kintone/js-sdk/issues/2004)) ([26f0f05](https://github.com/kintone/js-sdk/commit/26f0f050f3473698f754075e0d79bdce6ccbfde3)) - -## [5.1.36](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.35...@kintone/create-plugin@5.1.36) (2023-04-04) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.7 ([#2001](https://github.com/kintone/js-sdk/issues/2001)) ([2474ab6](https://github.com/kintone/js-sdk/commit/2474ab66eab14cf5430c32bb7d19a706a7f65365)) - -## [5.1.35](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.34...@kintone/create-plugin@5.1.35) (2023-03-29) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to ^18.0.2 ([#1992](https://github.com/kintone/js-sdk/issues/1992)) ([433d764](https://github.com/kintone/js-sdk/commit/433d764fd8a64f0cedb30f5853f331bb2e2d37ca)) -- **deps:** update dependency @kintone/rest-api-client to ^3.3.6 ([#1987](https://github.com/kintone/js-sdk/issues/1987)) ([dfe2b87](https://github.com/kintone/js-sdk/commit/dfe2b874535f7a711001f88cbc6d3ffb2065d153)) -- **deps:** update dependency prettier to ^2.8.7 ([#1993](https://github.com/kintone/js-sdk/issues/1993)) ([900619f](https://github.com/kintone/js-sdk/commit/900619f0f9f2e5304adc00de70cd453325d69d37)) - -## [5.1.34](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.33...@kintone/create-plugin@5.1.34) (2023-03-22) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.5 ([#1969](https://github.com/kintone/js-sdk/issues/1969)) ([f8b0793](https://github.com/kintone/js-sdk/commit/f8b0793f7b932971e43b061eaa58ca1607667d32)) -- **deps:** update dependency core-js to ^3.29.1 ([#1960](https://github.com/kintone/js-sdk/issues/1960)) ([6f50cc0](https://github.com/kintone/js-sdk/commit/6f50cc0047b86a983fe02d830ea2aeb822257ec6)) -- **deps:** update dependency prettier to ^2.8.5 ([#1976](https://github.com/kintone/js-sdk/issues/1976)) ([c95c4d7](https://github.com/kintone/js-sdk/commit/c95c4d749a0fac1db564fedef0b3dc7fa1463daa)) -- **deps:** update dependency prettier to ^2.8.6 ([#1979](https://github.com/kintone/js-sdk/issues/1979)) ([8f9ec33](https://github.com/kintone/js-sdk/commit/8f9ec3342978545237775a7f18faa201d6fea75e)) - -## [5.1.33](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.32...@kintone/create-plugin@5.1.33) (2023-03-15) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.4 ([#1955](https://github.com/kintone/js-sdk/issues/1955)) ([0fc7463](https://github.com/kintone/js-sdk/commit/0fc74634ac31fd7535ab05f5431ce5a08c2a1494)) -- **deps:** update eslint and prettier (minor) ([#1801](https://github.com/kintone/js-sdk/issues/1801)) ([62aa13a](https://github.com/kintone/js-sdk/commit/62aa13a86c6b77b10f91a97d1d0ca4355a57e186)) - -## [5.1.32](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.31...@kintone/create-plugin@5.1.32) (2023-03-08) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.3 ([#1949](https://github.com/kintone/js-sdk/issues/1949)) ([fa6a746](https://github.com/kintone/js-sdk/commit/fa6a746709bbbeee305ade3bdc55a7fe724a12e5)) - -## [5.1.31](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.30...@kintone/create-plugin@5.1.31) (2023-03-03) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to ^18.0.1 ([#1942](https://github.com/kintone/js-sdk/issues/1942)) ([d647991](https://github.com/kintone/js-sdk/commit/d64799180ed4d743cb46e4be0562168823a7cdf3)) -- **deps:** update dependency core-js to ^3.29.0 ([#1921](https://github.com/kintone/js-sdk/issues/1921)) ([a563087](https://github.com/kintone/js-sdk/commit/a563087ed124d15075fc10d63ad56dd3cc24cf01)) - -## [5.1.30](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.29...@kintone/create-plugin@5.1.30) (2023-03-01) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.29](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.28...@kintone/create-plugin@5.1.29) (2023-02-22) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.2 ([#1928](https://github.com/kintone/js-sdk/issues/1928)) ([6fdfb91](https://github.com/kintone/js-sdk/commit/6fdfb91c27661c54ecd94bb50675bf5b0e5f1f9a)) - -## [5.1.28](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.27...@kintone/create-plugin@5.1.28) (2023-02-15) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.3.1 ([#1914](https://github.com/kintone/js-sdk/issues/1914)) ([64dd53a](https://github.com/kintone/js-sdk/commit/64dd53a5072efd9fe2b2d4d96be41a08d7550411)) - -## [5.1.27](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.26...@kintone/create-plugin@5.1.27) (2023-02-01) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to v18 ([#1818](https://github.com/kintone/js-sdk/issues/1818)) ([fd144f6](https://github.com/kintone/js-sdk/commit/fd144f61a793ff7edbb0ed1fe5f0c89994b38a43)) -- **deps:** update dependency @kintone/rest-api-client to ^3.3.0 ([#1822](https://github.com/kintone/js-sdk/issues/1822)) ([dbdac36](https://github.com/kintone/js-sdk/commit/dbdac36adade263ffbd3d205d949b2f30f31b971)) -- **deps:** update dependency core-js to ^3.27.2 ([#1802](https://github.com/kintone/js-sdk/issues/1802)) ([7402696](https://github.com/kintone/js-sdk/commit/74026963fd37f71629be446ac5cd8a77d7860c51)) - -## [5.1.26](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.25...@kintone/create-plugin@5.1.26) (2023-01-25) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.25](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.24...@kintone/create-plugin@5.1.25) (2023-01-18) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.24](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.23...@kintone/create-plugin@5.1.24) (2022-12-21) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.23](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.22...@kintone/create-plugin@5.1.23) (2022-12-07) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.22](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.21...@kintone/create-plugin@5.1.22) (2022-11-16) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.21](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.20...@kintone/create-plugin@5.1.21) (2022-11-09) - -**Note:** Version bump only for package @kintone/create-plugin - -## [5.1.20](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.19...@kintone/create-plugin@5.1.20) (2022-11-02) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.16 ([#1812](https://github.com/kintone/js-sdk/issues/1812)) ([2eeb988](https://github.com/kintone/js-sdk/commit/2eeb988f8e87468f68d0885562188dec96516902)) - -## [5.1.19](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.18...@kintone/create-plugin@5.1.19) (2022-10-26) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.15 ([#1793](https://github.com/kintone/js-sdk/issues/1793)) ([edcea3c](https://github.com/kintone/js-sdk/commit/edcea3c40bfbece5b563fa5143f8516b604caae5)) -- **deps:** update dependency inquirer to ^8.2.5 ([#1807](https://github.com/kintone/js-sdk/issues/1807)) ([b760c60](https://github.com/kintone/js-sdk/commit/b760c60d566845fa34ab6a1deb0d894d44ef42c6)) - -## [5.1.18](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.17...@kintone/create-plugin@5.1.18) (2022-10-19) - -### Bug Fixes - -- **create-plugin:** fix generation of the wepack.config.js of the modern template ([#1778](https://github.com/kintone/js-sdk/issues/1778)) ([df008e1](https://github.com/kintone/js-sdk/commit/df008e1b10cc4eab08dbce322c6962cb04d1a217)) -- **deps:** update dependency @kintone/rest-api-client to ^3.1.14 ([#1782](https://github.com/kintone/js-sdk/issues/1782)) ([7b8dc7b](https://github.com/kintone/js-sdk/commit/7b8dc7bf4fb5a2c3989889b83cab4370fcd9a2cd)) - -## [5.1.17](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.16...@kintone/create-plugin@5.1.17) (2022-10-12) - -### Bug Fixes - -- **deps:** update dependency eslint to ^8.25.0 ([#1768](https://github.com/kintone/js-sdk/issues/1768)) ([bfae39b](https://github.com/kintone/js-sdk/commit/bfae39b16f844cd9cccd32b64b8ba00acde62e87)) - -## [5.1.16](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.15...@kintone/create-plugin@5.1.16) (2022-10-05) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.12 ([#1754](https://github.com/kintone/js-sdk/issues/1754)) ([cab75c3](https://github.com/kintone/js-sdk/commit/cab75c3169479106f40aa5f2ab51913e6ad5e635)) -- **deps:** update dependency core-js to ^3.25.5 ([#1762](https://github.com/kintone/js-sdk/issues/1762)) ([db6eb7a](https://github.com/kintone/js-sdk/commit/db6eb7a88a3a16b52c1f266371d956c95d5aa03c)) -- **deps:** update dependency eslint to ^8.24.0 ([#1734](https://github.com/kintone/js-sdk/issues/1734)) ([4b6d12d](https://github.com/kintone/js-sdk/commit/4b6d12d67c7deae569891e0caf06a234e78939a4)) - -## [5.1.15](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.14...@kintone/create-plugin@5.1.15) (2022-09-29) - -### Bug Fixes - -- **deps:** update dependency core-js to ^3.25.2 ([#1724](https://github.com/kintone/js-sdk/issues/1724)) ([e889788](https://github.com/kintone/js-sdk/commit/e889788e32e94648db778433f492198e0564a289)) -- **deps:** update dependency core-js to ^3.25.3 ([#1735](https://github.com/kintone/js-sdk/issues/1735)) ([5e01cba](https://github.com/kintone/js-sdk/commit/5e01cba9ddf1edcbe1720d3e2c995c01bb9d0e27)) - -## [5.1.14](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.13...@kintone/create-plugin@5.1.14) (2022-09-21) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.11 ([#1721](https://github.com/kintone/js-sdk/issues/1721)) ([871d249](https://github.com/kintone/js-sdk/commit/871d24989dbf80e46a3877a01307cff3c30417a3)) - -## [5.1.13](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.12...@kintone/create-plugin@5.1.13) (2022-09-14) - -### Bug Fixes - -- **deps:** update dependency core-js to ^3.25.1 ([#1709](https://github.com/kintone/js-sdk/issues/1709)) ([409729e](https://github.com/kintone/js-sdk/commit/409729e468169cc53b82b5f491176700e8aa056b)) -- **deps:** update dependency eslint to ^8.23.0 ([#1696](https://github.com/kintone/js-sdk/issues/1696)) ([d2279a7](https://github.com/kintone/js-sdk/commit/d2279a727e421c7871e6771f6ff6d0f51bf1a030)) -- **deps:** update dependency eslint to ^8.23.1 ([#1715](https://github.com/kintone/js-sdk/issues/1715)) ([d812c04](https://github.com/kintone/js-sdk/commit/d812c04a72a48333907fefffac3a739a54620295)) - -## [5.1.12](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.11...@kintone/create-plugin@5.1.12) (2022-09-07) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.10 ([#1703](https://github.com/kintone/js-sdk/issues/1703)) ([34a7c54](https://github.com/kintone/js-sdk/commit/34a7c544b78f13bc18228f1529674aa41635a4be)) - -## [5.1.11](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.10...@kintone/create-plugin@5.1.11) (2022-08-31) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.9 ([#1692](https://github.com/kintone/js-sdk/issues/1692)) ([5cbb0e5](https://github.com/kintone/js-sdk/commit/5cbb0e528366c91b882ac6f016e5e5362feb777c)) -- **deps:** update dependency core-js to ^3.25.0 ([#1693](https://github.com/kintone/js-sdk/issues/1693)) ([7f3b9b8](https://github.com/kintone/js-sdk/commit/7f3b9b80b48a682815d3d14674ef6218dff12152)) - -## [5.1.10](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.9...@kintone/create-plugin@5.1.10) (2022-08-24) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.8 ([#1682](https://github.com/kintone/js-sdk/issues/1682)) ([43e7ac6](https://github.com/kintone/js-sdk/commit/43e7ac6b038811e951edc55b463eef0421c6b5c1)) - -## [5.1.9](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.8...@kintone/create-plugin@5.1.9) (2022-08-17) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.7 ([#1664](https://github.com/kintone/js-sdk/issues/1664)) ([2b11dd8](https://github.com/kintone/js-sdk/commit/2b11dd808872bcd21710e556bd9e84d926a3f36d)) -- **deps:** update dependency eslint to ^8.21.0 ([#1645](https://github.com/kintone/js-sdk/issues/1645)) ([42e4863](https://github.com/kintone/js-sdk/commit/42e4863950bfacbdc250adcd01c0b19cee2ac828)) -- **deps:** update dependency eslint to ^8.22.0 ([#1671](https://github.com/kintone/js-sdk/issues/1671)) ([f315e44](https://github.com/kintone/js-sdk/commit/f315e44d6ef55bf2b2c09ea71f980f4756f527f0)) - -## [5.1.8](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.7...@kintone/create-plugin@5.1.8) (2022-08-10) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.6 ([#1651](https://github.com/kintone/js-sdk/issues/1651)) ([f5dadc0](https://github.com/kintone/js-sdk/commit/f5dadc06ca82573cbc8dd8a65978878d2f2ec7e5)) - -## [5.1.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.6...@kintone/create-plugin@5.1.7) (2022-08-03) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to ^17.0.3 ([#1647](https://github.com/kintone/js-sdk/issues/1647)) ([10258d4](https://github.com/kintone/js-sdk/commit/10258d4f9004fc0aea458007a3bc39f45974e732)) -- **deps:** update dependency core-js to ^3.24.0 ([#1638](https://github.com/kintone/js-sdk/issues/1638)) ([e7f833e](https://github.com/kintone/js-sdk/commit/e7f833ef6288a6d02a354fc53c77dd688bb2d416)) -- **deps:** update dependency core-js to ^3.24.1 ([#1644](https://github.com/kintone/js-sdk/issues/1644)) ([45e45b2](https://github.com/kintone/js-sdk/commit/45e45b2ddc585e60a4633ee2a1a14386f229cff9)) -- **deps:** update dependency eslint to ^8.20.0 ([#1627](https://github.com/kintone/js-sdk/issues/1627)) ([63ea18d](https://github.com/kintone/js-sdk/commit/63ea18dff291f3886b33d65fd9e1606ad5638684)) - -## [5.1.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.5...@kintone/create-plugin@5.1.6) (2022-07-22) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.5 ([#1634](https://github.com/kintone/js-sdk/issues/1634)) ([64d0468](https://github.com/kintone/js-sdk/commit/64d046896097ef0160e1445d6764c81bb162fa37)) - -## [5.1.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.4...@kintone/create-plugin@5.1.5) (2022-07-21) - -### Bug Fixes - -- **deps:** update dependency @cybozu/eslint-config to ^17.0.2 ([#1609](https://github.com/kintone/js-sdk/issues/1609)) ([c1f6508](https://github.com/kintone/js-sdk/commit/c1f6508cf1f3c850205bf98a4b5592fd345099f6)) -- **deps:** update dependency @kintone/rest-api-client to ^3.1.4 ([#1599](https://github.com/kintone/js-sdk/issues/1599)) ([b441a0d](https://github.com/kintone/js-sdk/commit/b441a0d4502878787e705176d37f12e75f29f09e)) -- **deps:** update dependency core-js to ^3.23.4 ([#1615](https://github.com/kintone/js-sdk/issues/1615)) ([23927c9](https://github.com/kintone/js-sdk/commit/23927c9d97975c824b62358c724d395d5cebb792)) -- **deps:** update dependency core-js to ^3.23.5 ([#1628](https://github.com/kintone/js-sdk/issues/1628)) ([f425d10](https://github.com/kintone/js-sdk/commit/f425d10e5305aa67861f1aba31522419aec42d58)) -- **deps:** update dependency eslint to ^8.19.0 ([#1610](https://github.com/kintone/js-sdk/issues/1610)) ([c470c83](https://github.com/kintone/js-sdk/commit/c470c83e8cc06b53d67c9d15429eb9027e733c29)) - -## [5.1.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.3...@kintone/create-plugin@5.1.4) (2022-06-29) - -### Bug Fixes - -- **create-plugin:** fix generation of the plugin project ([#1579](https://github.com/kintone/js-sdk/issues/1579)) ([2955e6a](https://github.com/kintone/js-sdk/commit/2955e6ac94c1d08a20fc1e535e25ceeab5087392)) -- **deps:** update dependency @kintone/rest-api-client to ^3.1.3 ([#1578](https://github.com/kintone/js-sdk/issues/1578)) ([749d7de](https://github.com/kintone/js-sdk/commit/749d7de7e985bb76b7e2162d530adf69d512b93c)) -- **deps:** update dependency core-js to ^3.23.2 ([#1565](https://github.com/kintone/js-sdk/issues/1565)) ([312185a](https://github.com/kintone/js-sdk/commit/312185a85caa1153227f1467ecd86a0dee4e092d)) -- **deps:** update dependency core-js to ^3.23.3 ([#1588](https://github.com/kintone/js-sdk/issues/1588)) ([0a279c6](https://github.com/kintone/js-sdk/commit/0a279c6d205758c9457c49243e398f15b9878633)) -- **deps:** update eslint and prettier ([#1566](https://github.com/kintone/js-sdk/issues/1566)) ([590886b](https://github.com/kintone/js-sdk/commit/590886bbe258906fff8ba9b8ecfea1bef887c5c6)) - -## [5.1.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.2...@kintone/create-plugin@5.1.3) (2022-06-22) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.2 ([#1561](https://github.com/kintone/js-sdk/issues/1561)) ([efa8eac](https://github.com/kintone/js-sdk/commit/efa8eaca40b71082ddaf5b673741095db321da80)) - -## [5.1.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.1...@kintone/create-plugin@5.1.2) (2022-06-08) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.1 ([#1542](https://github.com/kintone/js-sdk/issues/1542)) ([ff66c02](https://github.com/kintone/js-sdk/commit/ff66c02eb67c44e6b91a8805ccaae9e96c6d8bfc)) -- **deps:** update dependency core-js to ^3.22.8 ([#1544](https://github.com/kintone/js-sdk/issues/1544)) ([535ba87](https://github.com/kintone/js-sdk/commit/535ba875d26d1069a220f4a119c786203d44b2ec)) -- **deps:** update dependency eslint to ^8.17.0 ([#1550](https://github.com/kintone/js-sdk/issues/1550)) ([f48ac6a](https://github.com/kintone/js-sdk/commit/f48ac6a10bf54399a810d6059357e4432180416a)) - -## [5.1.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.1.0...@kintone/create-plugin@5.1.1) (2022-06-01) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^3.1.0 ([#1521](https://github.com/kintone/js-sdk/issues/1521)) ([ed1e8c2](https://github.com/kintone/js-sdk/commit/ed1e8c27cd3ac0b65d98a9289bf4dcf4a941a752)) -- **deps:** update dependency core-js to ^3.22.6 ([#1526](https://github.com/kintone/js-sdk/issues/1526)) ([e90f568](https://github.com/kintone/js-sdk/commit/e90f5683e9592ee62f98f562e14fabf463e3871b)) -- **deps:** update dependency core-js to ^3.22.7 ([#1528](https://github.com/kintone/js-sdk/issues/1528)) ([2292c9d](https://github.com/kintone/js-sdk/commit/2292c9d843c1bff1f50aac3669aaec1a9a64f365)) -- **deps:** update dependency eslint to ^8.16.0 ([#1523](https://github.com/kintone/js-sdk/issues/1523)) ([561d273](https://github.com/kintone/js-sdk/commit/561d273c1c3d444a06a9c651b93307acfecf621b)) - -# [5.1.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@5.0.0...@kintone/create-plugin@5.1.0) (2022-05-20) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to v3 ([#1504](https://github.com/kintone/js-sdk/issues/1504)) ([6d0b502](https://github.com/kintone/js-sdk/commit/6d0b5029925ae417a85b5d269a00c7716658b2ac)) - -### Features - -- **create-plugin:** apply ESLint to generated project files ([#1514](https://github.com/kintone/js-sdk/issues/1514)) ([f101000](https://github.com/kintone/js-sdk/commit/f101000fceaa77cb2ca26b242f4fbef330a0450a)) - -# [5.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.22...@kintone/create-plugin@5.0.0) (2022-05-13) - -- chore!: drop Node v12 support because of the EOL (BREAKING CHANGE) (#1493) ([0d9dae1](https://github.com/kintone/js-sdk/commit/0d9dae10582fc40d89a1af8db4a2efc1d776a456)), closes [#1493](https://github.com/kintone/js-sdk/issues/1493) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.38 ([#1466](https://github.com/kintone/js-sdk/issues/1466)) ([7899d9d](https://github.com/kintone/js-sdk/commit/7899d9deff2ee8cf7acddec6bcb0fb3dedd1c8e6)) -- **deps:** update dependency core-js to ^3.22.3 ([#1467](https://github.com/kintone/js-sdk/issues/1467)) ([c7329bc](https://github.com/kintone/js-sdk/commit/c7329bc54820059cb7e0c800d7b97749159fbdaf)) -- **deps:** update dependency core-js to ^3.22.4 ([#1480](https://github.com/kintone/js-sdk/issues/1480)) ([7b603ab](https://github.com/kintone/js-sdk/commit/7b603abe8f1334b350e11d85cfccf539720c600c)) -- **deps:** update dependency core-js to ^3.22.5 ([#1491](https://github.com/kintone/js-sdk/issues/1491)) ([0cd469a](https://github.com/kintone/js-sdk/commit/0cd469a2ae8d2f7ac191650d348af03dd8e5d13a)) -- **deps:** update dependency inquirer to ^8.2.4 ([#1468](https://github.com/kintone/js-sdk/issues/1468)) ([8a5316d](https://github.com/kintone/js-sdk/commit/8a5316d7a6492cfe7e07842bf4095f4ab25eebd2)) -- **deps:** update dependency sort-package-json to ^1.56.1 ([#1476](https://github.com/kintone/js-sdk/issues/1476)) ([99a9655](https://github.com/kintone/js-sdk/commit/99a96555be2a08c9c3ce1fe9ac80fdabad530921)) -- **deps:** update dependency sort-package-json to ^1.57.0 ([#1481](https://github.com/kintone/js-sdk/issues/1481)) ([feff270](https://github.com/kintone/js-sdk/commit/feff270090d2722bd4c92c06781b302c6a41ef13)) -- **examples:** Run examples by ts-node ([#1488](https://github.com/kintone/js-sdk/issues/1488)) ([3351773](https://github.com/kintone/js-sdk/commit/335177317c13d3ce7c7e273394f2985541a8e8dc)) - -### BREAKING CHANGES - -- drop Node v12 support because of the EOL. - -- ci: update Node version 14 -> 16 - -- ci: remove Node 18.x from test workflow - -## [4.1.22](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.21...@kintone/create-plugin@4.1.22) (2022-04-28) - -### Bug Fixes - -- **deps:** update dependency core-js to ^3.22.1 ([#1441](https://github.com/kintone/js-sdk/issues/1441)) ([19f40bb](https://github.com/kintone/js-sdk/commit/19f40bb1be985d93d748c2ce529b8f0c884fc4a0)) -- **deps:** update dependency core-js to ^3.22.2 ([#1452](https://github.com/kintone/js-sdk/issues/1452)) ([a28beae](https://github.com/kintone/js-sdk/commit/a28beae73c58f92e32dfe2beba17b9b32b3a5568)) -- **deps:** update dependency inquirer to ^8.2.2 ([#1435](https://github.com/kintone/js-sdk/issues/1435)) ([afa0e6a](https://github.com/kintone/js-sdk/commit/afa0e6a4b7f941a2e0744716da3810cec0366a51)) -- **deps:** update dependency inquirer to ^8.2.3 ([#1461](https://github.com/kintone/js-sdk/issues/1461)) ([f4d8f87](https://github.com/kintone/js-sdk/commit/f4d8f87571e9ca6ed014b71c8ebdf45ab42f9ef5)) -- **deps:** update dependency sort-package-json to ^1.55.0 ([#1442](https://github.com/kintone/js-sdk/issues/1442)) ([fba6f91](https://github.com/kintone/js-sdk/commit/fba6f918d6ca6c788e7f4999c45c8c3e8cfa9b9f)) - -## [4.1.21](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.20...@kintone/create-plugin@4.1.21) (2022-03-25) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.37 ([#1417](https://github.com/kintone/js-sdk/issues/1417)) ([6d4db8e](https://github.com/kintone/js-sdk/commit/6d4db8e4bc17db77d7c44812c2864a79a694a51a)) - -## [4.1.20](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.19...@kintone/create-plugin@4.1.20) (2022-03-18) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.36 ([#1389](https://github.com/kintone/js-sdk/issues/1389)) ([65d33c1](https://github.com/kintone/js-sdk/commit/65d33c12dbea5e2caf4af2019da4d36f9f321d1d)) -- **deps:** update dependency inquirer to ^8.2.1 ([#1398](https://github.com/kintone/js-sdk/issues/1398)) ([e6ff25d](https://github.com/kintone/js-sdk/commit/e6ff25d13c6b718d4b8fa4bbce2c20060cc7e065)) - -## [4.1.19](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.18...@kintone/create-plugin@4.1.19) (2022-03-04) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.35 ([#1365](https://github.com/kintone/js-sdk/issues/1365)) ([c0a1dfe](https://github.com/kintone/js-sdk/commit/c0a1dfe4cf2cdae811ebf4fbfd44d0fdcf545626)) -- **deps:** update dependency core-js to ^3.21.1 ([#1326](https://github.com/kintone/js-sdk/issues/1326)) ([6c45ef6](https://github.com/kintone/js-sdk/commit/6c45ef686f3239c1261471d42fa23d8b65e8970f)) -- **deps:** update dependency sort-package-json to ^1.54.0 ([#1373](https://github.com/kintone/js-sdk/issues/1373)) ([97ec20b](https://github.com/kintone/js-sdk/commit/97ec20b325715f287d4e760dad54e872184e1e17)) - -## 4.1.18 (2022-02-14) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.34 ([#1341](https://github.com/kintone/js-sdk/issues/1341)) ([0e01847](https://github.com/kintone/js-sdk/commit/0e018475d77c68f42d414d563377aef56a7a1d41)) - -## 4.1.17 (2022-02-04) - -**Note:** Version bump only for package @kintone/create-plugin - -## 4.1.16 (2022-01-18) - -**Note:** Version bump only for package @kintone/create-plugin - -## 4.1.15 (2022-01-11) - -**Note:** Version bump only for package @kintone/create-plugin - -## 4.1.14 (2021-12-24) - -**Note:** Version bump only for package @kintone/create-plugin - -## 4.1.13 (2021-12-24) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.1.12](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.11...@kintone/create-plugin@4.1.12) (2021-12-21) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.28 ([#1261](https://github.com/kintone/js-sdk/issues/1261)) ([628e293](https://github.com/kintone/js-sdk/commit/628e2933ac7d3499b011ceb7e08ca31201b029e7)) - -## [4.1.11](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.10...@kintone/create-plugin@4.1.11) (2021-12-15) - -### Bug Fixes - -- **deps:** update dependency core-js to ^3.19.3 ([#1237](https://github.com/kintone/js-sdk/issues/1237)) ([fdf637b](https://github.com/kintone/js-sdk/commit/fdf637b60dfd3c499259c1e74144fdb8437cc6ef)) -- **deps:** update dependency prettier to ^2.5.1 ([#1238](https://github.com/kintone/js-sdk/issues/1238)) ([cfd1fca](https://github.com/kintone/js-sdk/commit/cfd1fcaab6ff72957d91526445928fd8ed876890)) - -## [4.1.10](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.9...@kintone/create-plugin@4.1.10) (2021-12-07) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.27 ([#1225](https://github.com/kintone/js-sdk/issues/1225)) ([7050d1a](https://github.com/kintone/js-sdk/commit/7050d1aa6a58eaf6a9a4061fccce43d8a0160e50)) - -## [4.1.9](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.8...@kintone/create-plugin@4.1.9) (2021-12-01) - -### Bug Fixes - -- **deps:** update dependency core-js to ^3.19.2 ([#1183](https://github.com/kintone/js-sdk/issues/1183)) ([da57c87](https://github.com/kintone/js-sdk/commit/da57c879542da3ae371b5acfecbe367488151dc5)) - -## [4.1.8](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.7...@kintone/create-plugin@4.1.8) (2021-11-24) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.25 ([#1213](https://github.com/kintone/js-sdk/issues/1213)) ([d053aa2](https://github.com/kintone/js-sdk/commit/d053aa20bd89dd09b0c59a4e934ed3fe4d9baa66)) - -## [4.1.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.6...@kintone/create-plugin@4.1.7) (2021-11-17) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to v2 ([#1184](https://github.com/kintone/js-sdk/issues/1184)) ([7551950](https://github.com/kintone/js-sdk/commit/7551950161200445fc2bd3208f5dc1d8d317b827)) -- **deps:** update dependency sort-package-json to ^1.53.1 ([#1202](https://github.com/kintone/js-sdk/issues/1202)) ([bfc1b82](https://github.com/kintone/js-sdk/commit/bfc1b82032ef106e025135bd2e8480937994a467)) - -## [4.1.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.5...@kintone/create-plugin@4.1.6) (2021-11-09) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^1.13.0 ([#1177](https://github.com/kintone/js-sdk/issues/1177)) ([33e7b8a](https://github.com/kintone/js-sdk/commit/33e7b8a3e9f94040e5faefa1ad6c279a095a4a79)) - -## [4.1.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.4...@kintone/create-plugin@4.1.5) (2021-10-27) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^1.12.4 ([#1174](https://github.com/kintone/js-sdk/issues/1174)) ([b78879e](https://github.com/kintone/js-sdk/commit/b78879eaf44f7b604eddb7bf0b20d7bd5ded0968)) - -## [4.1.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.3...@kintone/create-plugin@4.1.4) (2021-10-20) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.1.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.2...@kintone/create-plugin@4.1.3) (2021-10-13) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.0 ([#1140](https://github.com/kintone/js-sdk/issues/1140)) ([c494498](https://github.com/kintone/js-sdk/commit/c49449830b9e85783a96aa10fb8cb78c1d10fb3c)) - -## [4.1.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.1...@kintone/create-plugin@4.1.2) (2021-10-06) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.1.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.1.0...@kintone/create-plugin@4.1.1) (2021-09-29) - -**Note:** Version bump only for package @kintone/create-plugin - -# [4.1.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.11...@kintone/create-plugin@4.1.0) (2021-09-22) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.4 ([#1107](https://github.com/kintone/js-sdk/issues/1107)) ([b4a0476](https://github.com/kintone/js-sdk/commit/b4a04764d47831fe3427d38662eb7b22e2c88689)) -- **deps:** update dependency inquirer to ^8.1.5 ([#1108](https://github.com/kintone/js-sdk/issues/1108)) ([6c09561](https://github.com/kintone/js-sdk/commit/6c0956164737b7a31c09a2e34f5774d2a914464e)) - -### Features - -- **create-plugin:** update all dependencies in template projects ([#1106](https://github.com/kintone/js-sdk/issues/1106)) ([bbc3dc0](https://github.com/kintone/js-sdk/commit/bbc3dc0f35d964247d26f387b5b3c470a9a9e06a)) - -## [4.0.11](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.10...@kintone/create-plugin@4.0.11) (2021-09-15) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.3 ([#1104](https://github.com/kintone/js-sdk/issues/1104)) ([d333fd4](https://github.com/kintone/js-sdk/commit/d333fd46273d108cbe97f71aa5514831afb607f4)) - -## [4.0.10](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.9...@kintone/create-plugin@4.0.10) (2021-09-08) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.0.9](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.8...@kintone/create-plugin@4.0.9) (2021-08-25) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.0.8](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.7...@kintone/create-plugin@4.0.8) (2021-08-04) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.2 ([#1040](https://github.com/kintone/js-sdk/issues/1040)) ([ca03817](https://github.com/kintone/js-sdk/commit/ca03817936ed9b9413186a14bf676a1e6af57304)) - -## [4.0.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.6...@kintone/create-plugin@4.0.7) (2021-07-28) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.0.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.5...@kintone/create-plugin@4.0.6) (2021-07-21) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.2 ([#1012](https://github.com/kintone/js-sdk/issues/1012)) ([20df6cf](https://github.com/kintone/js-sdk/commit/20df6cf179d381748f305fc122b95ee43a10d301)) - -## [4.0.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.4...@kintone/create-plugin@4.0.5) (2021-07-12) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.0.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.3...@kintone/create-plugin@4.0.4) (2021-06-29) - -**Note:** Version bump only for package @kintone/create-plugin - -## [4.0.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.2...@kintone/create-plugin@4.0.3) (2021-06-22) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.1 ([#957](https://github.com/kintone/js-sdk/issues/957)) ([39e0b92](https://github.com/kintone/js-sdk/commit/39e0b920e553be9d80a4ec159d7afe5ea9a99a1a)) - -## [4.0.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.1...@kintone/create-plugin@4.0.2) (2021-05-25) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.0.1 ([#902](https://github.com/kintone/js-sdk/issues/902)) ([8e67f71](https://github.com/kintone/js-sdk/commit/8e67f71b43793d857128a38bc96bdb41e90b8d6c)) -- **deps:** update dependency inquirer to ^8.1.0 ([#904](https://github.com/kintone/js-sdk/issues/904)) ([9de640f](https://github.com/kintone/js-sdk/commit/9de640feb214adf9e03ba9623d50df5c2af46111)) - -## [4.0.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@4.0.0...@kintone/create-plugin@4.0.1) (2021-05-18) - -**Note:** Version bump only for package @kintone/create-plugin - -# [4.0.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.2.1...@kintone/create-plugin@4.0.0) (2021-05-11) - -### chore - -- drop Node v10 support ([#870](https://github.com/kintone/js-sdk/issues/870)) ([5263389](https://github.com/kintone/js-sdk/commit/526338928e5a89a1f24c7458fc0c7c2452e36cc1)) - -### BREAKING CHANGES - -- drop Node v10 support because of the EOL. - -## [3.2.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.2.0...@kintone/create-plugin@3.2.1) (2021-04-27) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.1 ([1750dff](https://github.com/kintone/js-sdk/commit/1750dff45fe19f82dab074d547da541086fc3791)) - -# [3.2.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.8...@kintone/create-plugin@3.2.0) (2021-04-13) - -### Features - -- **create-plugin:** update all dependencies in scaffolding projects ([#806](https://github.com/kintone/js-sdk/issues/806)) ([a109a89](https://github.com/kintone/js-sdk/commit/a109a89269ee0962c7b09db37a24c414035050d0)) - -## [3.1.8](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.7...@kintone/create-plugin@3.1.8) (2021-03-09) - -### Bug Fixes - -- **deps:** update dependency inquirer to v8 ([#721](https://github.com/kintone/js-sdk/issues/721)) ([ee63882](https://github.com/kintone/js-sdk/commit/ee6388295a9408addcb3cb94e58d52b83ebb7ac1)) - -## [3.1.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.6...@kintone/create-plugin@3.1.7) (2021-03-02) - -### Bug Fixes - -- **deps:** update dependency lodash to ^4.17.21 ([2110af1](https://github.com/kintone/js-sdk/commit/2110af159d237372223dd53a5ab22714bc4f9be4)) - -## [3.1.6](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.5...@kintone/create-plugin@3.1.6) (2021-02-17) - -**Note:** Version bump only for package @kintone/create-plugin - -## [3.1.5](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.4...@kintone/create-plugin@3.1.5) (2021-02-02) - -### Bug Fixes - -- **deps:** update dependency meow to v9 ([#637](https://github.com/kintone/js-sdk/issues/637)) ([09132c6](https://github.com/kintone/js-sdk/commit/09132c6fd16abb1798ca6bc6d569d4365fcb1968)) - -## [3.1.4](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.3...@kintone/create-plugin@3.1.4) (2020-12-16) - -### Bug Fixes - -- **deps:** update dependency meow to v8 ([#510](https://github.com/kintone/js-sdk/issues/510)) ([b064c79](https://github.com/kintone/js-sdk/commit/b064c79b056a8ca2365a33c12d4d6c8e8b419eaf)) -- **deps:** update dependency puppeteer to v5.4.1 ([#492](https://github.com/kintone/js-sdk/issues/492)) ([f330e34](https://github.com/kintone/js-sdk/commit/f330e3478997f8f465e22ff8237f5c22405a5c26)) - -## [3.1.3](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.2...@kintone/create-plugin@3.1.3) (2020-10-21) - -**Note:** Version bump only for package @kintone/create-plugin - -## [3.1.2](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.1...@kintone/create-plugin@3.1.2) (2020-10-12) - -### Bug Fixes - -- add Element type definition to avoid an error of @types/puppeteer ([#402](https://github.com/kintone/js-sdk/issues/402)) ([04493ad](https://github.com/kintone/js-sdk/commit/04493ad2dbbced8a905b2810a829da9269435b6d)) -- **deps:** update dependency meow to ^7.1.1 ([ce6c6b3](https://github.com/kintone/js-sdk/commit/ce6c6b3cf01878a6b5b1421cb7c26c73719cd2a6)) - -## [3.1.1](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.1.0...@kintone/create-plugin@3.1.1) (2020-09-02) - -### Bug Fixes - -- `npm start` with the modern template ([#381](https://github.com/kintone/js-sdk/issues/381)) ([f83f45d](https://github.com/kintone/js-sdk/commit/f83f45dba0647fa6cc9acc8841aeab1700503265)) - -# [3.1.0](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.0.7...@kintone/create-plugin@3.1.0) (2020-08-28) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.3.3 ([#310](https://github.com/kintone/js-sdk/issues/310)) ([25761d9](https://github.com/kintone/js-sdk/commit/25761d9bee9f9624597f5ce9e84ade1e16c76c2c)) -- **deps:** update dependency lodash to ^4.17.20 ([131f6e7](https://github.com/kintone/js-sdk/commit/131f6e700f3f8e326306a2d50c7506cf2a99818c)) -- **deps:** update dependency meow to ^7.1.0 ([#349](https://github.com/kintone/js-sdk/issues/349)) ([954ebbb](https://github.com/kintone/js-sdk/commit/954ebbbbc81c8b07d8924311dd01feea0043b7ef)) -- **deps:** update dependency ts-node to v9 ([#370](https://github.com/kintone/js-sdk/issues/370)) ([cf5f38b](https://github.com/kintone/js-sdk/commit/cf5f38bb67eaaa38eaa77f67394dcf79c3cb0306)) - -### Features - -- add a modern template for create plugin ([#332](https://github.com/kintone/js-sdk/issues/332)) ([ad42cac](https://github.com/kintone/js-sdk/commit/ad42cac7624334fae36058586609c9e7ba48e7c1)) - -## [3.0.7](https://github.com/kintone/js-sdk/compare/@kintone/create-plugin@3.0.6...@kintone/create-plugin@3.0.7) (2020-07-29) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.2.0 ([#494](https://github.com/kintone/js-sdk/issues/494)) ([0a08e84](https://github.com/kintone/js-sdk/commit/0a08e8402a81163c5968e460d54e6674a0573688)) -- **deps:** update dependency lodash to ^4.17.19 ([ba70942](https://github.com/kintone/js-sdk/commit/ba709421fc65c6611112c1d08b191890198992f9)) -- **deps:** update dependency node-rsa to ^1.1.1 ([#324](https://github.com/kintone/js-sdk/issues/324)) ([eef3479](https://github.com/kintone/js-sdk/commit/eef3479e81df48440588b42b317d7665b8fe6941)) - -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [3.0.6](https://github.com/kintone/create-plugin/compare/v3.0.5...v3.0.6) (2020-06-22) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.0 ([#491](https://github.com/kintone/create-plugin/issues/491)) ([83e1b1e](https://github.com/kintone/create-plugin/commit/83e1b1ed5df0b3497ec09e35513c67484cdee26e)) - -### [3.0.5](https://github.com/kintone/create-plugin/compare/v3.0.4...v3.0.5) (2020-06-02) - -### Bug Fixes - -- **deps:** update dependency meow to ^6.1.1 ([86bf6e9](https://github.com/kintone/create-plugin/commit/86bf6e92b8f116ea3cce4912f2bd29170c9db03f)) -- **deps:** update dependency meow to v7 ([#473](https://github.com/kintone/create-plugin/issues/473)) ([af94c1f](https://github.com/kintone/create-plugin/commit/af94c1f5d8099838d0d3621167c91f7689b72dd8)) - -### [3.0.4](https://github.com/kintone/create-plugin/compare/v3.0.3...v3.0.4) (2020-04-28) - -### Bug Fixes - -- **deps:** update dependency chalk to v4 ([#459](https://github.com/kintone/create-plugin/issues/459)) ([eaf6a90](https://github.com/kintone/create-plugin/commit/eaf6a90847c193d869b463f0eb45589bf414d848)) -- **deps:** update dependency node-rsa to ^1.0.8 ([eef24c5](https://github.com/kintone/create-plugin/commit/eef24c589c95a1a3870936f7ad7cbb3201af1c88)) - -### [3.0.3](https://github.com/kintone/create-plugin/compare/v3.0.2...v3.0.3) (2020-03-24) - -### Bug Fixes - -- Support app on Guest space ([#435](https://github.com/kintone/create-plugin/issues/435)) ([0a4854e](https://github.com/kintone/create-plugin/commit/0a4854ee3c4c696276625c2e9ec27c0f20ff765a)) -- **deps:** update dependency chalk to v3 ([#399](https://github.com/kintone/create-plugin/issues/399)) ([6d283fa](https://github.com/kintone/create-plugin/commit/6d283fa8490be3597f75746371e49147e40750e0)) -- **deps:** update dependency inquirer to ^7.0.5 ([aa67e25](https://github.com/kintone/create-plugin/commit/aa67e256286fb9ea5b10e7f5d122ce9e6fca1a1f)) -- **deps:** update dependency inquirer to ^7.0.6 ([c579e9d](https://github.com/kintone/create-plugin/commit/c579e9dd8b93ddc198ce14abfe8be2f7bec15d51)) -- **deps:** update dependency inquirer to ^7.1.0 ([#446](https://github.com/kintone/create-plugin/issues/446)) ([6fed9dd](https://github.com/kintone/create-plugin/commit/6fed9dd28cc4ca52b3e40dbd733b26f88c06afe8)) -- **deps:** update dependency meow to ^6.1.0 ([#451](https://github.com/kintone/create-plugin/issues/451)) ([925ae0e](https://github.com/kintone/create-plugin/commit/925ae0efe4be154be368cebd44be225713afc5bb)) -- **deps:** update dependency os-locale to v5 ([#454](https://github.com/kintone/create-plugin/issues/454)) ([166ea68](https://github.com/kintone/create-plugin/commit/166ea681f9cb2bfd78ff76bbc1543872eacc91ac)) - -### [3.0.2](https://github.com/kintone/create-plugin/compare/v3.0.1...v3.0.2) (2020-02-25) - -### [3.0.1](https://github.com/kintone/create-plugin/compare/v3.0.0...v3.0.1) (2020-02-25) - -### Bug Fixes - -- **deps:** update dependency meow to ^6.0.1 ([4ce5653](https://github.com/kintone/create-plugin/commit/4ce5653cd7c0ae31e9d72675141a7d39922d2c90)) -- **deps:** update dependency rimraf to ^3.0.1 ([86b2c9f](https://github.com/kintone/create-plugin/commit/86b2c9fe147617ea1bcc09924858be98926aa1b2)) -- **deps:** update dependency rimraf to ^3.0.2 ([996960e](https://github.com/kintone/create-plugin/commit/996960e84e043905d723eebb74d74355adf77b21)) - -## [3.0.0](https://github.com/kintone/create-plugin/compare/v2.0.7...v3.0.0) (2020-01-28) - -### ⚠ BREAKING CHANGES - -- drop node 8 support - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.2 ([c0d987c](https://github.com/kintone/create-plugin/commit/c0d987c6f3a4ccaf764deef95838de3f61dce2a9)) -- **deps:** update dependency inquirer to ^7.0.3 ([d1a0cf4](https://github.com/kintone/create-plugin/commit/d1a0cf415cf5ca0b5505a7d81371492c01268f2a)) -- **deps:** update dependency inquirer to ^7.0.4 ([cf7a8f7](https://github.com/kintone/create-plugin/commit/cf7a8f7d3d4fca24d93e50ff52c709d3299c831a)) - -- drop node 8 support ([#429](https://github.com/kintone/create-plugin/issues/429)) ([df4a616](https://github.com/kintone/create-plugin/commit/df4a6162c6c9616f075b1b189e55db6d0fee43fb)) - -### [2.0.7](https://github.com/kintone/create-plugin/compare/v2.0.6...v2.0.7) (2019-12-24) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.1 ([a2cc036](https://github.com/kintone/create-plugin/commit/a2cc036e6c8b49351b6eda6fb7050fdc61a35448)) -- **deps:** update dependency meow to v6 ([#414](https://github.com/kintone/create-plugin/issues/414)) ([230b2ad](https://github.com/kintone/create-plugin/commit/230b2adb6422443f16e704a97ca4d79f243b86ed)) -- **deps:** update dependency node-rsa to ^1.0.7 ([fa86146](https://github.com/kintone/create-plugin/commit/fa86146a1361803f262ee873c441f91941f985e4)) - -### [2.0.6](https://github.com/kintone/create-plugin/compare/v2.0.5...v2.0.6) (2019-11-16) - -### Bug Fixes - -- **deps:** update dependency glob to ^7.1.6 ([ca6aeb2](https://github.com/kintone/create-plugin/commit/ca6aeb2d4804252254bbabd700edb522694c6047)) - -### [2.0.5](https://github.com/kintone/create-plugin/compare/v2.0.4...v2.0.5) (2019-10-23) - -### Bug Fixes - -- **deps:** update dependency glob to ^7.1.5 ([9126dfb](https://github.com/kintone/create-plugin/commit/9126dfb)) - -### [2.0.4](https://github.com/kintone/create-plugin/compare/v2.0.3...v2.0.4) (2019-09-24) - -### [2.0.3](https://github.com/kintone/create-plugin/compare/v2.0.2...v2.0.3) (2019-08-27) - -### Bug Fixes - -- desktop.css ([aac5d1b](https://github.com/kintone/create-plugin/commit/aac5d1b)) -- **deps:** update dependency inquirer to ^6.5.1 ([#346](https://github.com/kintone/create-plugin/issues/346)) ([5479d0b](https://github.com/kintone/create-plugin/commit/5479d0b)) -- **deps:** update dependency inquirer to v7 ([#365](https://github.com/kintone/create-plugin/issues/365)) ([07a4051](https://github.com/kintone/create-plugin/commit/07a4051)) -- **deps:** update dependency os-locale to v4 ([#335](https://github.com/kintone/create-plugin/issues/335)) ([c887af0](https://github.com/kintone/create-plugin/commit/c887af0)) -- **deps:** update dependency rimraf to v3 ([934b9f9](https://github.com/kintone/create-plugin/commit/934b9f9)) - -## [2.0.2](https://github.com/kintone/create-plugin/compare/v2.0.1...v2.0.2) (2019-07-23) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.4.1 ([#292](https://github.com/kintone/create-plugin/issues/292)) ([0aba3fc](https://github.com/kintone/create-plugin/commit/0aba3fc)) -- **deps:** update dependency lodash to ^4.17.14 ([3db0b2d](https://github.com/kintone/create-plugin/commit/3db0b2d)) -- **deps:** update dependency lodash to ^4.17.15 ([589ff3d](https://github.com/kintone/create-plugin/commit/589ff3d)) -- **deps:** update dependency lodash to v4.17.13 [security] ([758de48](https://github.com/kintone/create-plugin/commit/758de48)) - -## [2.0.1](https://github.com/kintone/create-plugin/compare/v2.0.0...v2.0.1) (2019-06-25) - -# [2.0.0](https://github.com/kintone/create-plugin/compare/v2.0.0-alpha.0...v2.0.0) (2019-06-11) - -### Continuous Integration - -- drop Node v6 and add Node v12 as supporting versions ([#325](https://github.com/kintone/create-plugin/issues/325)) ([2b9cdb0](https://github.com/kintone/create-plugin/commit/2b9cdb0)) - -### BREAKING CHANGES - -- drop Node v6 support - -# [2.0.0-alpha.0](https://github.com/kintone/create-plugin/compare/v1.5.0-alpha.0...v2.0.0-alpha.0) (2019-05-22) - -### Features - -- add a mobile css into the minimum templates ([#319](https://github.com/kintone/create-plugin/issues/319)) ([5660e92](https://github.com/kintone/create-plugin/commit/5660e92)) -- add cancel button in setting page ([#318](https://github.com/kintone/create-plugin/issues/318)) ([9c60d18](https://github.com/kintone/create-plugin/commit/9c60d18)) -- generate mobile template by default ([#320](https://github.com/kintone/create-plugin/issues/320)) ([66ab7eb](https://github.com/kintone/create-plugin/commit/66ab7eb)) -- use @cybozu/eslint-config instead of eslint-config-kintone ([#314](https://github.com/kintone/create-plugin/issues/314)) ([507b357](https://github.com/kintone/create-plugin/commit/507b357)) - -### BREAKING CHANGES - -- this generates a mobile template by default - -# [1.5.0-alpha.0](https://github.com/kintone/create-plugin/compare/v1.4.4...v1.5.0-alpha.0) (2019-05-14) - -### Bug Fixes - -- **deps:** update dependency glob to ^7.1.4 ([da41f44](https://github.com/kintone/create-plugin/commit/da41f44)) - -### Features - -- Changed alert phrase. ([#301](https://github.com/kintone/create-plugin/issues/301)) ([31263b0](https://github.com/kintone/create-plugin/commit/31263b0)) -- update plugin-packer version to 1.1.0-alpha.0 ([#311](https://github.com/kintone/create-plugin/issues/311)) ([2e151bf](https://github.com/kintone/create-plugin/commit/2e151bf)) - -## [1.4.4](https://github.com/kintone/create-plugin/compare/v1.4.3...v1.4.4) (2019-04-23) - -## [1.4.3](https://github.com/kintone/create-plugin/compare/v1.4.2...v1.4.3) (2019-03-26) - -### Bug Fixes - -- **deps:** update dependency node-rsa to ^1.0.5 ([ea24ce4](https://github.com/kintone/create-plugin/commit/ea24ce4)) - -## [1.4.2](https://github.com/kintone/create-plugin/compare/v1.4.1...v1.4.2) (2019-02-26) - - - -# [1.4.0](https://github.com/kintone/create-plugin/compare/v1.3.5...v1.4.0) (2018-12-26) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.2.1 ([ffb28f4](https://github.com/kintone/create-plugin/commit/ffb28f4)) -- **deps:** update dependency node-rsa to ^1.0.2 ([6e9ffc5](https://github.com/kintone/create-plugin/commit/6e9ffc5)) - -### Features - -- **template:** Updated 51-modern-default.css ([#236](https://github.com/kintone/create-plugin/issues/236)) ([8d387dd](https://github.com/kintone/create-plugin/commit/8d387dd)) - - - -## [1.3.5](https://github.com/kintone/create-plugin/compare/v1.3.4...v1.3.5) (2018-11-21) - -### Bug Fixes - -- improve messages in English ([#215](https://github.com/kintone/create-plugin/issues/215)) ([86541a0](https://github.com/kintone/create-plugin/commit/86541a0)) - - - -## [1.3.4](https://github.com/kintone/create-plugin/compare/v1.3.3...v1.3.4) (2018-10-10) - -### Bug Fixes - -- **deps:** update dependency lodash to ^4.17.11 ([0ce0b71](https://github.com/kintone/create-plugin/commit/0ce0b71)) - - - -## [1.3.3](https://github.com/kintone/create-plugin/compare/v1.3.2...v1.3.3) (2018-09-12) - -### Bug Fixes - -- **deps:** update dependency glob to ^7.1.3 ([b4ca943](https://github.com/kintone/create-plugin/commit/b4ca943)) -- **deps:** update dependency inquirer to ^6.1.0 ([#175](https://github.com/kintone/create-plugin/issues/175)) ([e668c7a](https://github.com/kintone/create-plugin/commit/e668c7a)) -- **deps:** update dependency inquirer to ^6.2.0 ([#183](https://github.com/kintone/create-plugin/issues/183)) ([fb122f5](https://github.com/kintone/create-plugin/commit/fb122f5)) -- **deps:** update dependency os-locale to ^3.0.1 ([1d7c30f](https://github.com/kintone/create-plugin/commit/1d7c30f)) -- **deps:** update dependency os-locale to v3 ([#172](https://github.com/kintone/create-plugin/issues/172)) ([8bf8eb3](https://github.com/kintone/create-plugin/commit/8bf8eb3)) - - - -## [1.3.2](https://github.com/kintone/create-plugin/compare/v1.3.1...v1.3.2) (2018-08-07) - -### Bug Fixes - -- **deps:** update dependency node-rsa to ^1.0.1 ([23dfa9a](https://github.com/kintone/create-plugin/commit/23dfa9a)) - - - -## [1.3.1](https://github.com/kintone/create-plugin/compare/v1.3.0...v1.3.1) (2018-07-17) - -### Bug Fixes - -- Chinese support ([#156](https://github.com/kintone/create-plugin/issues/156)) ([d89ba4e](https://github.com/kintone/create-plugin/commit/d89ba4e)) - - - -# [1.3.0](https://github.com/kintone/create-plugin/compare/v1.2.1...v1.3.0) (2018-06-13) - -### Features - -- suppress error messages by npm scripts ([#131](https://github.com/kintone/create-plugin/issues/131)) ([75d8983](https://github.com/kintone/create-plugin/commit/75d8983)) - - - -## [1.2.1](https://github.com/kintone/create-plugin/compare/v1.2.0...v1.2.1) (2018-06-08) - - - -# [1.2.0](https://github.com/kintone/create-plugin/compare/v1.2.0-2...v1.2.0) (2018-06-08) - - - -# [1.2.0-2](https://github.com/kintone/create-plugin/compare/v1.2.0-1...v1.2.0-2) (2018-06-07) - -### Features - -- **template:** use settings for the plugin ([#124](https://github.com/kintone/create-plugin/issues/124)) ([a536d9f](https://github.com/kintone/create-plugin/commit/a536d9f)) - - - -# [1.2.0-1](https://github.com/kintone/create-plugin/compare/v1.2.0-0...v1.2.0-1) (2018-05-29) - - - -# [1.2.0-0](https://github.com/kintone/create-plugin/compare/v1.1.0...v1.2.0-0) (2018-05-29) - -### Features - -- support [@kintone](https://github.com/kintone)/plugin-uploader ([#109](https://github.com/kintone/create-plugin/issues/109)) ([3aef041](https://github.com/kintone/create-plugin/commit/3aef041)) - - - -# [1.1.0](https://github.com/kintone/create-plugin/compare/v1.0.3...v1.1.0) (2018-05-29) - -### Features - -- detect a language with os-locale ([#107](https://github.com/kintone/create-plugin/issues/107)) ([89d3a56](https://github.com/kintone/create-plugin/commit/89d3a56)) - - - -## [1.0.3](https://github.com/kintone/create-plugin/compare/v1.0.2...v1.0.3) (2018-05-24) - - - -## [1.0.2](https://github.com/kintone/create-plugin/compare/v1.0.1...v1.0.2) (2018-05-16) - - - -## [1.0.1](https://github.com/kintone/create-plugin/compare/v1.0.0...v1.0.1) (2018-05-11) - - - -# [1.0.0](https://github.com/kintone/create-plugin/compare/v0.5.5...v1.0.0) (2018-05-09) - -### Chores - -- transfer [@koba04](https://github.com/koba04)/create-kintone-plugin to [@kintone](https://github.com/kintone)/create-plugin ([#78](https://github.com/kintone/create-plugin/issues/78)) ([0d563a4](https://github.com/kintone/create-plugin/commit/0d563a4)) - -### BREAKING CHANGES - -- The GitHub repository and the npm package are now kintone from koba04 - - - -## [0.5.5](https://github.com/koba04/create-kintone-plugin/compare/v0.5.4...v0.5.5) (2018-04-24) - -### Bug Fixes - -- use fs.readFileSync and fs.writeFileSync instead of fs.copyFileSync ([#57](https://github.com/koba04/create-kintone-plugin/issues/57)) ([2dcb27f](https://github.com/koba04/create-kintone-plugin/commit/2dcb27f)) - - - -## [0.5.4](https://github.com/koba04/create-kintone-plugin/compare/v0.5.3...v0.5.4) (2018-04-19) - - - -## [0.5.3](https://github.com/koba04/create-kintone-plugin/compare/v0.5.2...v0.5.3) (2018-04-18) - - - -## [0.5.2](https://github.com/koba04/create-kintone-plugin/compare/v0.5.1...v0.5.2) (2018-04-18) - -### Bug Fixes - -- **deps:** rimraf is one of dependencies ([#39](https://github.com/koba04/create-kintone-plugin/issues/39)) ([3928efd](https://github.com/koba04/create-kintone-plugin/commit/3928efd)) - - - -## [0.5.1](https://github.com/koba04/create-kintone-plugin/compare/v0.5.0...v0.5.1) (2018-04-18) - -### Bug Fixes - -- **windows:** copy a directory on windows ([#36](https://github.com/koba04/create-kintone-plugin/issues/36)) ([1bdefc3](https://github.com/koba04/create-kintone-plugin/commit/1bdefc3)) -- **windows:** npm command needs .cmd extension on windows ([#37](https://github.com/koba04/create-kintone-plugin/issues/37)) ([d934907](https://github.com/koba04/create-kintone-plugin/commit/d934907)) -- **windows:** paths for template files on windows ([#35](https://github.com/koba04/create-kintone-plugin/issues/35)) ([d931224](https://github.com/koba04/create-kintone-plugin/commit/d931224)) -- **windows:** replace srcPath with destPath ([c65a421](https://github.com/koba04/create-kintone-plugin/commit/c65a421)) - - - -# [0.5.0](https://github.com/koba04/create-kintone-plugin/compare/v0.4.0...v0.5.0) (2018-04-06) - -### Features - -- **cli:** use LANG as the default value of lang ([#24](https://github.com/koba04/create-kintone-plugin/issues/24)) ([19b1c05](https://github.com/koba04/create-kintone-plugin/commit/19b1c05)) - - - -# [0.4.0](https://github.com/koba04/create-kintone-plugin/compare/v0.3.3...v0.4.0) (2018-04-03) - -### Features - -- add link to developer site for JP ([011f940](https://github.com/koba04/create-kintone-plugin/commit/011f940)) -- supporting Japanese by default if the lang is ja ([ae51495](https://github.com/koba04/create-kintone-plugin/commit/ae51495)) - - - -## [0.3.3](https://github.com/koba04/create-kintone-plugin/compare/v0.3.2...v0.3.3) (2018-04-02) - -### Bug Fixes - -- clean up the output directory if installing was failed ([#19](https://github.com/koba04/create-kintone-plugin/issues/19)) ([698372a](https://github.com/koba04/create-kintone-plugin/commit/698372a)) - - - -## [0.3.2](https://github.com/koba04/create-kintone-plugin/compare/v0.3.1...v0.3.2) (2018-04-02) - -### Bug Fixes - -- display success messages even though npm install was interrupted. ([#18](https://github.com/koba04/create-kintone-plugin/issues/18)) ([b1e280e](https://github.com/koba04/create-kintone-plugin/commit/b1e280e)) - - - -## [0.3.1](https://github.com/koba04/create-kintone-plugin/compare/v0.3.0...v0.3.1) (2018-04-02) - -### Bug Fixes - -- **deps:** update dependency [@types](https://github.com/types)/node-rsa to ^0.4.3 ([4553289](https://github.com/koba04/create-kintone-plugin/commit/4553289)) -- **deps:** update dependency inquirer to ^5.2.0 ([#10](https://github.com/koba04/create-kintone-plugin/issues/10)) ([f474473](https://github.com/koba04/create-kintone-plugin/commit/f474473)) -- **templates:** typo plugin.zip ([#14](https://github.com/koba04/create-kintone-plugin/issues/14)) ([3b985b5](https://github.com/koba04/create-kintone-plugin/commit/3b985b5)) - - - -# 0.3.0 (2018-03-28) - -### Features - -- add css/51-modern-default.css into config.css ([f432ae7](https://github.com/koba04/create-kintone-plugin/commit/f432ae7)) diff --git a/packages/create-plugin/LICENSE b/packages/create-plugin/LICENSE deleted file mode 100644 index 88a5a69f6b..0000000000 --- a/packages/create-plugin/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Cybozu, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/create-plugin/README.md b/packages/create-plugin/README.md deleted file mode 100644 index 89ef9736bf..0000000000 --- a/packages/create-plugin/README.md +++ /dev/null @@ -1,161 +0,0 @@ -# create-kintone-plugin - -[![npm version](https://badge.fury.io/js/%40kintone%2Fcreate-plugin.svg)](https://badge.fury.io/js/%40kintone%2Fcreate-plugin) -![Node.js version](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/kintone/js-sdk/main/packages/create-plugin/package.json&label=node&query=$.engines.node&colorB=blue) -![License](https://img.shields.io/npm/l/@kintone/create-plugin.svg) - -A CLI tool for creating a kintone plugin! - -## Usage - -``` -npx @kintone/create-plugin ${name} -``` - -or - -``` -npm install -g @kintone/create-plugin -create-kintone-plugin ${name} -``` - -You can configure your kintone plugin settings interactively. - -``` -npx @kintone/create-plugin hello-kintone-plugin -: -Please answer some questions to create your kintone plugin project :) -Let's start! - - - -? Input your plugin name in English [1-64chars] hello-kintone-plugin -? Input your plugin description in English [1-200chars] hello-kintone-plugin -? Does your plugin support Japanese? Yes -? Input your plugin name in Japanese [1-64chars] (Optional) -? Input your plugin description in Japanese [1-200chars] (Optional) -? Does your plugin support Chinese? Yes -? Input your plugin name in Chinese [1-64chars] (Optional) -? Input your plugin description in Chinese [1-200chars] (Optional) -? Does your plug-in support Spanish? -? Input your plug-in name in Spanish [1-64chars] (Optional) -? Input your plug-in description in Spanish [1-200chars] (Optional) -? Input your home page url for English (Optional) -? Input your home page url for Japanese (Optional) -? Input your home page url for Chinese (Optional) -? Input your home page url for Spanish (Optional) -? Does your plugin support mobile views? Yes -? Do you use @kintone/plugin-uploader? Yes -: -: -: -Success! Created hello-kintone-plugin at hello-kintone-plugin - -npm start - - Start the process watching file changes and create a kintone plugin zip. - And then, the plugin zip is uploaded automatically by @kintone/plugin-uploader. - -npm run build - - Create a kintone plugin zip. - -npm run lint - - Lint js files with ESLint. - -Try the following commands -And then, please input your information for kintone account - - cd hello-kintone-plugin - npm start - -Enjoy Hacking kintone plugin! -``` - -After the command has been finished, you can start development kintone plugin! - -``` -cd hello-kintone-plugin -npm start -``` - -## Language - -`@kintone/create-plugin` detects your language with `os-locale`. (default: English) -If you want to use other languages, you can use `--lang` option. -Currently, `--lang` option accepts `ja` or `en`. - -``` -npx @kintone/create-plugin hello-kintone-plugin --lang ja -: -kintoneプラグインのプロジェクトを作成するために、いくつかの質問に答えてください :) -では、はじめましょう! - - - -? プラグインの英語名を入力してください [1-64文字] hello-kintone-plugin -? プラグインの説明を入力してください [1-200文字] hello-kintone-plugin -? 日本語をサポートしますか? Yes -? プラグインの日本語名を入力してください [1-64文字] (省略可) -? プラグインの日本語の説明を入力してください [1-200文字] (省略可) -? 中国語をサポートしますか? Yes -? プラグインの中国語名を入力してください [1-64文字] (省略可) -? プラグインの中国語の説明を入力してください [1-200文字] (省略可) -? プラグインの英語のWebサイトURLを入力してください (省略可) -? プラグインの日本語のWebサイトURLを入力してください (省略可) -? プラグインの中国語のWebサイトURLを入力してください (省略可) -? モバイルページをサポートしますか? Yes -? @kintone/plugin-uploaderを使いますか? Yes -依存ライブラリをインストールします -: -: -: -Success! Created hello-kintone-plugin at hello-kintone-plugin - -npm start - - ファイルの変更を監視してプラグインのzipを自動的に作成するプロセスを起動します - その後、@kintone/plugin-uploaderにより、プラグインのzipは自動的にアップロードされます - -npm run build - - プラグインのzipを作成します - -npm run lint - - ESLintを使ってJavaScriptのソースコードをチェックします - -まずは次のコマンドを実行してください -その後、あなたのkintone環境の情報を入力してください - - cd hello-kintone-plugin - npm start - -kintoneプラグイン開発をはじめましょう! -開発に関する情報はcybozu developer network: - - https://cybozu.dev/ja/ -``` - -## Templates (Experimental) - -`create-plugin` has a `template` option to choose a project structure. -The default value is `minimum`, which is a boilerplate without any build processes like `webpack`. - -`create-plugin` also has the `modern` template option as an **experimental**; This uses the following tools. - -- webpack -- TypeScript -- Prettier - -The `modern` template also includes settings for React, so you can use React without any settings, which requires only installing the following packages. - -``` -npm install react react-dom -npm install --save-dev @types/react @types/react-dom # type definition for React and ReactDOM -``` - -## LICENSE - -MIT License diff --git a/packages/create-plugin/__e2e__/e2e.test.ts b/packages/create-plugin/__e2e__/e2e.test.ts deleted file mode 100644 index 63b9454fa7..0000000000 --- a/packages/create-plugin/__e2e__/e2e.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -import assert from "assert"; -import type { QuestionInput } from "./utils/CreatePlugin"; -import type { PluginTemplate } from "./utils/verification"; -import path from "path"; -import { generateWorkingDir } from "./utils/helper"; -import fs from "fs"; -import { rimrafSync } from "rimraf"; -import { - assertObjectIncludes, - readPluginManifestJson, -} from "./utils/verification"; -import { CreatePlugin } from "./utils/CreatePlugin"; -import { - requiredOptions, - pluginNameContain64Chars, - pluginDescriptionContain200Chars, - allOptions, - languageEN, - languageJA, - emptyOutputDir, - existOutputDir, - forbiddenCharacters, - pluginNameContain65Chars, - pluginDescriptionContain201Chars, - createKintonePluginCommand, - minimumTemplate, - modernTemplate, -} from "./fixtures"; - -export type TestPattern = { - description: string; - prepareFn?: (...arg: any[]) => void; - input: { - command: string; - outputDir: string; - questionsInput: QuestionInput[]; - commandArgument?: string; - template?: PluginTemplate; - }; - expected: { - success?: { - manifestJson: { [key: PropertyKey]: unknown }; - }; - failure?: { - stdout?: string; - stderr?: string; - }; - validation?: { - stdout?: string; - }; - }; -}; - -describe("create-plugin", function () { - let workingDir: string; - beforeEach(() => { - workingDir = generateWorkingDir(); - console.log(`Working directory: ${workingDir}`); - }); - - const patterns = [ - requiredOptions, - pluginNameContain64Chars, - pluginDescriptionContain200Chars, - allOptions, - languageEN, - languageJA, - minimumTemplate, - modernTemplate, - emptyOutputDir, - existOutputDir, - forbiddenCharacters, - pluginNameContain65Chars, - pluginDescriptionContain201Chars, - createKintonePluginCommand, - ]; - - let createPlugin: CreatePlugin; - - it.each(patterns)("$description", async ({ prepareFn, input, expected }) => { - if (prepareFn) { - prepareFn({ workingDir }); - } - - try { - createPlugin = new CreatePlugin({ - command: input.command, - workingDir, - outputDir: input.outputDir, - questionsInput: input.questionsInput, - commandArguments: input.commandArgument, - }); - const response = await createPlugin.executeCommand(); - - if (expected.success !== undefined) { - assert(response.status === 0, "Failed to create plugin"); - - const pluginDir = path.resolve(workingDir, input.outputDir); - assert.ok(fs.existsSync(pluginDir), "plugin dir is not created."); - - const actualManifestJson = readPluginManifestJson( - pluginDir, - input.template, - ); - assertObjectIncludes(actualManifestJson, expected.success.manifestJson); - } - - if (expected.failure !== undefined) { - assert.notEqual( - response.status, - 0, - "The command should throw an error.", - ); - if (expected.failure.stdout) { - assert.match( - response.stdout.trim(), - new RegExp(expected.failure.stdout), - ); - } - - if (expected.failure.stderr) { - assert.match( - response.stderr.trim(), - new RegExp(expected.failure.stderr), - ); - } - } - - if (expected.validation !== undefined) { - if (expected.validation.stdout) { - assert.match( - response.stdout.trim(), - new RegExp(expected.validation.stdout), - ); - } - } - - // テスト成功時のみワーキングディレクトリを削除 - rimrafSync(workingDir); - console.log(`Working directory ${workingDir} has been removed`); - } catch (e: any) { - // テスト失敗時はデバッグ用にワーキングディレクトリを残す - console.log( - `Test failed. Working directory ${workingDir} has been kept for debugging.`, - ); - assert.fail(e); - } - }); - - afterEach(async () => { - await createPlugin?.teardownProcess(); - }); -}); diff --git a/packages/create-plugin/__e2e__/fixtures/allOptions.ts b/packages/create-plugin/__e2e__/fixtures/allOptions.ts deleted file mode 100644 index 714ad1306e..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/allOptions.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { ANSWER_YES, CREATE_PLUGIN_COMMAND } from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-4 Should able to create a plugin with specified output directory and all options successfully", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test4", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test4-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test4-description", - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_DescriptionJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameZh"), - answer: "我的插件", - }, - { - question: m("Q_DescriptionZh"), - answer: "我的插件", - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameEs"), - answer: "test4-nombre", - }, - { - question: m("Q_DescriptionEs"), - answer: "test4-descripción", - }, - { - question: m("Q_WebsiteUrlEn"), - answer: "https://github.com", - }, - { - question: m("Q_WebsiteUrlJa"), - answer: "https://github.jp", - }, - { - question: m("Q_WebsiteUrlZh"), - answer: "https://github.cn", - }, - { - question: m("Q_WebsiteUrlEs"), - answer: "https://github.es", - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_YES, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_YES, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { - en: "test4-name", - ja: "私のプラグイン", - zh: "我的插件", - es: "test4-nombre", - }, - description: { - en: "test4-description", - ja: "私のプラグイン", - zh: "我的插件", - es: "test4-descripción", - }, - homepage_url: { - en: "https://github.com", - ja: "https://github.jp", - zh: "https://github.cn", - es: "https://github.es", - }, - mobile: { - js: ["js/mobile.js"], - css: ["css/mobile.css"], - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/createKintonePluginCommand.ts b/packages/create-plugin/__e2e__/fixtures/createKintonePluginCommand.ts deleted file mode 100644 index 581ad1b47e..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/createKintonePluginCommand.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { ANSWER_YES, CREATE_KINTONE_PLUGIN_COMMAND } from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-14 Should able to create plugin with `create-kintone-plugin` command and all options", - input: { - command: CREATE_KINTONE_PLUGIN_COMMAND, - outputDir: "test14", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test14-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test14-description", - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_DescriptionJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameZh"), - answer: "我的插件", - }, - { - question: m("Q_DescriptionZh"), - answer: "我的插件", - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameEs"), - answer: "test14-nombre", - }, - { - question: m("Q_DescriptionEs"), - answer: "test14-descripción", - }, - { - question: m("Q_WebsiteUrlEn"), - answer: "https://github.com", - }, - { - question: m("Q_WebsiteUrlJa"), - answer: "https://github.jp", - }, - { - question: m("Q_WebsiteUrlZh"), - answer: "https://github.cn", - }, - { - question: m("Q_WebsiteUrlEs"), - answer: "https://github.es", - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_YES, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_YES, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { - en: "test14-name", - ja: "私のプラグイン", - zh: "我的插件", - es: "test14-nombre", - }, - description: { - en: "test14-description", - ja: "私のプラグイン", - zh: "我的插件", - es: "test14-descripción", - }, - homepage_url: { - en: "https://github.com", - ja: "https://github.jp", - zh: "https://github.cn", - es: "https://github.es", - }, - mobile: { - js: ["js/mobile.js"], - css: ["css/mobile.css"], - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/emptyOutputDir.ts b/packages/create-plugin/__e2e__/fixtures/emptyOutputDir.ts deleted file mode 100644 index 81ac20ee6b..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/emptyOutputDir.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { CREATE_PLUGIN_COMMAND } from "../utils/constants"; - -export const pattern: TestPattern = { - description: - "#JsSdkTest-9 Should throw an error when the output directory is empty", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "", - questionsInput: [], - }, - expected: { - failure: { stderr: "Please specify the output directory" }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/existOutputDir.ts b/packages/create-plugin/__e2e__/fixtures/existOutputDir.ts deleted file mode 100644 index f4a425fbf9..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/existOutputDir.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { CREATE_PLUGIN_COMMAND } from "../utils/constants"; -import fs from "fs"; - -const outputDir = "test10"; -export const pattern: TestPattern = { - description: - "#JsSdkTest-10 Should throw an error when the output directory is duplicated with the existent directory", - prepareFn: (settings: { workingDir: string }) => { - fs.mkdirSync(`${settings.workingDir}/${outputDir}`); - }, - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: outputDir, - questionsInput: [], - }, - expected: { - failure: { - stderr: `Error: ${outputDir} already exists. Choose a different directory`, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/forbiddenCharacters.ts b/packages/create-plugin/__e2e__/fixtures/forbiddenCharacters.ts deleted file mode 100644 index 28839a68c2..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/forbiddenCharacters.ts +++ /dev/null @@ -1,67 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); -let outputDir: string; -let expectedStderr: string; -const isWindows = process.platform === "win32"; -if (isWindows) { - outputDir = ":"; - expectedStderr = `Could not create a plug-in project. Error:\\nEINVAL: invalid argument, mkdir '.*:'`; -} else { - outputDir = "/"; - expectedStderr = `Error: ${outputDir} already exists. Choose a different directory`; -} - -export const pattern: TestPattern = { - description: - "#JsSdkTest-11 Should throw an error when the output directory contains forbidden characters", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: outputDir, - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test11-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test11-description", - }, - { - question: m("Q_SupportJa"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportZh"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportEs"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - failure: { - stderr: expectedStderr, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/index.ts b/packages/create-plugin/__e2e__/fixtures/index.ts deleted file mode 100644 index 089adcd610..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { pattern as requiredOptions } from "./requiredOptions"; -export { pattern as pluginNameContain64Chars } from "./pluginNameContain64Chars"; -export { pattern as pluginDescriptionContain200Chars } from "./pluginDescriptionContain200Chars"; -export { pattern as allOptions } from "./allOptions"; -export { pattern as languageEN } from "./languageEN"; -export { pattern as languageJA } from "./languageJA"; -export { pattern as emptyOutputDir } from "./emptyOutputDir"; -export { pattern as existOutputDir } from "./existOutputDir"; -export { pattern as forbiddenCharacters } from "./forbiddenCharacters"; -export { pattern as pluginNameContain65Chars } from "./pluginNameContain65Chars"; -export { pattern as pluginDescriptionContain201Chars } from "./pluginDescriptionContain201Chars"; -export { pattern as createKintonePluginCommand } from "./createKintonePluginCommand"; -export { pattern as minimumTemplate } from "./minimumTemplate"; -export { pattern as modernTemplate } from "./modernTemplate"; diff --git a/packages/create-plugin/__e2e__/fixtures/languageEN.ts b/packages/create-plugin/__e2e__/fixtures/languageEN.ts deleted file mode 100644 index 857096a481..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/languageEN.ts +++ /dev/null @@ -1,114 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - ANSWER_YES, - CREATE_PLUGIN_COMMAND, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const lang = "en"; -const m = getBoundMessage(lang); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-5 Should able to create plugin with --lang argument (EN language)", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test5", - commandArgument: `--lang ${lang}`, - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test5-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test5-description", - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_DescriptionJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameZh"), - answer: "我的插件", - }, - { - question: m("Q_DescriptionZh"), - answer: "我的插件", - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameEs"), - answer: "test5-nombre", - }, - { - question: m("Q_DescriptionEs"), - answer: "test5-descripción", - }, - { - question: m("Q_WebsiteUrlEn"), - answer: "https://github.com", - }, - { - question: m("Q_WebsiteUrlJa"), - answer: "https://github.jp", - }, - { - question: m("Q_WebsiteUrlZh"), - answer: "https://github.cn", - }, - { - question: m("Q_WebsiteUrlEs"), - answer: "https://github.es", - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { - en: "test5-name", - ja: "私のプラグイン", - zh: "我的插件", - es: "test5-nombre", - }, - description: { - en: "test5-description", - ja: "私のプラグイン", - zh: "我的插件", - es: "test5-descripción", - }, - homepage_url: { - en: "https://github.com", - ja: "https://github.jp", - zh: "https://github.cn", - es: "https://github.es", - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/languageJA.ts b/packages/create-plugin/__e2e__/fixtures/languageJA.ts deleted file mode 100644 index f3e5677cbc..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/languageJA.ts +++ /dev/null @@ -1,114 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - ANSWER_YES, - CREATE_PLUGIN_COMMAND, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const lang = "ja"; -const m = getBoundMessage(lang); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-6 Should able to create plugin with --lang argument (JA language)", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test6", - commandArgument: `--lang ${lang}`, - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test6-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test6-description", - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_DescriptionJa"), - answer: "私のプラグイン", - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameZh"), - answer: "我的插件", - }, - { - question: m("Q_DescriptionZh"), - answer: "我的插件", - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_YES, - }, - { - question: m("Q_NameEs"), - answer: "test6-nombre", - }, - { - question: m("Q_DescriptionEs"), - answer: "test6-descripción", - }, - { - question: m("Q_WebsiteUrlEn"), - answer: "https://github.com", - }, - { - question: m("Q_WebsiteUrlJa"), - answer: "https://github.jp", - }, - { - question: m("Q_WebsiteUrlZh"), - answer: "https://github.cn", - }, - { - question: m("Q_WebsiteUrlEs"), - answer: "https://github.es", - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { - en: "test6-name", - ja: "私のプラグイン", - zh: "我的插件", - es: "test6-nombre", - }, - description: { - en: "test6-description", - ja: "私のプラグイン", - zh: "我的插件", - es: "test6-descripción", - }, - homepage_url: { - en: "https://github.com", - ja: "https://github.jp", - zh: "https://github.cn", - es: "https://github.es", - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/minimumTemplate.ts b/packages/create-plugin/__e2e__/fixtures/minimumTemplate.ts deleted file mode 100644 index da7a4cfbfc..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/minimumTemplate.ts +++ /dev/null @@ -1,67 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); -const template = "minimum"; - -export const pattern: TestPattern = { - description: - "#JsSdkTest-7 Should able to create a plugin with minimum template", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test7", - commandArgument: `--template ${template}`, - template, - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test7-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test7-description", - }, - { - question: m("Q_SupportJa"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportZh"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportEs"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { en: "test7-name" }, - description: { en: "test7-description" }, - desktop: { - js: ["js/desktop.js"], - css: ["css/51-modern-default.css", "css/desktop.css"], - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/modernTemplate.ts b/packages/create-plugin/__e2e__/fixtures/modernTemplate.ts deleted file mode 100644 index bca27869ca..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/modernTemplate.ts +++ /dev/null @@ -1,67 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); -const template = "modern"; - -export const pattern: TestPattern = { - description: - "#JsSdkTest-8 Should able to create a plugin with modern template", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test8", - commandArgument: `--template ${template}`, - template, - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test8-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test8-description", - }, - { - question: m("Q_SupportJa"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportZh"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportEs"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { en: "test8-name" }, - description: { en: "test8-description" }, - desktop: { - js: ["js/desktop.js"], - css: ["css/desktop.css"], - }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain200Chars.ts b/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain200Chars.ts deleted file mode 100644 index 4e293b655d..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain200Chars.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; -import { generateRandomString } from "../utils/helper"; - -const m = getBoundMessage("en"); -const pluginDescription = generateRandomString(200); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-3 Should able to create a plugin with plugin-in description contains 200 characters", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test3", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "200characters", - }, - { - question: m("Q_DescriptionEn"), - answer: pluginDescription, - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_NO, - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_NO, - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_NO, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { en: "200characters" }, - description: { en: pluginDescription }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain201Chars.ts b/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain201Chars.ts deleted file mode 100644 index d455c0bada..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/pluginDescriptionContain201Chars.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { CREATE_PLUGIN_COMMAND } from "../utils/constants"; -import { generateRandomString } from "../utils/helper"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-13 Should throw an error when creating plugin with plugin-in description contains 201 characters", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test13", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test13", - }, - { - question: m("Q_DescriptionEn"), - answer: generateRandomString(201), - }, - ], - }, - expected: { - validation: { stdout: "> Plug-in description must be 1-200chars" }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/pluginNameContain64Chars.ts b/packages/create-plugin/__e2e__/fixtures/pluginNameContain64Chars.ts deleted file mode 100644 index 41766542e6..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/pluginNameContain64Chars.ts +++ /dev/null @@ -1,62 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; -import { generateRandomString } from "../utils/helper"; - -const m = getBoundMessage("en"); -const pluginName = generateRandomString(64); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-2 Should able to create a plugin with plugin-in name contains 64 characters", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test2", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: pluginName, - }, - { - question: m("Q_DescriptionEn"), - answer: "64characters", - }, - { - question: m("Q_SupportJa"), - answer: ANSWER_NO, - }, - { - question: m("Q_SupportZh"), - answer: ANSWER_NO, - }, - { - question: m("Q_SupportEs"), - answer: ANSWER_NO, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { en: pluginName }, - description: { en: "64characters" }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/pluginNameContain65Chars.ts b/packages/create-plugin/__e2e__/fixtures/pluginNameContain65Chars.ts deleted file mode 100644 index a423a3a424..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/pluginNameContain65Chars.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { CREATE_PLUGIN_COMMAND } from "../utils/constants"; -import { generateRandomString } from "../utils/helper"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-12 Should throw an error when creating plugin with plugin-in name contains 65 characters", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test12", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: generateRandomString(65), - }, - ], - }, - expected: { - validation: { stdout: "> Plug-in name must be 1-64chars" }, - }, -}; diff --git a/packages/create-plugin/__e2e__/fixtures/requiredOptions.ts b/packages/create-plugin/__e2e__/fixtures/requiredOptions.ts deleted file mode 100644 index e376648eff..0000000000 --- a/packages/create-plugin/__e2e__/fixtures/requiredOptions.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { TestPattern } from "../e2e.test"; -import { - ANSWER_NO, - CREATE_PLUGIN_COMMAND, - DEFAULT_ANSWER, -} from "../utils/constants"; -import { getBoundMessage } from "../../src/messages"; - -const m = getBoundMessage("en"); - -export const pattern: TestPattern = { - description: - "#JsSdkTest-1 Should able to create a plugin with specified output directory and required options successfully", - input: { - command: CREATE_PLUGIN_COMMAND, - outputDir: "test1", - questionsInput: [ - { - question: m("Q_NameEn"), - answer: "test1-name", - }, - { - question: m("Q_DescriptionEn"), - answer: "test1-description", - }, - { - question: m("Q_SupportJa"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportZh"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_SupportEs"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_WebsiteUrlEn"), - answer: DEFAULT_ANSWER, - }, - { - question: m("Q_MobileSupport"), - answer: ANSWER_NO, - }, - { - question: m("Q_EnablePluginUploader"), - answer: ANSWER_NO, - }, - ], - }, - expected: { - success: { - manifestJson: { - name: { en: "test1-name" }, - description: { en: "test1-description" }, - }, - }, - }, -}; diff --git a/packages/create-plugin/__e2e__/utils/CreatePlugin.ts b/packages/create-plugin/__e2e__/utils/CreatePlugin.ts deleted file mode 100644 index 858e933edf..0000000000 --- a/packages/create-plugin/__e2e__/utils/CreatePlugin.ts +++ /dev/null @@ -1,199 +0,0 @@ -import type { ChildProcessByStdio } from "child_process"; -import type { Readable, Writable } from "node:stream"; -import fs from "fs"; -import path from "path"; -import { execCommand } from "./executeCommand"; - -export type QuestionInput = { - question: string; - answer: string; -}; - -type Response = { - stdout: string; - stderr: string; - status?: number | null; -}; - -export class CreatePlugin { - private readonly command: string; - private readonly workingDir: string; - private readonly outputDir: string; - private readonly commandArguments: string; - private readonly questionsInput: QuestionInput[]; - private _childProcess?: ChildProcessByStdio; - private currentStep: number = 0; - private stdout: string = ""; - private stderr: string = ""; - private hasProcessExited: boolean = false; - - constructor(options: { - command: string; - workingDir: string; - outputDir: string; - questionsInput: QuestionInput[]; - commandArguments?: string; - }) { - this.command = options.command; - this.workingDir = options.workingDir; - this.outputDir = options.outputDir; - this.questionsInput = options.questionsInput; - this.commandArguments = options.commandArguments ?? ""; - } - - public get childProcess() { - if (this._childProcess === undefined) { - throw new Error( - "No child process found. Please call 'executeCommand' first.", - ); - } - return this._childProcess; - } - - public set childProcess(value) { - this._childProcess = value; - } - - public async executeCommand(): Promise { - const commands = this._getCommands(); - if (!commands[this.command]) { - throw new Error(`Command ${this.command} not found.`); - } - - const commandString = `${commands[this.command]} ${this.commandArguments || ""} "${this.outputDir}"`; - this.childProcess = execCommand("node", commandString, { - cwd: this.workingDir, - env: { - NODE_ENV: "production", - }, - }); - - const cliExitPromise = new Promise((resolve, reject) => { - this.childProcess.on("exit", (code: number, signal) => { - this.hasProcessExited = true; - if (this._isProcessTimedOut(code, signal)) { - reject(new Error(`Process timed out!`)); - return; - } - - resolve({ - status: code, - stdout: this.stdout ? this.stdout.toString() : "", - stderr: this.stderr ? this.stderr.toString() : "", - }); - }); - this.childProcess.on("error", (error) => { - reject({ - error, - }); - }); - }); - - this.childProcess.stdout.on("data", (data: Buffer) => { - this.stdout = this.stdout.concat(data.toString()); - if (process.env.VERBOSE && ["true", "1"].includes(process.env.VERBOSE)) { - console.log(this.stdout); - } - }); - - this.childProcess.stderr.on("data", (data: Buffer) => { - this.stderr = this.stderr.concat(data.toString()); - this.finishProcess(); - }); - - while (this.currentStep < this.questionsInput.length) { - this.childProcess.stdin.write( - `${this.questionsInput[this.currentStep].answer}\n`, - ); - this.currentStep++; - - if (this.currentStep < this.questionsInput.length) { - await this.waitUntilStdioIncludes( - `${this.questionsInput[this.currentStep].question}`, - ); - } else { - this.finishProcess(); - } - } - - return cliExitPromise; - } - - public async teardownProcess() { - return new Promise((resolve) => { - if (this._isProcessExited()) { - resolve(); - return; - } - - this.childProcess.on("exit", () => { - this.hasProcessExited = true; - resolve(); - }); - this.finishProcess(); - }); - } - - private finishProcess() { - if (this.childProcess.stdin) { - this.childProcess.stdin.end(); - } - } - - private _getCommands = (): { [key: string]: string } => { - const packageJson = JSON.parse( - fs.readFileSync(path.resolve("package.json"), "utf8"), - ); - return Object.fromEntries( - Object.entries(packageJson.bin).map(([command, relativePath]) => { - return [command, path.resolve(relativePath as string)]; - }), - ); - }; - - private waitUntilStdioIncludes( - message: string, - options: { timeout: number; interval: number } = { - timeout: 10000, - interval: 100, - }, - ): Promise { - return new Promise((resolve, reject) => { - const { timeout, interval } = options; - let timer: NodeJS.Timeout; - const timeoutTimer = setTimeout(() => { - clearInterval(timer); - this.finishProcess(); - reject( - new Error( - `Timeout (${timeout}ms) exceeded when waiting for stdout: ${message}`, - ), - ); - }, timeout); - - const regex = new RegExp(this.escape(message)); - timer = setInterval(() => { - if (regex.test(this.stdout) || this._isProcessExited()) { - clearInterval(timer); - clearTimeout(timeoutTimer); - resolve(); - } - }, interval); - }); - } - - private escape(question: string): string { - return question.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); - } - - private _isProcessExited() { - return this.childProcess.exitCode !== null || this.hasProcessExited; - } - - private _isProcessTimedOut( - code: number | null, - signal: NodeJS.Signals | null, - ) { - return code === null && signal === "SIGTERM"; - } -} diff --git a/packages/create-plugin/__e2e__/utils/constants.ts b/packages/create-plugin/__e2e__/utils/constants.ts deleted file mode 100644 index aca2e484a0..0000000000 --- a/packages/create-plugin/__e2e__/utils/constants.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const DEFAULT_ANSWER = ""; -export const ANSWER_YES = "Yes"; -export const ANSWER_NO = "No"; - -export const CREATE_PLUGIN_COMMAND = "create-plugin"; -export const CREATE_KINTONE_PLUGIN_COMMAND = "create-kintone-plugin"; diff --git a/packages/create-plugin/__e2e__/utils/executeCommand.ts b/packages/create-plugin/__e2e__/utils/executeCommand.ts deleted file mode 100644 index 563e9bb63a..0000000000 --- a/packages/create-plugin/__e2e__/utils/executeCommand.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { spawn } from "child_process"; - -export const execCommand = ( - command: string, - args: string, - options: { - env?: { [key: string]: string }; - cwd?: string; - }, -) => { - return spawn(command, parseArgs(args, options?.env), { - stdio: ["pipe", "pipe", "pipe"], - env: { - ...process.env, - ...options.env, - }, - cwd: options?.cwd ?? process.cwd(), - shell: true, - }); -}; - -const parseArgs = (args: string, envVars?: { [key: string]: string }) => { - const replacedArgs = replaceTokenWithEnvVars(args, envVars).match( - /(?:[^\s'"]+|"[^"]*"|'[^']*')+/g, - ); - - if (!replacedArgs) { - throw new Error("Failed to parse command arguments."); - } - - return replacedArgs.map((arg) => arg.replace(/^['"]|['"]$/g, "")); -}; - -const replaceTokenWithEnvVars = ( - input: string, - envVars: { [key: string]: string } | undefined, -) => - input - .replace(/\$\$[a-zA-Z0-9_]+/g, processEnvReplacer) - .replace(/\$[a-zA-Z0-9_]+/g, inputEnvReplacer(envVars)); - -const processEnvReplacer = (substring: string) => { - const key = substring.replace("$$", ""); - const value = process.env[key]; - if (value === undefined) { - throw new Error(`The env variable in process.env is missing: ${key}`); - } - return value; -}; - -const inputEnvReplacer = (envVars: { [key: string]: string } | undefined) => { - return (substring: string) => { - if (!envVars) { - return substring; - } - - const key = substring.replace("$", ""); - const value = envVars[key]; - if (value === undefined) { - throw new Error(`The env variable in input parameter is missing: ${key}`); - } - return value; - }; -}; diff --git a/packages/create-plugin/__e2e__/utils/helper.ts b/packages/create-plugin/__e2e__/utils/helper.ts deleted file mode 100644 index fc4b7e029a..0000000000 --- a/packages/create-plugin/__e2e__/utils/helper.ts +++ /dev/null @@ -1,22 +0,0 @@ -import fs from "fs"; -import path from "path"; -import os from "os"; - -export const generateRandomString = (length: number) => { - let result = ""; - const characters = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - const charactersLength = characters.length; - let counter = 0; - while (counter < length) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - counter += 1; - } - return result; -}; - -export const generateWorkingDir = (): string => { - return fs.mkdtempSync( - path.join(os.tmpdir(), `create-plugin-e2e-test-${new Date().valueOf()}-`), - ); -}; diff --git a/packages/create-plugin/__e2e__/utils/verification.ts b/packages/create-plugin/__e2e__/utils/verification.ts deleted file mode 100644 index 9fb135d7d0..0000000000 --- a/packages/create-plugin/__e2e__/utils/verification.ts +++ /dev/null @@ -1,35 +0,0 @@ -import fs from "fs"; -import path from "path"; -import assert from "assert"; - -export type PluginTemplate = "minimum" | "modern"; - -export const readPluginManifestJson = ( - pluginDir: string, - template: PluginTemplate = "minimum", -) => { - try { - const manifestJsonPath = path.resolve( - pluginDir, - template === "modern" ? "plugin" : "src", - "manifest.json", - ); - - const fileContent = fs.readFileSync(manifestJsonPath, "utf8"); - return JSON.parse(fileContent); - } catch (e) { - throw new Error(`Failed to read manifest.json\n${e}`); - } -}; - -export const assertObjectIncludes = ( - actual: { [key: PropertyKey]: unknown }, - expected: { [key: PropertyKey]: unknown }, - message?: string | Error, -) => { - for (const key in expected) { - if (Object.prototype.hasOwnProperty.call(expected, key)) { - assert.deepStrictEqual(actual[key], expected[key], message); - } - } -}; diff --git a/packages/create-plugin/babel.config.js b/packages/create-plugin/babel.config.js deleted file mode 100644 index dd242dc902..0000000000 --- a/packages/create-plugin/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ["@babel/preset-env", { targets: { node: "current" } }], - "@babel/preset-typescript", - ], -}; diff --git a/packages/create-plugin/bin/cli.js b/packages/create-plugin/bin/cli.js deleted file mode 100755 index f20faca2a3..0000000000 --- a/packages/create-plugin/bin/cli.js +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -"use strict"; -require("../dist/src/cli"); diff --git a/packages/create-plugin/eslint.config.mjs b/packages/create-plugin/eslint.config.mjs deleted file mode 100644 index 95b131b9ff..0000000000 --- a/packages/create-plugin/eslint.config.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import rootConfig from "../../eslint.config.mjs"; -import vitest from "eslint-plugin-vitest"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - ...rootConfig, - { - files: ["**/*.test.ts", "**/__tests__/**/*.ts", "__e2e__/**/*.ts"], - plugins: { vitest }, - languageOptions: { - globals: vitest.environments.env.globals, - }, - }, -]; diff --git a/packages/create-plugin/package.json b/packages/create-plugin/package.json deleted file mode 100644 index 59243f339d..0000000000 --- a/packages/create-plugin/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@kintone/create-plugin", - "version": "9.0.5", - "description": "A CLI tool for creating a kintone plugin!", - "keywords": [ - "kintone" - ], - "homepage": "https://github.com/kintone/js-sdk/tree/main/packages/create-plugin", - "bugs": "https://github.com/kintone/js-sdk/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/kintone/js-sdk.git", - "directory": "packages/create-plugin" - }, - "license": "MIT", - "author": { - "name": "Cybozu, Inc.", - "url": "https://cybozu.co.jp" - }, - "main": "dist/src/index.js", - "bin": { - "create-plugin": "bin/cli.js", - "create-kintone-plugin": "bin/cli.js" - }, - "files": [ - "bin", - "dist/src", - "templates" - ], - "scripts": { - "build": "pnpm clean && tsc --build --force", - "clean": "rimraf dist", - "fix": "pnpm lint --fix", - "lint": "eslint src --max-warnings 0", - "start": "pnpm build --watch", - "test": "vitest run", - "test:all": "run-p test test:generator test:e2e", - "test:ci": "pnpm test && pnpm test:generator", - "test:e2e": "cross-env NODE_ENV=e2e vitest run --config=vitest.e2e.config.ts", - "test:generator": "cross-env NODE_ENV=e2e vitest run --config=vitest.generator.config.ts" - }, - "dependencies": { - "@inquirer/prompts": "5.5.0", - "chalk": "4.1.2", - "glob": "13.0.6", - "lodash": "4.18.1", - "meow": "9.0.0", - "node-rsa": "1.1.1", - "normalize-path": "3.0.0", - "os-locale": "5.0.0", - "prettier": "3.8.5", - "rimraf": "6.1.3", - "sort-package-json": "3.7.1" - }, - "devDependencies": { - "@types/glob": "8.1.0", - "@types/inquirer": "9.0.10", - "@types/lodash": "4.17.25", - "@types/node-rsa": "1.1.4", - "@types/normalize-path": "3.0.2", - "cross-env": "10.1.0" - }, - "engines": { - "node": ">=20" - } -} diff --git a/packages/create-plugin/src/__tests__/fixtures/manifest.json b/packages/create-plugin/src/__tests__/fixtures/manifest.json deleted file mode 100644 index 685cd7c89b..0000000000 --- a/packages/create-plugin/src/__tests__/fixtures/manifest.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/kintone/js-sdk/%40kintone/plugin-manifest-validator%4011.1.1/packages/plugin-manifest-validator/manifest-schema.json", - "manifest_version": 1, - "version": 1, - "type": "APP", - "desktop": { - "js": ["js/desktop.js"], - "css": ["css/51-modern-default.css", "css/desktop.css"] - }, - "icon": "image/icon.png", - "name": { - "en": "kintone-plugin-demo" - }, - "description": { - "en": "kintone-plugin-demo" - }, - "mobile": { - "js": ["js/mobile.js"] - }, - "config": { - "html": "html/config.html", - "js": ["js/config.js"], - "css": ["css/51-modern-default.css", "css/config.css"], - "required_params": [] - } -} diff --git a/packages/create-plugin/src/__tests__/generator.test.ts b/packages/create-plugin/src/__tests__/generator.test.ts deleted file mode 100644 index 3c2b755f71..0000000000 --- a/packages/create-plugin/src/__tests__/generator.test.ts +++ /dev/null @@ -1,125 +0,0 @@ -import assert from "assert"; -import { spawnSync } from "child_process"; -import * as fs from "fs"; -import * as os from "os"; -import * as path from "path"; -import { rimraf } from "rimraf"; - -import { generatePlugin } from "../generator"; - -describe("generator", function () { - let outputDir: string; - beforeEach(() => { - outputDir = fs.mkdtempSync(`${os.tmpdir()}${path.sep}`); - rimraf.sync(outputDir); - }); - afterEach(() => { - rimraf.sync(outputDir); - }); - describe("minimum template", () => { - it("should be able to create a plugin project based on the minimum template", async () => { - const manifest = JSON.parse( - fs.readFileSync( - path.resolve(__dirname, "fixtures", "manifest.json"), - "utf8", - ), - ); - await generatePlugin(outputDir, manifest, "ja", true, "minimum"); - - // test that `npm run lint` doesn't fail - const lintResult = spawnSync("npm", ["run", "lint"], { - cwd: outputDir, - stdio: "inherit", - shell: true, - }); - assert(lintResult.status === 0); - - // test that `npm run build` doesn't fail - const buildResult = spawnSync("npm", ["run", "build"], { - cwd: outputDir, - stdio: "inherit", - shell: true, - }); - assert(fs.existsSync(path.resolve(outputDir, "dist", "plugin.zip"))); - assert(buildResult.status === 0); - - assert.deepStrictEqual( - JSON.parse( - fs.readFileSync( - path.resolve(outputDir, "src", "manifest.json"), - "utf8", - ), - ), - manifest, - ); - assert.deepStrictEqual( - fs.readFileSync( - path.resolve(outputDir, "src", "js", "desktop.js"), - "utf8", - ), - fs.readFileSync( - path.resolve( - __dirname, - "..", - "..", - "templates", - "minimum", - "src", - "js", - "desktop.js", - ), - "utf8", - ), - ); - const packageJson = JSON.parse( - fs.readFileSync(path.resolve(outputDir, "package.json"), "utf8"), - ); - assert( - packageJson.devDependencies && - packageJson.devDependencies["@kintone/plugin-uploader"], - ); - assert(packageJson.scripts && packageJson.scripts.upload); - }); - }); - describe("modern template", () => { - it("should be able to create a plugin project based on the modern template", async () => { - const manifest = JSON.parse( - fs.readFileSync( - path.resolve(__dirname, "fixtures", "manifest.json"), - "utf8", - ), - ); - await generatePlugin(outputDir, manifest, "ja", false, "modern"); - - // test that `npm run lint` doesn't fail - const lintResult = spawnSync("npm", ["run", "lint"], { - cwd: outputDir, - stdio: "inherit", - shell: true, - }); - assert(lintResult.status === 0); - - // test that `npm run build` doesn't fail - const buildResult = spawnSync("npm", ["run", "build"], { - cwd: outputDir, - stdio: "inherit", - shell: true, - }); - assert(fs.existsSync(path.resolve(outputDir, "dist", "plugin.zip"))); - assert(buildResult.status === 0); - - assert.deepStrictEqual( - JSON.parse( - fs.readFileSync( - path.resolve(outputDir, "plugin", "manifest.json"), - "utf8", - ), - ), - manifest, - ); - assert.ok( - fs.existsSync(path.resolve(outputDir, "plugin", "js", "desktop.js")), - ); - }); - }); -}); diff --git a/packages/create-plugin/src/__tests__/helpers/baseManifest.ts b/packages/create-plugin/src/__tests__/helpers/baseManifest.ts deleted file mode 100644 index 9dd4ac43a9..0000000000 --- a/packages/create-plugin/src/__tests__/helpers/baseManifest.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { Manifest } from "../../manifest"; - -export default function createBaseManifest(): Manifest { - return { - manifest_version: 1, - version: 1, - type: "APP", - name: { - en: "sample", - }, - icon: "image/icon.png", - }; -} diff --git a/packages/create-plugin/src/__tests__/lang.test.ts b/packages/create-plugin/src/__tests__/lang.test.ts deleted file mode 100644 index 888c832545..0000000000 --- a/packages/create-plugin/src/__tests__/lang.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import * as assert from "assert"; -import { getDefaultLang } from "../lang"; - -describe("lang", () => { - describe("getDefaultLang", () => { - it('should return "ja" or "en" based the passed value', () => { - assert.strictEqual(getDefaultLang("ja_JP.UTF-8"), "ja"); - assert.strictEqual(getDefaultLang("C"), "en"); - }); - it('should return "en" as the default value if the passed value is undefined', () => { - assert.strictEqual(getDefaultLang(), "en"); - assert.strictEqual(getDefaultLang(undefined), "en"); - }); - }); -}); diff --git a/packages/create-plugin/src/__tests__/manifest.test.ts b/packages/create-plugin/src/__tests__/manifest.test.ts deleted file mode 100644 index ad6d9620c3..0000000000 --- a/packages/create-plugin/src/__tests__/manifest.test.ts +++ /dev/null @@ -1,62 +0,0 @@ -import assert from "assert"; -import { buildManifest } from "../manifest"; - -import createBaseManifest from "./helpers/baseManifest"; - -describe("manifest", () => { - describe("buildManifest", () => { - const templateType = "minimum"; - it("should include basic settings", () => { - const baseManifest = createBaseManifest(); - // @ts-ignore We can fix this using conditional types - const manifest = buildManifest( - { - name: baseManifest.name, - description: baseManifest.name, - homepage_url: {}, - supportMobile: false, - enablePluginUploader: false, - }, - templateType, - ); - assert.strictEqual(manifest.manifest_version, 1); - assert.strictEqual(manifest.name.en, "sample"); - assert.strictEqual(manifest.mobile, undefined); - }); - it("should include mobile.js if the answers enable mobile", () => { - const baseManifest = createBaseManifest(); - // @ts-ignore We can fix this using conditional types - const manifest = buildManifest( - { - name: baseManifest.name, - description: baseManifest.name, - homepage_url: {}, - supportMobile: true, - enablePluginUploader: false, - }, - templateType, - ); - assert(manifest.mobile && Array.isArray(manifest.mobile.js)); - }); - it("should include config if the answers enable config", () => { - const baseManifest = createBaseManifest(); - // @ts-ignore We can fix this using conditional types - const manifest = buildManifest( - { - name: baseManifest.name, - description: baseManifest.name, - homepage_url: {}, - supportMobile: false, - enablePluginUploader: false, - }, - templateType, - ); - assert.deepStrictEqual(manifest.config && Object.keys(manifest.config), [ - "html", - "js", - "css", - "required_params", - ]); - }); - }); -}); diff --git a/packages/create-plugin/src/__tests__/privateKey.test.ts b/packages/create-plugin/src/__tests__/privateKey.test.ts deleted file mode 100644 index a5f952a65c..0000000000 --- a/packages/create-plugin/src/__tests__/privateKey.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import assert from "assert"; -import { generatePrivateKey } from "../privateKey"; - -describe("privateKey", () => { - describe("generatePrivateKey", () => { - it("should be able to create a private key", () => { - const key = generatePrivateKey(); - assert(key.startsWith("-----BEGIN RSA PRIVATE KEY-----")); - }); - }); -}); diff --git a/packages/create-plugin/src/__tests__/qa.test.ts b/packages/create-plugin/src/__tests__/qa.test.ts deleted file mode 100644 index bc2906b84b..0000000000 --- a/packages/create-plugin/src/__tests__/qa.test.ts +++ /dev/null @@ -1,136 +0,0 @@ -import assert from "assert"; -import * as prompt from "../qa/prompt"; -import { validateForDescription, validateForName } from "../qa/validator"; -import { getDefaultName, runPrompt } from "../qa"; -import type { BoundMessage } from "../messages"; -import { getBoundMessage } from "../messages"; - -describe("qa", () => { - describe("validator", () => { - it("should be able to validate by validateForName", () => { - assert(validateForName("hoge")); - assert(validateForName("a".repeat(64))); - assert(!validateForName("")); - assert(!validateForName("a".repeat(65))); - }); - it("should be able to validate by validateForDescription", () => { - assert(validateForDescription("hoge")); - assert(validateForDescription("a".repeat(200))); - assert(!validateForDescription("")); - assert(!validateForDescription("a".repeat(201))); - }); - }); - describe("getDefaultName", () => { - it("should be set the default value of name.en based on the passed directory", () => { - assert.equal(getDefaultName("foo/bar/dist"), "dist"); - }); - }); - describe("runPrompt", () => { - describe("optional lang parameters", () => { - beforeEach(() => { - vi.spyOn(prompt, "promptForName").mockResolvedValue("pass"); - vi.spyOn(prompt, "promptForDescription").mockResolvedValue("pass"); - vi.spyOn(prompt, "promptForOptionalName").mockResolvedValue("pass"); - vi.spyOn(prompt, "promptForOptionalDescription").mockResolvedValue( - "pass", - ); - vi.spyOn(prompt, "promptForHomepage").mockResolvedValue("pass"); - vi.spyOn(prompt, "promptForSupportLang").mockResolvedValue(true); - vi.spyOn(prompt, "promptForSupportMobile").mockResolvedValue(true); - vi.spyOn(prompt, "promptForEnablePluginUploader").mockResolvedValue( - true, - ); - }); - it("should be set ja parameters in supportJa is true", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return supportLang === "Ja"; - }, - ); - const result1 = await runPrompt( - getBoundMessage("ja"), - "foo/bar/dist", - "ja", - ); - assert.notEqual(result1.name.ja, undefined); - assert.notEqual(result1.description.ja, undefined); - assert.notEqual(result1.homepage_url, undefined); - assert.notEqual(result1.homepage_url?.ja, undefined); - }); - it("should not be set ja parameters in supportJa is false", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return !(supportLang === "Ja"); - }, - ); - const result2 = await runPrompt( - getBoundMessage("en"), - "foo/bar/dist", - "en", - ); - assert.equal(result2.name.ja, undefined); - assert.equal(result2.description.ja, undefined); - }); - it("should be set zh parameters in supportZh is true", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return supportLang === "Zh"; - }, - ); - const result1 = await runPrompt( - getBoundMessage("ja"), - "foo/bar/dist", - "ja", - ); - assert.notEqual(result1.name.zh, undefined); - assert.notEqual(result1.description.zh, undefined); - assert.notEqual(result1.homepage_url, undefined); - assert.notEqual(result1.homepage_url?.zh, undefined); - }); - it("should not be set zh parameters in supportZh is false", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return !(supportLang === "Zh"); - }, - ); - const result2 = await runPrompt( - getBoundMessage("en"), - "foo/bar/dist", - "en", - ); - assert.equal(result2.name.zh, undefined); - assert.equal(result2.description.zh, undefined); - }); - it("should be set es parameters in supportEs is true", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return supportLang === "Es"; - }, - ); - const result1 = await runPrompt( - getBoundMessage("ja"), - "foo/bar/dist", - "ja", - ); - assert.notEqual(result1.name.es, undefined); - assert.notEqual(result1.description.es, undefined); - assert.notEqual(result1.homepage_url, undefined); - assert.notEqual(result1.homepage_url?.es, undefined); - }); - it("should not be set es parameters in supportEs is false", async () => { - vi.spyOn(prompt, "promptForSupportLang").mockImplementation( - async (m: BoundMessage, supportLang: prompt.SupportLang) => { - return !(supportLang === "Es"); - }, - ); - const result2 = await runPrompt( - getBoundMessage("en"), - "foo/bar/dist", - "en", - ); - assert.equal(result2.name.es, undefined); - assert.equal(result2.description.es, undefined); - }); - }); - }); -}); diff --git a/packages/create-plugin/src/__tests__/template.test.ts b/packages/create-plugin/src/__tests__/template.test.ts deleted file mode 100644 index 395fe80bd0..0000000000 --- a/packages/create-plugin/src/__tests__/template.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -import assert from "assert"; -import { - isNecessaryFile, - getTemplateType, - processTemplateFile, -} from "../template"; -import createBaseManifest from "./helpers/baseManifest"; -import { promises as fs } from "fs"; -import path from "path"; -import os from "os"; - -describe("template", () => { - describe("getTemplateType", () => { - it("should return be minimum", () => { - assert.strictEqual(getTemplateType(createBaseManifest()), "minimum"); - }); - }); - describe("isNecessaryFile", () => { - it("should returns a boolean that shows whether the file should include or not", () => { - const manifest = createBaseManifest(); - assert(!isNecessaryFile(manifest, "webpack.entry.json")); - assert(!isNecessaryFile(manifest, "with-plugin-uploader.json")); - assert(!isNecessaryFile(manifest, "js/mobile.js")); - assert(!isNecessaryFile(manifest, "js/config.js")); - assert(isNecessaryFile(manifest, "js/other.js")); - assert(isNecessaryFile({ ...manifest, mobile: {} }, "js/mobile.js")); - assert(isNecessaryFile({ ...manifest, config: {} }, "js/config.js")); - }); - }); - describe("processTemplateFile", () => { - let destDir: string; - const manifest = createBaseManifest(); - - beforeEach(async () => { - destDir = await fs.mkdtemp( - path.join(os.tmpdir(), "kintone-create-plugin-"), - ); - }); - - const patterns: Array<{ template: string; enablePluginUploader: boolean }> = - [ - { template: "minimum", enablePluginUploader: false }, - { template: "minimum", enablePluginUploader: true }, - { template: "modern", enablePluginUploader: false }, - { template: "modern", enablePluginUploader: true }, - ]; - - it.each(patterns)( - "should convert package.json correctly (template: $template, enablePluginUploader: $enablePluginUploader)", - async ({ template, enablePluginUploader }) => { - const srcDir = path.resolve( - __dirname, - "..", - "..", - "templates", - template, - ); - - await processTemplateFile( - path.resolve(srcDir, "package.json"), - srcDir, - destDir, - manifest, - enablePluginUploader, - ); - - const packageJson = JSON.parse( - await fs.readFile(path.resolve(destDir, "package.json"), "utf8"), - ); - - assert(packageJson.name); - assert(packageJson.version); - assert(packageJson.scripts); - assert(packageJson.devDependencies); - - if (enablePluginUploader) { - assert(packageJson.scripts.upload); - assert(packageJson.devDependencies["@kintone/plugin-uploader"]); - } - }, - ); - - it.each(patterns)( - "should convert template file correctly (template: $template, enablePluginUploader: $enablePluginUploader)", - async ({ template, enablePluginUploader }) => { - const srcDir = path.resolve( - __dirname, - "..", - "..", - "templates", - template, - ); - - const templateFile = - template === "modern" - ? path.resolve(srcDir, "plugin", "html", "config.html.tmpl") - : path.resolve(srcDir, "src", "html", "config.html.tmpl"); - - await processTemplateFile( - templateFile, - srcDir, - destDir, - manifest, - enablePluginUploader, - ); - - const destFile = - template === "modern" - ? path.resolve(destDir, "plugin", "html", "config.html") - : path.resolve(destDir, "src", "html", "config.html"); - assert(await fs.stat(destFile)); - }, - ); - it.each(patterns)( - "should copy normal file correctly (template: $template, enablePluginUploader: $enablePluginUploader)", - async ({ template, enablePluginUploader }) => { - const srcDir = path.resolve( - __dirname, - "..", - "..", - "templates", - template, - ); - - const templateFile = path.resolve(srcDir, ".gitignore"); - - await processTemplateFile( - templateFile, - srcDir, - destDir, - manifest, - enablePluginUploader, - ); - - assert(await fs.stat(path.resolve(destDir, ".gitignore"))); - }, - ); - - it("should convert webpack.config.js correctly with modern template", async () => { - const srcDir = path.resolve(__dirname, "..", "..", "templates", "modern"); - - await processTemplateFile( - path.resolve(srcDir, "webpack.config.template.js"), - srcDir, - destDir, - manifest, - false, - ); - const destFile = path.resolve(destDir, "webpack.config.js"); - assert(await fs.stat(destFile)); - }); - }); -}); diff --git a/packages/create-plugin/src/cli.ts b/packages/create-plugin/src/cli.ts deleted file mode 100644 index b36f001f3e..0000000000 --- a/packages/create-plugin/src/cli.ts +++ /dev/null @@ -1,56 +0,0 @@ -import osLocale from "os-locale"; -import meow from "meow"; -import type { Lang } from "./lang"; -import { getDefaultLang } from "./lang"; -import type { TemplateType } from "./template"; -import { isValidTemplateType, SUPPORT_TEMPLATE_TYPE } from "./template"; - -import run from "./index"; - -const cli = meow( - ` - Usage - $ create-kintone-plugin - Options - --lang Using language (en or ja) - --template A template for a generated plug-in (${SUPPORT_TEMPLATE_TYPE.join(",")}): the default value is minimum) -`, - { - flags: { - lang: { - type: "string", - default: getDefaultLang(osLocale.sync()), - }, - template: { - type: "string", - default: "minimum", - }, - }, - }, -); - -const directory = cli.input[0]; -const { lang, template } = cli.flags; - -if (!directory) { - console.error("Please specify the output directory"); - cli.showHelp(); -} - -const isLang = (value: string): value is Lang => { - return value === "ja" || value === "en"; -}; - -if (!isLang(lang)) { - console.error("--lang option only supports en or ja"); - cli.showHelp(); -} - -if (!isValidTemplateType(template)) { - console.error( - `--template option only supports ${SUPPORT_TEMPLATE_TYPE.join(",")}`, - ); - cli.showHelp(); -} - -run(directory, lang as Lang, template as TemplateType); diff --git a/packages/create-plugin/src/deps.ts b/packages/create-plugin/src/deps.ts deleted file mode 100644 index 60f6a240fc..0000000000 --- a/packages/create-plugin/src/deps.ts +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; - -import { spawnSync } from "child_process"; -import type { Lang } from "./lang"; -import { printLog } from "./logger"; -import { getMessage } from "./messages"; - -/** - * Install specified dependencies - * @param outputDirectory - * @param lang - */ -export const installDependencies = ( - outputDirectory: string, - lang: Lang, -): void => { - printLog(getMessage(lang, "installDependencies")); - - const result = spawnSync("npm", ["install"], { - cwd: outputDirectory, - stdio: "inherit", - // TODO: Consider to remove shell option to avoid security vulnerability - shell: true, - }); - if (result.status !== 0) { - throw new Error("Installing dependencies were failed"); - } -}; diff --git a/packages/create-plugin/src/generator.ts b/packages/create-plugin/src/generator.ts deleted file mode 100644 index 9cdb3bd7a4..0000000000 --- a/packages/create-plugin/src/generator.ts +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; - -import * as fs from "fs"; -import { globSync } from "glob"; -import * as path from "path"; -import { installDependencies } from "./deps"; -import type { Lang } from "./lang"; -import type { Manifest } from "./manifest"; -import { generatePrivateKey } from "./privateKey"; -import type { TemplateType } from "./template"; -import { isNecessaryFile, processTemplateFile } from "./template"; -import normalize from "normalize-path"; - -/** - * Create a plugin project based on passed manifest and install dependencies - * @param outputDirectory - * @param manifest - * @param lang - * @param enablePluginUploader - * @param templateType - */ -export const generatePlugin = async ( - outputDirectory: string, - manifest: Manifest, - lang: Lang, - enablePluginUploader: boolean, - templateType: TemplateType, -): Promise => { - // copy and build a project into the output diretory - await buildProject( - outputDirectory, - manifest, - enablePluginUploader, - templateType, - ); - // npm install - installDependencies(outputDirectory, lang); -}; - -/** - * Create a plugin project based on passed manifest - * @param outputDirectory - * @param manifest - * @param enablePluginUploader - * @param templateType - */ -const buildProject = async ( - outputDirectory: string, - manifest: Manifest, - enablePluginUploader: boolean, - templateType: TemplateType, -): Promise => { - fs.mkdirSync(outputDirectory); - // This is necessary for unit testing - // We use src/generator.ts directory instead of dist/src/generator.js when unit testing - const templatePath = - __dirname.indexOf("dist") === -1 - ? path.join(__dirname, "..", "templates", templateType) - : path.join(__dirname, "..", "..", "templates", templateType); - const templatePathPattern = normalize(path.resolve(templatePath, "**", "*")); - const templateFiles = globSync(templatePathPattern, { - dot: true, - }).filter((file) => isNecessaryFile(manifest, file)); - for (const file of templateFiles) { - await processTemplateFile( - file, - templatePath, - outputDirectory, - manifest, - enablePluginUploader, - ); - } - - fs.writeFileSync( - path.resolve(outputDirectory, "private.ppk"), - generatePrivateKey(), - ); - fs.writeFileSync( - path.resolve( - outputDirectory, - templateType === "modern" ? "plugin" : "src", - "manifest.json", - ), - JSON.stringify(manifest, null, 2), - ); -}; diff --git a/packages/create-plugin/src/index.ts b/packages/create-plugin/src/index.ts deleted file mode 100644 index c034618be9..0000000000 --- a/packages/create-plugin/src/index.ts +++ /dev/null @@ -1,113 +0,0 @@ -"use strict"; - -import chalk from "chalk"; -import * as fs from "fs"; -import { rimraf } from "rimraf"; -import { generatePlugin } from "./generator"; -import type { Lang } from "./lang"; -import { printError, printLog } from "./logger"; -import type { Manifest } from "./manifest"; -import { buildManifest } from "./manifest"; -import { getBoundMessage, getMessage } from "./messages"; -import type { TemplateType } from "./template"; -import { runPrompt } from "./qa"; - -/** - * Verify whether the output directory is valid - * @param outputDirectory - * @param lang - */ -const verifyOutputDirectory = (outputDirectory: string, lang: Lang): void => { - if (fs.existsSync(outputDirectory)) { - throw new Error( - `${outputDirectory} ${getMessage(lang, "Error_alreadyExists")}`, - ); - } -}; - -const getSuccessCreatedPluginMessage = ( - manifest: Manifest, - outputDir: string, - enablePluginUploader: boolean, - lang: Lang, -) => { - const m = getBoundMessage(lang); - return ` - -Success! Created ${manifest.name.en} at ${outputDir} - -${chalk.cyan("npm start")} - - ${m("npmStart")} - ${enablePluginUploader ? m("npmStartWithPluginUploader") : ""} - -${chalk.cyan("npm run build")} - - ${m("npmBuild")} - -${chalk.cyan("npm run lint")} - - ${m("npmLint")} - -${m("nextAction")} -${enablePluginUploader ? m("howToUsePluginUploader") : ""} - - cd ${outputDir} - npm start - -${m("lastMessage")} -${m("developerSite")} - - `; -}; - -/** - * Run create-kintone-plugin script - * @param outputDir - * @param lang - * @param templateType - */ -const run = (outputDir: string, lang: Lang, templateType: TemplateType) => { - const m = getBoundMessage(lang); - verifyOutputDirectory(outputDir, lang); - printLog(` - - ${m("introduction")} - - `); - - runPrompt(m, outputDir, lang) - .then(async (answers): Promise<[Manifest, boolean]> => { - const manifest = buildManifest(answers, templateType); - await generatePlugin( - outputDir, - manifest, - lang, - answers.enablePluginUploader, - templateType, - ); - return [manifest, answers.enablePluginUploader]; - }) - .then(([manifest, enablePluginUploader]) => { - printLog( - getSuccessCreatedPluginMessage( - manifest, - outputDir, - enablePluginUploader, - lang, - ), - ); - }) - .catch((error: Error) => { - rimraf(outputDir, { glob: true }) - .then(() => { - printError(m("Error_cannotCreatePlugin"), error.message); - }) - .finally(() => { - // eslint-disable-next-line n/no-process-exit - process.exit(1); - }); - }); -}; - -export default run; diff --git a/packages/create-plugin/src/lang.ts b/packages/create-plugin/src/lang.ts deleted file mode 100644 index f9832cf523..0000000000 --- a/packages/create-plugin/src/lang.ts +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -export type Lang = "ja" | "en"; - -/** - * Get a default language based on LANG environment value - * @param lang - */ -export const getDefaultLang = (lang?: string): Lang => { - return lang && lang.startsWith("ja") ? "ja" : "en"; -}; diff --git a/packages/create-plugin/src/logger.ts b/packages/create-plugin/src/logger.ts deleted file mode 100644 index 36824a9f9e..0000000000 --- a/packages/create-plugin/src/logger.ts +++ /dev/null @@ -1,17 +0,0 @@ -"use strict"; - -/** - * Print logs - * @param texts - */ -export const printLog = (...texts: string[]) => { - texts.forEach((t) => console.log(t)); -}; - -/** - * Print errors - * @param errors - */ -export const printError = (...errors: string[]) => { - errors.forEach((e) => console.error(e)); -}; diff --git a/packages/create-plugin/src/manifest.ts b/packages/create-plugin/src/manifest.ts deleted file mode 100644 index 10d3d74083..0000000000 --- a/packages/create-plugin/src/manifest.ts +++ /dev/null @@ -1,133 +0,0 @@ -"use strict"; - -import type { Answers } from "./qa"; -import type { TemplateType } from "./template"; - -const minimumManifest = { - $schema: - "https://raw.githubusercontent.com/kintone/js-sdk/%40kintone/plugin-manifest-validator%4011.3.0/packages/plugin-manifest-validator/manifest-schema.json", - manifest_version: 1, - version: 1, - type: "APP", - desktop: { - js: ["js/desktop.js"], - css: ["css/51-modern-default.css", "css/desktop.css"], - }, - icon: "image/icon.png", - config: { - html: "html/config.html", - js: ["js/config.js"], - css: ["css/51-modern-default.css", "css/config.css"], - required_params: ["message"], - }, -}; - -const modernManifest = { - $schema: - "https://raw.githubusercontent.com/kintone/js-sdk/%40kintone/plugin-manifest-validator%4011.3.0/packages/plugin-manifest-validator/manifest-schema.json", - manifest_version: 1, - version: 1, - type: "APP", - desktop: { - js: ["js/desktop.js"], - css: ["css/desktop.css"], - }, - icon: "image/icon.png", - config: { - html: "html/config.html", - js: ["js/config.js"], - css: ["css/51-modern-default.css", "css/config.css"], - required_params: ["message"], - }, -}; - -export interface Manifest { - manifest_version: number; - version: number; - type: "APP"; - name: { - ja?: string; - en: string; - zh?: string; - es?: string; - }; - description?: { - ja?: string; - en: string; - zh?: string; - es?: string; - }; - icon: string; - homepage_url?: { - ja?: string; - en?: string; - zh?: string; - es?: string; - }; - desktop?: { - js?: string[]; - css?: string[]; - }; - mobile?: { - js?: string[]; - css?: string[]; - }; - config?: { - html?: string; - js?: string[]; - css?: string[]; - required_params?: string[]; - }; -} - -const answer2Manifest = (answers: Answers): Manifest => { - const filteredAnswer = Object.keys(answers).reduce((acc, key) => { - if (typeof answers[key] === "boolean") { - return acc; - } - if ( - typeof answers[key] === "string" && - (answers[key] === "" || answers[key] == null) - ) { - return acc; - } - return { ...acc, ...{ [key]: answers[key] } }; - }, {}) as { [key: string]: string }; - return Object.keys(filteredAnswer).reduce((acc, key) => { - if ( - typeof filteredAnswer[key] === "object" && - !Array.isArray(filteredAnswer[key]) && - Object.keys(filteredAnswer[key]).length === 0 - ) { - return acc; - } - return { ...acc, ...{ [key]: filteredAnswer[key] } }; - }, {}) as Manifest; -}; - -/** - * Build the manifest setting - * @param answers - * @param templateType - */ -export const buildManifest = ( - answers: Answers, - templateType: TemplateType, -): Manifest => { - let manifest = { - ...(templateType === "modern" ? modernManifest : minimumManifest), - ...answer2Manifest(answers), - }; - if (answers.supportMobile) { - manifest = { - ...manifest, - ...{ - mobile: { - js: ["js/mobile.js"], - css: ["css/mobile.css"], - }, - }, - }; - } - return manifest; -}; diff --git a/packages/create-plugin/src/messages.ts b/packages/create-plugin/src/messages.ts deleted file mode 100644 index c6b95b7e20..0000000000 --- a/packages/create-plugin/src/messages.ts +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; - -import type { Lang } from "./lang"; - -type LangMap = { [lang in Lang]: string }; -type MessageMap = { [key in keyof typeof messages]: LangMap }; - -const messages = { - Q_NameEn: { - en: "Input your plug-in name in English [1-64chars]", - ja: "プラグインの英語名を入力してください [1-64文字]", - }, - Q_NameEnError: { - en: "Plug-in name must be 1-64chars", - ja: "プラグイン名は1〜64文字で入力してください", - }, - Q_DescriptionEn: { - en: "Input your plug-in description in English [1-200chars]", - ja: "プラグインの説明を入力してください [1-200文字]", - }, - Q_DescriptionEnError: { - en: "Plug-in description must be 1-200chars", - ja: "プラグインの説明は1〜200文字で入力してください", - }, - Q_SupportJa: { - en: "Does your plug-in support Japanese?", - ja: "日本語をサポートしますか?", - }, - Q_NameJa: { - en: "Input your plug-in name in Japanese [1-64chars] (Optional)", - ja: "プラグインの日本語名を入力してください [1-64文字] (省略可)", - }, - Q_NameJaError: { - en: "Plug-in name must be within 64chars", - ja: "プラグイン名は64文字以内で入力してください", - }, - Q_DescriptionJa: { - en: "Input your plug-in description in Japanese [1-200chars] (Optional)", - ja: "プラグインの日本語の説明を入力してください [1-200文字] (省略可)", - }, - Q_DescriptionJaError: { - en: "Plug-in description must be within 200chars", - ja: "プラグインの日本語の説明を200文字以内で入力してください", - }, - Q_SupportZh: { - en: "Does your plug-in support Chinese?", - ja: "中国語をサポートしますか?", - }, - Q_NameZh: { - en: "Input your plug-in name in Chinese [1-64chars] (Optional)", - ja: "プラグインの中国語名を入力してください [1-64文字] (省略可)", - }, - Q_NameZhError: { - en: "Plug-in name must be within 64chars", - ja: "プラグイン名は64文字以内で入力してください", - }, - Q_DescriptionZh: { - en: "Input your plug-in description in Chinese [1-200chars] (Optional)", - ja: "プラグインの中国語の説明を入力してください [1-200文字] (省略可)", - }, - Q_DescriptionZhError: { - en: "Plug-in description must be within 200chars", - ja: "プラグインの中国語の説明を200文字以内で入力してください", - }, - Q_SupportEs: { - en: "Does your plug-in support Spanish?", - ja: "スペイン語をサポートしますか?", - }, - Q_NameEs: { - en: "Input your plug-in name in Spanish [1-64chars] (Optional)", - ja: "プラグインのスペイン語名を入力してください [1-64文字] (省略可)", - }, - Q_NameEsError: { - en: "Plug-in name must be within 64chars", - ja: "プラグイン名は64文字以内で入力してください", - }, - Q_DescriptionEs: { - en: "Input your plug-in description in Spanish [1-200chars] (Optional)", - ja: "プラグインのスペイン語の説明を入力してください [1-200文字] (省略可)", - }, - Q_DescriptionEsError: { - en: "Plug-in description must be within 200chars", - ja: "プラグインのスペイン語の説明を200文字以内で入力してください", - }, - Q_WebsiteUrlEn: { - en: "Input your home page url for English (Optional)", - ja: "プラグインの英語のWebサイトURLを入力してください (省略可)", - }, - Q_WebsiteUrlJa: { - en: "Input your home page url for Japanese (Optional)", - ja: "プラグインの日本語のWebサイトURLを入力してください (省略可)", - }, - Q_WebsiteUrlZh: { - en: "Input your home page url for Chinese (Optional)", - ja: "プラグインの中国語のWebサイトURLを入力してください (省略可)", - }, - Q_WebsiteUrlEs: { - en: "Input your home page url for Spanish (Optional)", - ja: "プラグインのスペイン語のWebサイトURLを入力してください (省略可)", - }, - Q_MobileSupport: { - en: "Does your plug-in support mobile views?", - ja: "モバイルページをサポートしますか?", - }, - Q_EnablePluginUploader: { - en: "Would you like to use @kintone/plugin-uploader?", - ja: "@kintone/plugin-uploaderを使いますか?", - }, - installDependencies: { - en: "Installing dependencies...", - ja: "依存ライブラリをインストールします", - }, - introduction: { - en: ` -Please answer some questions to create your Kintone plug-in project :) -Let's start! - `, - ja: ` -kintoneプラグインのプロジェクトを作成するために、いくつかの質問に答えてください :) -では、はじめましょう! -`, - }, - npmStart: { - en: "Start watching file changes and create a Kintone plug-in zip file.", - ja: "ファイルの変更を監視してプラグインのzipを自動的に作成するプロセスを起動します", - }, - npmStartWithPluginUploader: { - en: "Next, the plug-in zip file is uploaded automatically by @kintone/plugin-uploader.", - ja: "その後、@kintone/plugin-uploaderにより、プラグインのzipは自動的にアップロードされます", - }, - npmBuild: { - en: "Create a Kintone plug-in zip file.", - ja: "プラグインのzipを作成します", - }, - npmLint: { - en: "Lint JS files with ESLint.", - ja: "ESLintを使ってJavaScriptのソースコードをチェックします", - }, - nextAction: { - en: "Try the following commands", - ja: "まずは次のコマンドを実行してください", - }, - howToUsePluginUploader: { - en: "Next, input your Kintone subdomain information.", - ja: "その後、あなたのkintone環境の情報を入力してください", - }, - lastMessage: { - en: "Have fun developing Kintone plug-ins!", - ja: "kintoneプラグイン開発をはじめましょう!", - }, - developerSite: { - en: "", - ja: `開発に関する情報はcybozu developer network: - - https://cybozu.dev/ja/ -`, - }, - Error_alreadyExists: { - en: "already exists. Choose a different directory", - ja: "はすでに存在しています。削除するか、別のディレクトリを指定してください", - }, - Error_cannotCreatePlugin: { - en: "Could not create a plug-in project. Error:", - ja: "プラグインの作成に失敗しました。 エラー:", - }, -}; - -/** - * Returns a message for the passed lang and key - * @param lang - * @param key - */ -export const getMessage = ( - lang: keyof LangMap, - key: keyof MessageMap, -): string => { - return messages[key][lang]; -}; - -export type BoundMessage = (key: keyof MessageMap) => string; - -/** - * Returns a function bound lang to getMessage - * @param lang - */ -export const getBoundMessage = (lang: keyof LangMap): BoundMessage => { - return getMessage.bind(null, lang); -}; diff --git a/packages/create-plugin/src/privateKey.ts b/packages/create-plugin/src/privateKey.ts deleted file mode 100644 index 973df8ef47..0000000000 --- a/packages/create-plugin/src/privateKey.ts +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; - -import RSA from "node-rsa"; - -/** - * Create a private key for a kintone plugin - */ -export const generatePrivateKey = () => { - const key = new RSA({ b: 1024 }); - return key.exportKey("pkcs1-private"); -}; diff --git a/packages/create-plugin/src/qa.ts b/packages/create-plugin/src/qa.ts deleted file mode 100644 index b560566054..0000000000 --- a/packages/create-plugin/src/qa.ts +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; - -import type { Lang } from "./lang"; -import type { BoundMessage } from "./messages"; -import { - promptForDescription, - promptForEnablePluginUploader, - promptForHomepage, - promptForName, - promptForOptionalDescription, - promptForOptionalName, - promptForSupportLang, - promptForSupportMobile, -} from "./qa/prompt"; - -export type Answers = { - name: { - ja?: string; - en: string; - zh?: string; - es?: string; - }; - description: { - ja?: string; - en: string; - zh?: string; - es?: string; - }; - homepage_url?: { - ja?: string; - en?: string; - zh?: string; - es?: string; - }; - supportMobile: boolean; - enablePluginUploader: boolean; - [key: string]: unknown; -}; - -export const getDefaultName = (outputDir: string) => - outputDir.replace(/.*\//, ""); - -export const runPrompt = async ( - m: BoundMessage, - outputDir: string, - lang: Lang, -): Promise => { - const enName = await promptForName(m, "En", getDefaultName(outputDir)); - const enDescription = await promptForDescription(m, "En", enName); - - const supportJa = await promptForSupportLang(m, "Ja", lang === "ja"); - const jaName = supportJa ? await promptForOptionalName(m, "Ja") : undefined; - const jaDescription = supportJa - ? await promptForOptionalDescription(m, "Ja") - : undefined; - - const supportZh = await promptForSupportLang(m, "Zh"); - const zhName = supportZh ? await promptForOptionalName(m, "Zh") : undefined; - const zhDescription = supportZh - ? await promptForOptionalDescription(m, "Zh") - : undefined; - - const supportEs = await promptForSupportLang(m, "Es"); - const esName = supportEs ? await promptForOptionalName(m, "Es") : undefined; - const esDescription = supportEs - ? await promptForOptionalDescription(m, "Es") - : undefined; - - const enHomepage = await promptForHomepage(m, "En"); - const jaHomepage = supportJa ? await promptForHomepage(m, "Ja") : undefined; - const zhHomepage = supportZh ? await promptForHomepage(m, "Zh") : undefined; - const esHomepage = supportEs ? await promptForHomepage(m, "Es") : undefined; - - const supportMobile = await promptForSupportMobile(m); - const enablePluginUploader = await promptForEnablePluginUploader(m); - - const result = { - name: { - en: enName, - ja: jaName, - zh: zhName, - es: esName, - }, - description: { - en: enDescription, - ja: jaDescription, - zh: zhDescription, - es: esDescription, - }, - supportMobile: supportMobile, - enablePluginUploader: enablePluginUploader, - } as Answers; - if (enHomepage) { - result.homepage_url = { - en: enHomepage, - ja: jaHomepage, - zh: zhHomepage, - es: esHomepage, - }; - } - return result; -}; diff --git a/packages/create-plugin/src/qa/prompt.ts b/packages/create-plugin/src/qa/prompt.ts deleted file mode 100644 index ea2de9bb53..0000000000 --- a/packages/create-plugin/src/qa/prompt.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { confirm, input } from "@inquirer/prompts"; -import type { BoundMessage } from "../messages"; -import { - validateForDescription, - validateForName, - validateForOptionalDescription, - validateForOptionalName, -} from "./validator"; - -export type SupportLang = "En" | "Ja" | "Zh" | "Es"; - -export const promptForName = async ( - m: BoundMessage, - supportLang: SupportLang, - defaultAnswer: string, -) => { - return input({ - message: m(`Q_Name${supportLang}`), - default: defaultAnswer, - validate: (value) => - validateForName(value) ? true : m(`Q_Name${supportLang}Error`), - }); -}; - -export const promptForDescription = async ( - m: BoundMessage, - supportLang: SupportLang, - defaultAnswer: string, -) => { - return input({ - message: m(`Q_Description${supportLang}`), - default: defaultAnswer, - validate: (value) => - validateForDescription(value) - ? true - : m(`Q_Description${supportLang}Error`), - }); -}; - -export const promptForOptionalName = async ( - m: BoundMessage, - supportLang: SupportLang, -) => { - return input({ - message: m(`Q_Name${supportLang}`), - validate: (value) => - validateForOptionalName(value) ? true : m(`Q_Name${supportLang}Error`), - }); -}; - -export const promptForOptionalDescription = async ( - m: BoundMessage, - supportLang: SupportLang, -) => { - return input({ - message: m(`Q_Description${supportLang}`), - validate: (value) => - validateForOptionalDescription(value) - ? true - : m(`Q_Description${supportLang}Error`), - }); -}; - -export const promptForSupportLang = async ( - m: BoundMessage, - supportLang: Exclude, - defaultAnswer: boolean = false, -) => { - return confirm({ - default: defaultAnswer, - message: m(`Q_Support${supportLang}`), - }); -}; - -export const promptForHomepage = async ( - m: BoundMessage, - supportLang: SupportLang, -) => { - return input({ - message: m(`Q_WebsiteUrl${supportLang}`), - }); -}; - -export const promptForSupportMobile = async (m: BoundMessage) => { - return confirm({ - default: true, - message: m("Q_MobileSupport"), - }); -}; - -export const promptForEnablePluginUploader = async (m: BoundMessage) => { - return confirm({ - default: true, - message: m("Q_EnablePluginUploader"), - }); -}; diff --git a/packages/create-plugin/src/qa/validator.ts b/packages/create-plugin/src/qa/validator.ts deleted file mode 100644 index 17c25f89d3..0000000000 --- a/packages/create-plugin/src/qa/validator.ts +++ /dev/null @@ -1,14 +0,0 @@ -const NAME_MAX_LENGTH = 64; -const DESCRIPTION_MAX_LENGTH = 200; - -export const validateForName = (value: string) => - value.length > 0 && value.length <= NAME_MAX_LENGTH; - -export const validateForDescription = (value: string) => - value.length > 0 && value.length <= DESCRIPTION_MAX_LENGTH; - -export const validateForOptionalName = (value: string) => - value.length === 0 || value.length <= NAME_MAX_LENGTH; - -export const validateForOptionalDescription = (value: string) => - value.length === 0 || value.length <= DESCRIPTION_MAX_LENGTH; diff --git a/packages/create-plugin/src/template.ts b/packages/create-plugin/src/template.ts deleted file mode 100644 index ce2cb27c39..0000000000 --- a/packages/create-plugin/src/template.ts +++ /dev/null @@ -1,175 +0,0 @@ -"use strict"; - -import * as fs from "fs"; -import * as _ from "lodash"; -import * as path from "path"; -import type { Manifest } from "./manifest"; -import sortPackageJson from "sort-package-json"; -import { format } from "prettier/standalone"; -import * as prettierPluginTypescript from "prettier/plugins/typescript"; -import * as prettierPluginEstree from "prettier/plugins/estree"; - -export const SUPPORT_TEMPLATE_TYPE = ["minimum", "modern"]; -export type TemplateType = "minimum" | "modern"; - -export const isValidTemplateType = (templateType: string) => { - return SUPPORT_TEMPLATE_TYPE.indexOf(templateType) !== -1; -}; - -/** - * Return a template type corresponding to the manifest - * @param manifest - */ -export const getTemplateType = (manifest: Manifest): TemplateType => { - // We don't have any other template types - return "minimum"; -}; - -/** - * return `true` if `file` is necessary. - * @param manifest - * @param file - */ -export const isNecessaryFile = (manifest: Manifest, file: string): boolean => { - const excludedFiles = ["with-plugin-uploader.json", "webpack.entry.json"]; - const isExcludedFile = excludedFiles.some( - (excludeFile) => path.basename(file) === excludeFile, - ); - if (isExcludedFile) { - return false; - } - - if (/mobile\..+/.test(file)) { - return !!manifest.mobile; - } - - if (/config\..+/.test(file)) { - return !!manifest.config; - } - - return true; -}; - -/** - * Process a template file - * @param filePath - * @param srcDir - * @param destDir - * @param manifest - * @param enablePluginUploader - */ -export const processTemplateFile = async ( - filePath: string, - srcDir: string, - destDir: string, - manifest: Manifest, - enablePluginUploader: boolean, -): Promise => { - const destFilePath = path.join(destDir, path.relative(srcDir, filePath)); - - if (path.basename(filePath).endsWith(".tmpl")) { - const src = fs.readFileSync(filePath, "utf-8"); - const destPath = path.join( - path.dirname(destFilePath), - path.basename(destFilePath, ".tmpl"), - ); - fs.mkdirSync(path.dirname(destPath), { recursive: true }); - fs.writeFileSync( - destPath, - _.template(src)( - Object.assign({}, manifest, { - enablePluginUploader, - // It's a function to remove whitespaces for pacakge.json's name field - normalizePackageName: (name: string) => name.replace(/\s/g, "-"), - }), - ), - ); - } else if (path.resolve(filePath) === path.resolve(srcDir, "package.json")) { - const packageJson: PackageJson = JSON.parse( - fs.readFileSync(filePath, "utf-8"), - ); - packageJson.name = manifest.name.en.replace(/\s/g, "-"); - if (enablePluginUploader) { - const withPluginUploaderJson: WithPluginUploaderJson = JSON.parse( - fs.readFileSync( - path.join(srcDir, "with-plugin-uploader.json"), - "utf-8", - ), - ); - if (withPluginUploaderJson.scripts) { - packageJson.scripts = { - ...packageJson.scripts, - ...withPluginUploaderJson.scripts, - }; - } - if (withPluginUploaderJson.dependencies) { - packageJson.dependencies = { - ...packageJson.dependencies, - ...withPluginUploaderJson.dependencies, - }; - } - if (withPluginUploaderJson.devDependencies) { - packageJson.devDependencies = { - ...packageJson.devDependencies, - ...withPluginUploaderJson.devDependencies, - }; - } - } - const sortedPackageJson = sortPackageJson( - JSON.stringify(packageJson, null, 2), - ); - fs.writeFileSync(destFilePath, sortedPackageJson); - } else if ( - path.resolve(filePath) === - path.resolve(srcDir, "webpack.config.template.js") - ) { - const webpackEntryJson: WebpackEntryJson = JSON.parse( - fs.readFileSync(path.join(srcDir, "webpack.entry.json"), "utf-8"), - ); - const webpackEntry = manifest.mobile - ? webpackEntryJson.mobile - : webpackEntryJson.default; - const entries: string[] = []; - for (const [key, value] of Object.entries(webpackEntry)) { - const entryStr = `${key}: "${value}"`; - entries.push(entryStr); - } - const entriesStr = `{${entries.join(",")}}`; - let webpackConfigContent: string = fs.readFileSync(filePath, "utf-8"); - webpackConfigContent = webpackConfigContent.replace( - /'%%placeholder_webpack_entry%%'/, - entriesStr, - ); - const prettySource = await format(webpackConfigContent, { - parser: "typescript", - plugins: [prettierPluginTypescript, prettierPluginEstree], - }); - const destPath = path.join(path.dirname(destFilePath), "webpack.config.js"); - fs.writeFileSync(destPath, prettySource); - } else if (fs.statSync(filePath).isDirectory()) { - fs.mkdirSync(destFilePath); - } else { - // fs.copyFileSync is only available <= v8.5.0 - // fs.copyFileSync(filePath, destFilePath); - fs.writeFileSync(destFilePath, fs.readFileSync(filePath)); - } -}; - -type PackageJson = { - name?: string; - version?: string; - scripts?: { [key: string]: string }; - dependencies?: { [key: string]: string }; - devDependencies?: { [key: string]: string }; -}; - -type WithPluginUploaderJson = { - scripts?: { [key: string]: string }; - dependencies?: { [key: string]: string }; - devDependencies?: { [key: string]: string }; -}; - -type WebpackEntryJson = { - default: { [key: string]: string }; - mobile: { [key: string]: string }; -}; diff --git a/packages/create-plugin/templates/minimum/.gitignore b/packages/create-plugin/templates/minimum/.gitignore deleted file mode 100644 index b947077876..0000000000 --- a/packages/create-plugin/templates/minimum/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -dist/ diff --git a/packages/create-plugin/templates/minimum/eslint.config.mjs b/packages/create-plugin/templates/minimum/eslint.config.mjs deleted file mode 100644 index 8a571610be..0000000000 --- a/packages/create-plugin/templates/minimum/eslint.config.mjs +++ /dev/null @@ -1,13 +0,0 @@ -import kintone from '@cybozu/eslint-config/flat/lib/kintone.js'; -import prettier from '@cybozu/eslint-config/flat/lib/prettier.js'; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - ...kintone(), - ...prettier(), - { - rules: { - 'prettier/prettier': ['error', { singleQuote: true }], - }, - }, -]; diff --git a/packages/create-plugin/templates/minimum/package.json b/packages/create-plugin/templates/minimum/package.json deleted file mode 100644 index a198570c4e..0000000000 --- a/packages/create-plugin/templates/minimum/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "kintone-plugin-template-minimum", - "version": "0.1.0", - "scripts": { - "start": "npm run develop", - "develop": "npm run build -- --watch", - "build": "kintone-plugin-packer --ppk private.ppk --out dist/plugin.zip src", - "lint": "eslint src" - }, - "devDependencies": { - "@cybozu/eslint-config": "24.3.0", - "@kintone/plugin-packer": "9.1.2", - "eslint": "9.38.0" - } -} diff --git a/packages/create-plugin/templates/minimum/scripts/npm-start.js b/packages/create-plugin/templates/minimum/scripts/npm-start.js deleted file mode 100644 index 4d07e6fab2..0000000000 --- a/packages/create-plugin/templates/minimum/scripts/npm-start.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -const runAll = require("npm-run-all"); - -runAll(["develop", "upload"], { - parallel: true, - stdout: process.stdout, - stdin: process.stdin -}).catch(({results}) => { - results - .filter(({code}) => code) - .forEach(({name}) => { - console.log(`"npm run ${name}" was failed`); - }) - ; -}); diff --git a/packages/create-plugin/templates/minimum/src/css/51-modern-default.css b/packages/create-plugin/templates/minimum/src/css/51-modern-default.css deleted file mode 100644 index 57f0a89382..0000000000 --- a/packages/create-plugin/templates/minimum/src/css/51-modern-default.css +++ /dev/null @@ -1,665 +0,0 @@ -@charset "UTF-8"; -/* - * Copyright (c) 2014 Cybozu - * - * Licensed under the MIT License -*/ - -*[class|="kintoneplugin"] { - color: #333; - word-wrap: break-word; - font-size: 16px; - line-height: 1.5; -} - -:lang(us) *[class|="kintoneplugin"] { - font-family: 'HelveticaNeueW02-45Ligh', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(ja) *[class|="kintoneplugin"] { - font-family: 'メイリオ', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(zh) *[class|="kintoneplugin"] { - font-family: '微软雅黑', 'Microsoft YaHei', '新宋体', NSimSun, STHeiti, Hei, 'Heiti SC', sans-serif; -} - -/*Alert message*/ -/* -
-

Alert message、
Alert message

-

Alert message

-
-*/ -.kintoneplugin-alert { - position: relative; - display: block; - margin: 8px 0; - padding: 4px 18px; - background: #e74c3c; - color: #f6f6f6; -} - -/* Row for the settings */ -/* -
Settings 1
-
Settings 2
-*/ -.kintoneplugin-row { - margin-bottom: 24px; -} - -/* Title for settings*/ -/* Labels */ -/* -
Title
-*/ -.kintoneplugin-label { - margin-bottom: 8px; - font-weight: bold; -} - -/* Heading for each settings*/ -/* Heading */ -/* -
Heading for the setting
-*/ -.kintoneplugin-label { - margin-bottom: 8px; - font-weight: bold; -} - -/* Title for each settings */ -/* Title */ -/* -
Title of the setting
-*/ -.kintoneplugin-title { - margin-bottom: 8px; -} - -/* Description for each settings */ -/* Description */ -/* -
Description of the setting
-*/ -.kintoneplugin-desc { - margin-bottom: 8px; - font-size: 14px; - color: #888; -} - -/* Required settings*/ -/* -
Title*
-*/ -.kintoneplugin-require { - color: #c09853; -} - -/* Input (text box) */ -/* -
- -
-*/ -.kintoneplugin-input-outer { - position: relative; - display: inline-block; - vertical-align: top; -} - -.kintoneplugin-input-text { - display: inline-block; - box-sizing: border-box; - margin: 0; - padding: 0 8px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 4px 4px 12px #f5f5f5 inset, -4px -4px 12px #f5f5f5 inset; - color: #a7a7a7; - font-size: 14px; -} - -.kintoneplugin-input-text:focus { - background-color: #e2f2fe; - box-shadow: none; - color: #000; -} - -/* Check box */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-
-
-
-*/ -.kintoneplugin-input-checkbox-item { - display: block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; -} - -.kintoneplugin-input-checkbox-item-block { - display: block; -} -.kintoneplugin-input-checkbox-item-inline { - display: inline-block; -} - -.kintoneplugin-input-checkbox-item:hover + label { - color: #666; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - font-size: 14px; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - position: absolute; - top: 50%; - left: -30px; - display: inline-block; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: #fff; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5mGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU0OTExLCAyMDEzLzEwLzI5LTExOjQ3OjE2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTExLTA1VDE1OjE2OjQ0KzA5OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTExLTA3VDE3OjI3OjA5KzA5OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmM0ZThhODkwLTIzMTYtNGE0Yy04YTYxLTM3Y2E1OWUzYjkzOTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFRkZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDozMUQ4RkVFQ0ZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFREZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxRDhGRUVGRkZFMDExRTNBQkE4Q0IwNUYxMEQ4OTA4PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjNGU4YTg5MC0yMzE2LTRhNGMtOGE2MS0zN2NhNTllM2I5Mzk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PlzrgSQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAATBJREFUeNrslMtOAzEMRY9fldj2/39x2FVFzcRmMZNOKZQWBCu4m2QRnVzHuZbD4VCtNdo8kz2pKoaKbf+R5LwRVJVdBBE7/NQaL8cjPZPMJKu245VwF1uIKqbKPHeeAG+t0TPZ7/eEO1XFMHvp+kPkereokr0zTc+cTg2vWtxFBG7Gd9VF6JlYJV4FmUX2BDMyE1kt3HM6zpgZvXcyl+fy616IyBk61s80QNsloKPPP6FB0aKg6lzqIyXfeobBUX5B/9A/DV2zwwPhuTFU5F0Sffvw2+e/jt5nwKp6E2cR8EIwU0yXCWVfnFQDqKqoLm7dTMlutN6p1emjkT2Xvg5oM0NV8V0E89yZpmkZgRelPwKtdXU3TITwwCOCJ4F2amQl5DZt7kIv2u1qeDjhwesANeG11rjZfScAAAAASUVORK5CYII=) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwMkNFQUUzRkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwMkNFQUU0RkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAyQ0VBRTFGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyQ0VBRTJGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TrKxVAAABt0lEQVR42rzVSy8DURQH8P+0HaopoV7TkLAoCRYshNjYaTxiZcmexEZsxBeQiEWrC9/AzkpFCCsSQhALEY8uEH3QqXjUtNPpTN07EQumpvpwlneSX/5n5pw7zJFfCLr3w9bTkAgDg6xLSQEdXDGmeqqjzNjKreB7kkqqLEbkWrwgw2FjYyaSUG4sZ+EdbcwZHV6+AfUMubSsVdQzoACVNXr3IiEhp/KHnj/GMeH1w3PA402Ufzw3/RW8joiY3gzhPBzHcUBAS5UZQ82l+knfJQVnJM33uiLg5FoAl7wIOoC9DVbUl7H67UeEJOZ2whhf9WPvTvg6v+A/QQLLZNI76yxwD9jRzpn10d1bAUuHEdy/SpjZCuEkEFPBqfWgmpRuThcBXQSs00ip+U7baswYaS3Dli+Kh2gSs9shWFgDfE8JFeymCQftmm2nTdpUWYQFpx1ORyliSUVNTJMmZEVNuKgDpv36FSVGzDs5gGzHxvWbekZBz2D6ljMaKRuF+zi8JxQ8x+WMQd05pbCr3w6RbE6mYEbDX2s1/d/u/4oqqfyC1DORX4CR3PzqBZuPm596TCH+UR8CDAC9yr4WxILwPAAAAABJRU5ErkJggg==) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled]:checked + label:after { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5N0VENzg3MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ5N0VENzg4MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDk3RUQ3ODUwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDk3RUQ3ODYwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4bu7OxAAABBUlEQVR42mK8fPXacwYGBh4G6oEvLECCH4gvAvEbKhgoAsT6IEP/Qg30pYKhm0HmMTHQAAw6Q+WAmI2ahmoB8XQgzsOWcsgxVAWIe4HYC4i7gdiOWEO5gFgHi7gaEE8FYg8ofw0QPyHGUCEgrgbimUBshSSuATXQDcnAfCC+hG4ACxZDQd6pgrI7oRq/AXE/ELsgGVgIxM+weROboVeAeA4QpwCxDRCfRZOHGfgEV6BjM/QOEJdC2SlocuugLn9GTjr9AMTlUBcjG5hLyEBcLoWBd1CDQSlBgFgDCRkKMxgUfhzEGkiMoSDwasgXKHi9zwwtsTdTqeRnBhn6EUc+Jxd8BAgwAIGUL+JG+jF3AAAAAElFTkSuQmCC); -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - display: none; -} - -/* Dropdown */ -/* -
-
-
Dropdown
-
-
-
-
Option A
-
Option B
-
Option C
-
-*/ -.kintoneplugin-dropdown-outer { - display: inline-block; -} - -.kintoneplugin-dropdown { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - margin-bottom: 0; - padding: 0 16px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-overflow: ellipsis; -} - -.kintoneplugin-dropdown:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.kintoneplugin-dropdown-selected { - padding-right: 48px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat right center; -} - -.kintoneplugin-dropdown-selected-name { - color: #3498db; - font-size: 14px; - line-height: 48px; -} - -.kintoneplugin-dropdown-list { - padding: 12px 0 0 0; - min-width: 280px; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); - line-height: 1; -} - -.kintoneplugin-dropdown-list-item { - padding: 1px 16px 8px 25px; - line-height: 1; - cursor: pointer; -} - -.kintoneplugin-dropdown-list-item-name { - font: normal 13px Arial, sans-serif; - line-height: 1; -} - -.kintoneplugin-dropdown-list-item-selected { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVFNDNBMDI0MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVFNDNBMDI1MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU0M0EwMjIwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUU0M0EwMjMwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4n981NAAABVElEQVR42mL4//8/AzH44Ydf7D///AOzidJw9eV3Ps/F9392H32V8enHH0ZGsE484Pbbn1y5255/vfb6BwPIpnkBstpMIImvv/8xXnn1gx9dw623P7mztzz7evPNTwZmIN9Onue+DB/rM6a33/4wtR163Zq+6emHY4++ScE03Hjzkweo4cvNtz8Z/v77z2AizXV/gqekur4ExwfG9dc+GiZueHKOj52JQY6fjWGip6QIFxvTz4Jtzz9ff/ODAaiewRykwUtSA2jLL5CBjLfe/OTqPPJq7e47XzzYWZgYFAVZGbhYmRguv/zJ8PPvPwwNYE2ggHj//S9T2a4XW3fc+ewBshFk+tdf/xhMpbmeTvKSVJTmY/2N7Fd46L0DaizfDdR4+7MHiG+GQwMYIMcHKFAiVz86D4qTJx9/seKKN4x4evnlD8vPv/+Z5fhZf+KKO4AAAwB1mv8yxhgabQAAAABJRU5ErkJggg==) no-repeat 7px 4px; -} - -.kintoneplugin-dropdown-list-item-selected .kintoneplugin-dropdown-list-item-name { - color: #3498db; -} - -/* Dropdown (Simple) */ -/* -
-
- -
-
-*/ -.kintoneplugin-select-outer { - display: inline-block; -} - -.kintoneplugin-select { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - padding: 0 32px 0 8px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - text-overflow: ellipsis; -} - -.kintoneplugin-select:after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - display: block; - width: 32px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat center center transparent; - content: ""; - pointer-events: none; -} - -.kintoneplugin-select:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.lt-ie9 .kintoneplugin-select:hover { - background-color: transparent; -} - -.kintoneplugin-select select { - margin: 0; - min-width: 140px; - width: 144%; - height: 48px; - outline: none; - border: 0 none; - background-color: transparent; - color: #3498db; - font-size: 13px; - cursor: pointer; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: none; - appearance: none; -} - -.kintoneplugin-select option { - background-color: #fff; - color: #333; -} - -/* Radio Button */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-*/ -.kintoneplugin-input-radio-item { - display: inline-block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; - font-size: 14px; -} - -.kintoneplugin-input-radio-item:hover + label { - color: #666; -} - -.kintoneplugin-input-radio-item input[type="radio"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label:before { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - border: 1px solid #e3e7e8; - border-radius: 50%; - background: #fff; - box-shadow: 1px 1px 3px #f5f5f5 inset, -1px -1px 3px #f5f5f5 inset; - content: ""; - font-size: 14px; -} - -.kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - position: absolute; - top: 50%; - left: -26px; - margin-top: -7px; - width: 13px; - height: 13px; - border-radius: 50%; - background-color: #3498db; - content: ""; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - display: none; -} - -/* Button */ -/* - -*/ -.kintoneplugin-button-normal { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-normal:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - -/* Disabled button */ -/* - -*/ -.kintoneplugin-button-disabled { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #dbdcdd; - box-shadow: none; - color: #bababa; - text-align: center; - line-height: 48px; -} - -/* Dialog OK button */ -/* - -*/ -.kintoneplugin-button-dialog-ok { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #3498db; - box-shadow: 1px 1px 1px #8ccbee inset; - color: #fff; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-ok:hover { - background-color: #1d6fa5; - cursor: pointer; -} - -/* Dialog Cancel button */ -/* - -*/ -.kintoneplugin-button-dialog-cancel { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-cancel:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - - -/* Table */ -/* - - - - - - - - - - - - - -
Title1
-
-
-
- -
-
-
-
- - -
-*/ -.kintoneplugin-table { - border-collapse: collapse; - border-spacing: 0; - margin-left: 18px; - margin-bottom: 16px; -} - -.kintoneplugin-table-th { - border-color: #3498db; - height: 40px; - color: #fff; - box-sizing: border-box; - text-align: left; - font-weight: 400; - font-size: 12px; - white-space: nowrap; - border-width: 2px; - background-color: #3498db; -} - -.kintoneplugin-table-th .title { - display: inline-block; - padding: 4px 8px; - box-sizing: border-box; - min-width: 204px; -} - -.kintoneplugin-table-th-blankspace { - background-color: transparent; -} - -.kintoneplugin-table td { - border-color: #e3e7e8; - border-style: solid; - border-width: 0 1px 1px 0; - vertical-align: top; - padding: 4px 0; -} - -.kintoneplugin-table td:first-child { - border-left-width: 1px; -} - -.kintoneplugin-table td.kintoneplugin-table-td-operation { - border-right: 0; - border-bottom: 0; -} - -.kintoneplugin-table-td-control { - padding: 0 8px; -} - -.kintoneplugin-table-td-control-value { - overflow: hidden; - padding: 4px 0; - min-height: 21px; - color: #333; - background-color: transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image, .kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - display: inline-block; - width: 24px; - height: 24px; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image { - margin-left: 12px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABG0lEQVQ4ja2UMWrDUAyG31TIAUIO0cVbCMToHa0nyF4HqbtPkBPkAqEe/KQ4bclkCB06FDqoQ7Cb5j2/l1L/oMFY/pB+SzImoZzc1BZ1lpObpnKDsihLICkBubIohy4AuQKS0qIsk5DFajsBdAQo+0vIdQBJA+hosdpOgqD7h+c7S7yJQbwg3gSBgPz4J1DfuqNrkyHR2vswTPY5Ofip6mzqQDIfVVUTHpaXLVb/giFXxhhj5uvdLJGYhFmUw3y9mxlb1Jn/kj81Ikvy4X1T1FmwMkB+A+QWkFsgOamq9s/ILRC/Bisb1bPR/2ZszoDkBZC/bp6zc6uORtmAbslH281fV4OkSXjUAPLTIMjb1cg98zy6Vd2l7ecoom+t8LKwzLF7UgAAAABJRU5ErkJggg==) center center no-repeat; - border: 1px solid transparent; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image:hover { - cursor: pointer; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - margin-left: 4px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABPUlEQVQ4ja2UvW6DMBDHUTMkK0vyQJXoxoaUB2nWxEorMcNgD/gOWbIii7GSJx6Bmdegq1lKF6CUAqYSJ/2HE8dP5/tyHIvFcbynlLpxHO9tsZPGGDsCgI+IrwBAOrW+zxg7WiFBEOwAwEPE6xAyVpqmNwDwgiDYTYIIIU+c8/MSZCzO+XkSyDl//g9oIO8XKEmSk+1pc0LEa5Ikpx4GAP5csFIqVEqFFqjfw8ZdGyrLsjDLMhvs0hX+sBS4EkYIIQeHUuqOP5Rl+WGMqYwxVV3Xn03TfHW+MaYqiuIx/odS6k5mJqV811pHWusoz3OW5znrfK11JKV8m8xs05rZurkS9tPNpTkTQtyFEPfVc9Zm522yAd2Sb7abw6vRXoVZSJqmN0R8mQWNdxUm7hkAXADA/1OjtdZd2n6OFuwblG9sdxWO0ggAAAAASUVORK5CYII=) center center no-repeat; - border: 1px solid transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image:hover { - cursor: pointer; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAACi0lEQVQ4jZ2UT0hUQRzHp0uHDtFVk0QqTGtdddXVN/Pe7ubuuu3Me7sY2s1jRZcOQX+kQC+dkrr15xAIElhIEBSZloKHPHTMIlHS9r2ZNdvUNK1Evh3S1WVdNX/wuf1+H+bHzHcIyVET4ZoiJViLjLKrjmBtUtBrdpSetwVzE0L25JrLKBlkh6RgHZJTWwmGLDidk5x2qYhWvaXIidKQ5Gx0U8kGkoJBCfpTcXZpU5HNNS45+7WdaKNwJmZgJORtz1wtqhVKQSd3Klpj2tSRMg28NtzhdZlgHf8rUoJBCoZZy8B4Q+27+578fWQiXFMkOfu6W5kSFL8bA3hQUWwRJVhLdqMOZW7Daq/NKVaa6tFdV9ZJJKetGRLLgBOogENL4bAc0FI4QQ+UZUByipSpIylYP3EEa0vLIrWQfjcWeh5hOTGBP2OfshkfxfLkZ8zduw1HOwZlGZgSOuZjvgGiOL2Rlp2qg6yvxNzdDiwNvsJi3/Ns+l9gaaAX329eh2OcgDR1TJs6Zi3jDVFcuyA3rhnzwa4tRsKVj4S7IJuyAiRcB+Hox6HifticYrHRj7eBqh6SiHjLFGcLGRdgGVAxP1TMlwP/vx7BYEcpcCaEO+6j59Zi1L2bp5HgFPNxH2Ysw24tKcwjhBDyJaJVJ9OZ2xkOp1CCAc1BdFaXXMyI1CTXrkybOr6ZOuQOTpRcFY2E6540EbI3K+zvQ972pGBIWQaSpg6bU0i+/todTmFzioW4D2iux8eG2p6n5eUHcn5Dw4Gq6FhEG0qZOlZOBzAb8yG5GuqlRj/QHMSU0Me7akoub/mfpYXeI/uHfJXmM8318EPY2/sj7h+ctfS+4ZOex7dch8++9JTkbTb3FyHXv8RgEtykAAAAAElFTkSuQmCC) center center no-repeat; -} diff --git a/packages/create-plugin/templates/minimum/src/css/config.css b/packages/create-plugin/templates/minimum/src/css/config.css deleted file mode 100644 index 36bb4c5b54..0000000000 --- a/packages/create-plugin/templates/minimum/src/css/config.css +++ /dev/null @@ -1,7 +0,0 @@ -.settings-heading { - padding: 1em 0; -} - -.kintoneplugin-input-text { - width: 20em; -} \ No newline at end of file diff --git a/packages/create-plugin/templates/minimum/src/css/desktop.css b/packages/create-plugin/templates/minimum/src/css/desktop.css deleted file mode 100644 index 661fa70c85..0000000000 --- a/packages/create-plugin/templates/minimum/src/css/desktop.css +++ /dev/null @@ -1,10 +0,0 @@ -.plugin-space-heading { - font-size: 1.5rem; - margin: 0.8rem; -} -.plugin-space-message { - display: inline-block; - font-size: 1.2em; - margin: 0.8rem; - margin-top: 0; -} diff --git a/packages/create-plugin/templates/minimum/src/css/mobile.css b/packages/create-plugin/templates/minimum/src/css/mobile.css deleted file mode 100644 index 661fa70c85..0000000000 --- a/packages/create-plugin/templates/minimum/src/css/mobile.css +++ /dev/null @@ -1,10 +0,0 @@ -.plugin-space-heading { - font-size: 1.5rem; - margin: 0.8rem; -} -.plugin-space-message { - display: inline-block; - font-size: 1.2em; - margin: 0.8rem; - margin-top: 0; -} diff --git a/packages/create-plugin/templates/minimum/src/html/config.html.tmpl b/packages/create-plugin/templates/minimum/src/html/config.html.tmpl deleted file mode 100644 index 7d518b6c6f..0000000000 --- a/packages/create-plugin/templates/minimum/src/html/config.html.tmpl +++ /dev/null @@ -1,16 +0,0 @@ -
-

Settings for <%= name.en %>

-

This message is displayed on the app page after the app has been updated.

-
-

- -

-

- - -

-
-
\ No newline at end of file diff --git a/packages/create-plugin/templates/minimum/src/image/icon.png b/packages/create-plugin/templates/minimum/src/image/icon.png deleted file mode 100644 index aed0c9ff2f..0000000000 Binary files a/packages/create-plugin/templates/minimum/src/image/icon.png and /dev/null differ diff --git a/packages/create-plugin/templates/minimum/src/js/config.js b/packages/create-plugin/templates/minimum/src/js/config.js deleted file mode 100644 index b3e5781f98..0000000000 --- a/packages/create-plugin/templates/minimum/src/js/config.js +++ /dev/null @@ -1,25 +0,0 @@ -(function (PLUGIN_ID) { - const formEl = document.querySelector('.js-submit-settings'); - const cancelButtonEl = document.querySelector('.js-cancel-button'); - const messageEl = document.querySelector('.js-text-message'); - if (!(formEl && cancelButtonEl && messageEl)) { - throw new Error('Required elements do not exist.'); - } - - const config = kintone.plugin.app.getConfig(PLUGIN_ID); - if (config.message) { - messageEl.value = config.message; - } - - formEl.addEventListener('submit', (e) => { - e.preventDefault(); - kintone.plugin.app.setConfig({ message: messageEl.value }, () => { - alert('The plug-in settings have been saved. Please update the app!'); - window.location.href = '../../flow?app=' + kintone.app.getId(); - }); - }); - - cancelButtonEl.addEventListener('click', () => { - window.location.href = '../../' + kintone.app.getId() + '/plugin/'; - }); -})(kintone.$PLUGIN_ID); diff --git a/packages/create-plugin/templates/minimum/src/js/desktop.js b/packages/create-plugin/templates/minimum/src/js/desktop.js deleted file mode 100644 index 5baa712fcb..0000000000 --- a/packages/create-plugin/templates/minimum/src/js/desktop.js +++ /dev/null @@ -1,22 +0,0 @@ -(function (PLUGIN_ID) { - kintone.events.on('app.record.index.show', () => { - const spaceEl = kintone.app.getHeaderSpaceElement(); - if (spaceEl === null) { - throw new Error('The header element is unavailable on this page.'); - } - - const fragment = document.createDocumentFragment(); - const headingEl = document.createElement('h3'); - const messageEl = document.createElement('p'); - - const config = kintone.plugin.app.getConfig(PLUGIN_ID); - messageEl.textContent = config.message; - messageEl.classList.add('plugin-space-message'); - headingEl.textContent = 'Hello kintone plugin!'; - headingEl.classList.add('plugin-space-heading'); - - fragment.appendChild(headingEl); - fragment.appendChild(messageEl); - spaceEl.appendChild(fragment); - }); -})(kintone.$PLUGIN_ID); diff --git a/packages/create-plugin/templates/minimum/src/js/mobile.js b/packages/create-plugin/templates/minimum/src/js/mobile.js deleted file mode 100644 index e88ee11cc3..0000000000 --- a/packages/create-plugin/templates/minimum/src/js/mobile.js +++ /dev/null @@ -1,22 +0,0 @@ -(function (PLUGIN_ID) { - kintone.events.on('mobile.app.record.index.show', () => { - const spaceEl = kintone.mobile.app.getHeaderSpaceElement(); - if (spaceEl === null) { - throw new Error('The header element is unavailable on this page.'); - } - - const fragment = document.createDocumentFragment(); - const headingEl = document.createElement('h3'); - const messageEl = document.createElement('p'); - - const config = kintone.plugin.app.getConfig(PLUGIN_ID); - messageEl.textContent = config.message; - messageEl.classList.add('plugin-space-message'); - headingEl.textContent = 'Hello kintone plugin!'; - headingEl.classList.add('plugin-space-heading'); - - fragment.appendChild(headingEl); - fragment.appendChild(messageEl); - spaceEl.appendChild(fragment); - }); -})(kintone.$PLUGIN_ID); diff --git a/packages/create-plugin/templates/minimum/with-plugin-uploader.json b/packages/create-plugin/templates/minimum/with-plugin-uploader.json deleted file mode 100644 index 7fff55d13c..0000000000 --- a/packages/create-plugin/templates/minimum/with-plugin-uploader.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "scripts": { - "start": "node scripts/npm-start.js", - "upload": "kintone-plugin-uploader dist/plugin.zip --watch --waiting-dialog-ms 3000" - }, - "devDependencies": { - "@kintone/plugin-uploader": "^10.0.1", - "npm-run-all": "^4.1.5" - } -} diff --git a/packages/create-plugin/templates/modern/.gitignore b/packages/create-plugin/templates/modern/.gitignore deleted file mode 100644 index 846443267f..0000000000 --- a/packages/create-plugin/templates/modern/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -dist/ -plugin/js/ \ No newline at end of file diff --git a/packages/create-plugin/templates/modern/eslint.config.mjs b/packages/create-plugin/templates/modern/eslint.config.mjs deleted file mode 100644 index 51249701c8..0000000000 --- a/packages/create-plugin/templates/modern/eslint.config.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import kintoneCustomizePrettier from "@cybozu/eslint-config/flat/presets/kintone-customize-prettier.js"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [...kintoneCustomizePrettier]; diff --git a/packages/create-plugin/templates/modern/package.json b/packages/create-plugin/templates/modern/package.json deleted file mode 100644 index 7211e84178..0000000000 --- a/packages/create-plugin/templates/modern/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "kintone-plugin-template-modern", - "version": "0.1.0", - "scripts": { - "start": "npm run develop", - "develop": "npm run build -- --watch", - "build": "cross-env NODE_ENV=development webpack", - "build:prod": "cross-env NODE_ENV=production webpack", - "dts-gen": "kintone-dts-gen", - "lint": "eslint src" - }, - "dependencies": { - "core-js": "3.46.0", - "@kintone/rest-api-client": "6.2.1" - }, - "devDependencies": { - "@babel/core": "7.29.7", - "@babel/preset-env": "7.29.7", - "@babel/preset-react": "7.29.7", - "@babel/preset-typescript": "7.29.7", - "@cybozu/eslint-config": "24.3.0", - "@kintone/dts-gen": "9.0.8", - "@kintone/webpack-plugin-kintone-plugin": "9.0.5", - "ajv": "8.20.0", - "babel-loader": "9.2.1", - "cross-env": "10.1.0", - "eslint": "9.38.0", - "npm-run-all": "4.1.5", - "prettier": "3.6.2", - "typescript": "5.9.3", - "webpack": "5.104.1", - "webpack-cli": "7.2.2" - } -} diff --git a/packages/create-plugin/templates/modern/plugin/css/51-modern-default.css b/packages/create-plugin/templates/modern/plugin/css/51-modern-default.css deleted file mode 100644 index 57f0a89382..0000000000 --- a/packages/create-plugin/templates/modern/plugin/css/51-modern-default.css +++ /dev/null @@ -1,665 +0,0 @@ -@charset "UTF-8"; -/* - * Copyright (c) 2014 Cybozu - * - * Licensed under the MIT License -*/ - -*[class|="kintoneplugin"] { - color: #333; - word-wrap: break-word; - font-size: 16px; - line-height: 1.5; -} - -:lang(us) *[class|="kintoneplugin"] { - font-family: 'HelveticaNeueW02-45Ligh', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(ja) *[class|="kintoneplugin"] { - font-family: 'メイリオ', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(zh) *[class|="kintoneplugin"] { - font-family: '微软雅黑', 'Microsoft YaHei', '新宋体', NSimSun, STHeiti, Hei, 'Heiti SC', sans-serif; -} - -/*Alert message*/ -/* -
-

Alert message、
Alert message

-

Alert message

-
-*/ -.kintoneplugin-alert { - position: relative; - display: block; - margin: 8px 0; - padding: 4px 18px; - background: #e74c3c; - color: #f6f6f6; -} - -/* Row for the settings */ -/* -
Settings 1
-
Settings 2
-*/ -.kintoneplugin-row { - margin-bottom: 24px; -} - -/* Title for settings*/ -/* Labels */ -/* -
Title
-*/ -.kintoneplugin-label { - margin-bottom: 8px; - font-weight: bold; -} - -/* Heading for each settings*/ -/* Heading */ -/* -
Heading for the setting
-*/ -.kintoneplugin-label { - margin-bottom: 8px; - font-weight: bold; -} - -/* Title for each settings */ -/* Title */ -/* -
Title of the setting
-*/ -.kintoneplugin-title { - margin-bottom: 8px; -} - -/* Description for each settings */ -/* Description */ -/* -
Description of the setting
-*/ -.kintoneplugin-desc { - margin-bottom: 8px; - font-size: 14px; - color: #888; -} - -/* Required settings*/ -/* -
Title*
-*/ -.kintoneplugin-require { - color: #c09853; -} - -/* Input (text box) */ -/* -
- -
-*/ -.kintoneplugin-input-outer { - position: relative; - display: inline-block; - vertical-align: top; -} - -.kintoneplugin-input-text { - display: inline-block; - box-sizing: border-box; - margin: 0; - padding: 0 8px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 4px 4px 12px #f5f5f5 inset, -4px -4px 12px #f5f5f5 inset; - color: #a7a7a7; - font-size: 14px; -} - -.kintoneplugin-input-text:focus { - background-color: #e2f2fe; - box-shadow: none; - color: #000; -} - -/* Check box */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-
-
-
-*/ -.kintoneplugin-input-checkbox-item { - display: block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; -} - -.kintoneplugin-input-checkbox-item-block { - display: block; -} -.kintoneplugin-input-checkbox-item-inline { - display: inline-block; -} - -.kintoneplugin-input-checkbox-item:hover + label { - color: #666; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - font-size: 14px; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - position: absolute; - top: 50%; - left: -30px; - display: inline-block; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: #fff; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5mGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU0OTExLCAyMDEzLzEwLzI5LTExOjQ3OjE2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTExLTA1VDE1OjE2OjQ0KzA5OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTExLTA3VDE3OjI3OjA5KzA5OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmM0ZThhODkwLTIzMTYtNGE0Yy04YTYxLTM3Y2E1OWUzYjkzOTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFRkZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDozMUQ4RkVFQ0ZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFREZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxRDhGRUVGRkZFMDExRTNBQkE4Q0IwNUYxMEQ4OTA4PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjNGU4YTg5MC0yMzE2LTRhNGMtOGE2MS0zN2NhNTllM2I5Mzk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PlzrgSQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAATBJREFUeNrslMtOAzEMRY9fldj2/39x2FVFzcRmMZNOKZQWBCu4m2QRnVzHuZbD4VCtNdo8kz2pKoaKbf+R5LwRVJVdBBE7/NQaL8cjPZPMJKu245VwF1uIKqbKPHeeAG+t0TPZ7/eEO1XFMHvp+kPkereokr0zTc+cTg2vWtxFBG7Gd9VF6JlYJV4FmUX2BDMyE1kt3HM6zpgZvXcyl+fy616IyBk61s80QNsloKPPP6FB0aKg6lzqIyXfeobBUX5B/9A/DV2zwwPhuTFU5F0Sffvw2+e/jt5nwKp6E2cR8EIwU0yXCWVfnFQDqKqoLm7dTMlutN6p1emjkT2Xvg5oM0NV8V0E89yZpmkZgRelPwKtdXU3TITwwCOCJ4F2amQl5DZt7kIv2u1qeDjhwesANeG11rjZfScAAAAASUVORK5CYII=) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwMkNFQUUzRkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwMkNFQUU0RkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAyQ0VBRTFGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyQ0VBRTJGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TrKxVAAABt0lEQVR42rzVSy8DURQH8P+0HaopoV7TkLAoCRYshNjYaTxiZcmexEZsxBeQiEWrC9/AzkpFCCsSQhALEY8uEH3QqXjUtNPpTN07EQumpvpwlneSX/5n5pw7zJFfCLr3w9bTkAgDg6xLSQEdXDGmeqqjzNjKreB7kkqqLEbkWrwgw2FjYyaSUG4sZ+EdbcwZHV6+AfUMubSsVdQzoACVNXr3IiEhp/KHnj/GMeH1w3PA402Ufzw3/RW8joiY3gzhPBzHcUBAS5UZQ82l+knfJQVnJM33uiLg5FoAl7wIOoC9DVbUl7H67UeEJOZ2whhf9WPvTvg6v+A/QQLLZNI76yxwD9jRzpn10d1bAUuHEdy/SpjZCuEkEFPBqfWgmpRuThcBXQSs00ip+U7baswYaS3Dli+Kh2gSs9shWFgDfE8JFeymCQftmm2nTdpUWYQFpx1ORyliSUVNTJMmZEVNuKgDpv36FSVGzDs5gGzHxvWbekZBz2D6ljMaKRuF+zi8JxQ8x+WMQd05pbCr3w6RbE6mYEbDX2s1/d/u/4oqqfyC1DORX4CR3PzqBZuPm596TCH+UR8CDAC9yr4WxILwPAAAAABJRU5ErkJggg==) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled]:checked + label:after { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5N0VENzg3MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ5N0VENzg4MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDk3RUQ3ODUwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDk3RUQ3ODYwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4bu7OxAAABBUlEQVR42mK8fPXacwYGBh4G6oEvLECCH4gvAvEbKhgoAsT6IEP/Qg30pYKhm0HmMTHQAAw6Q+WAmI2ahmoB8XQgzsOWcsgxVAWIe4HYC4i7gdiOWEO5gFgHi7gaEE8FYg8ofw0QPyHGUCEgrgbimUBshSSuATXQDcnAfCC+hG4ACxZDQd6pgrI7oRq/AXE/ELsgGVgIxM+weROboVeAeA4QpwCxDRCfRZOHGfgEV6BjM/QOEJdC2SlocuugLn9GTjr9AMTlUBcjG5hLyEBcLoWBd1CDQSlBgFgDCRkKMxgUfhzEGkiMoSDwasgXKHi9zwwtsTdTqeRnBhn6EUc+Jxd8BAgwAIGUL+JG+jF3AAAAAElFTkSuQmCC); -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - display: none; -} - -/* Dropdown */ -/* -
-
-
Dropdown
-
-
-
-
Option A
-
Option B
-
Option C
-
-*/ -.kintoneplugin-dropdown-outer { - display: inline-block; -} - -.kintoneplugin-dropdown { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - margin-bottom: 0; - padding: 0 16px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-overflow: ellipsis; -} - -.kintoneplugin-dropdown:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.kintoneplugin-dropdown-selected { - padding-right: 48px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat right center; -} - -.kintoneplugin-dropdown-selected-name { - color: #3498db; - font-size: 14px; - line-height: 48px; -} - -.kintoneplugin-dropdown-list { - padding: 12px 0 0 0; - min-width: 280px; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); - line-height: 1; -} - -.kintoneplugin-dropdown-list-item { - padding: 1px 16px 8px 25px; - line-height: 1; - cursor: pointer; -} - -.kintoneplugin-dropdown-list-item-name { - font: normal 13px Arial, sans-serif; - line-height: 1; -} - -.kintoneplugin-dropdown-list-item-selected { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVFNDNBMDI0MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVFNDNBMDI1MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU0M0EwMjIwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUU0M0EwMjMwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4n981NAAABVElEQVR42mL4//8/AzH44Ydf7D///AOzidJw9eV3Ps/F9392H32V8enHH0ZGsE484Pbbn1y5255/vfb6BwPIpnkBstpMIImvv/8xXnn1gx9dw623P7mztzz7evPNTwZmIN9Onue+DB/rM6a33/4wtR163Zq+6emHY4++ScE03Hjzkweo4cvNtz8Z/v77z2AizXV/gqekur4ExwfG9dc+GiZueHKOj52JQY6fjWGip6QIFxvTz4Jtzz9ff/ODAaiewRykwUtSA2jLL5CBjLfe/OTqPPJq7e47XzzYWZgYFAVZGbhYmRguv/zJ8PPvPwwNYE2ggHj//S9T2a4XW3fc+ewBshFk+tdf/xhMpbmeTvKSVJTmY/2N7Fd46L0DaizfDdR4+7MHiG+GQwMYIMcHKFAiVz86D4qTJx9/seKKN4x4evnlD8vPv/+Z5fhZf+KKO4AAAwB1mv8yxhgabQAAAABJRU5ErkJggg==) no-repeat 7px 4px; -} - -.kintoneplugin-dropdown-list-item-selected .kintoneplugin-dropdown-list-item-name { - color: #3498db; -} - -/* Dropdown (Simple) */ -/* -
-
- -
-
-*/ -.kintoneplugin-select-outer { - display: inline-block; -} - -.kintoneplugin-select { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - padding: 0 32px 0 8px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - text-overflow: ellipsis; -} - -.kintoneplugin-select:after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - display: block; - width: 32px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat center center transparent; - content: ""; - pointer-events: none; -} - -.kintoneplugin-select:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.lt-ie9 .kintoneplugin-select:hover { - background-color: transparent; -} - -.kintoneplugin-select select { - margin: 0; - min-width: 140px; - width: 144%; - height: 48px; - outline: none; - border: 0 none; - background-color: transparent; - color: #3498db; - font-size: 13px; - cursor: pointer; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: none; - appearance: none; -} - -.kintoneplugin-select option { - background-color: #fff; - color: #333; -} - -/* Radio Button */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-*/ -.kintoneplugin-input-radio-item { - display: inline-block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; - font-size: 14px; -} - -.kintoneplugin-input-radio-item:hover + label { - color: #666; -} - -.kintoneplugin-input-radio-item input[type="radio"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label:before { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - border: 1px solid #e3e7e8; - border-radius: 50%; - background: #fff; - box-shadow: 1px 1px 3px #f5f5f5 inset, -1px -1px 3px #f5f5f5 inset; - content: ""; - font-size: 14px; -} - -.kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - position: absolute; - top: 50%; - left: -26px; - margin-top: -7px; - width: 13px; - height: 13px; - border-radius: 50%; - background-color: #3498db; - content: ""; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - display: none; -} - -/* Button */ -/* - -*/ -.kintoneplugin-button-normal { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-normal:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - -/* Disabled button */ -/* - -*/ -.kintoneplugin-button-disabled { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #dbdcdd; - box-shadow: none; - color: #bababa; - text-align: center; - line-height: 48px; -} - -/* Dialog OK button */ -/* - -*/ -.kintoneplugin-button-dialog-ok { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #3498db; - box-shadow: 1px 1px 1px #8ccbee inset; - color: #fff; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-ok:hover { - background-color: #1d6fa5; - cursor: pointer; -} - -/* Dialog Cancel button */ -/* - -*/ -.kintoneplugin-button-dialog-cancel { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-cancel:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - - -/* Table */ -/* - - - - - - - - - - - - - -
Title1
-
-
-
- -
-
-
-
- - -
-*/ -.kintoneplugin-table { - border-collapse: collapse; - border-spacing: 0; - margin-left: 18px; - margin-bottom: 16px; -} - -.kintoneplugin-table-th { - border-color: #3498db; - height: 40px; - color: #fff; - box-sizing: border-box; - text-align: left; - font-weight: 400; - font-size: 12px; - white-space: nowrap; - border-width: 2px; - background-color: #3498db; -} - -.kintoneplugin-table-th .title { - display: inline-block; - padding: 4px 8px; - box-sizing: border-box; - min-width: 204px; -} - -.kintoneplugin-table-th-blankspace { - background-color: transparent; -} - -.kintoneplugin-table td { - border-color: #e3e7e8; - border-style: solid; - border-width: 0 1px 1px 0; - vertical-align: top; - padding: 4px 0; -} - -.kintoneplugin-table td:first-child { - border-left-width: 1px; -} - -.kintoneplugin-table td.kintoneplugin-table-td-operation { - border-right: 0; - border-bottom: 0; -} - -.kintoneplugin-table-td-control { - padding: 0 8px; -} - -.kintoneplugin-table-td-control-value { - overflow: hidden; - padding: 4px 0; - min-height: 21px; - color: #333; - background-color: transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image, .kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - display: inline-block; - width: 24px; - height: 24px; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image { - margin-left: 12px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABG0lEQVQ4ja2UMWrDUAyG31TIAUIO0cVbCMToHa0nyF4HqbtPkBPkAqEe/KQ4bclkCB06FDqoQ7Cb5j2/l1L/oMFY/pB+SzImoZzc1BZ1lpObpnKDsihLICkBubIohy4AuQKS0qIsk5DFajsBdAQo+0vIdQBJA+hosdpOgqD7h+c7S7yJQbwg3gSBgPz4J1DfuqNrkyHR2vswTPY5Ofip6mzqQDIfVVUTHpaXLVb/giFXxhhj5uvdLJGYhFmUw3y9mxlb1Jn/kj81Ikvy4X1T1FmwMkB+A+QWkFsgOamq9s/ILRC/Bisb1bPR/2ZszoDkBZC/bp6zc6uORtmAbslH281fV4OkSXjUAPLTIMjb1cg98zy6Vd2l7ecoom+t8LKwzLF7UgAAAABJRU5ErkJggg==) center center no-repeat; - border: 1px solid transparent; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image:hover { - cursor: pointer; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - margin-left: 4px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABPUlEQVQ4ja2UvW6DMBDHUTMkK0vyQJXoxoaUB2nWxEorMcNgD/gOWbIii7GSJx6Bmdegq1lKF6CUAqYSJ/2HE8dP5/tyHIvFcbynlLpxHO9tsZPGGDsCgI+IrwBAOrW+zxg7WiFBEOwAwEPE6xAyVpqmNwDwgiDYTYIIIU+c8/MSZCzO+XkSyDl//g9oIO8XKEmSk+1pc0LEa5Ikpx4GAP5csFIqVEqFFqjfw8ZdGyrLsjDLMhvs0hX+sBS4EkYIIQeHUuqOP5Rl+WGMqYwxVV3Xn03TfHW+MaYqiuIx/odS6k5mJqV811pHWusoz3OW5znrfK11JKV8m8xs05rZurkS9tPNpTkTQtyFEPfVc9Zm522yAd2Sb7abw6vRXoVZSJqmN0R8mQWNdxUm7hkAXADA/1OjtdZd2n6OFuwblG9sdxWO0ggAAAAASUVORK5CYII=) center center no-repeat; - border: 1px solid transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image:hover { - cursor: pointer; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAACi0lEQVQ4jZ2UT0hUQRzHp0uHDtFVk0QqTGtdddXVN/Pe7ubuuu3Me7sY2s1jRZcOQX+kQC+dkrr15xAIElhIEBSZloKHPHTMIlHS9r2ZNdvUNK1Evh3S1WVdNX/wuf1+H+bHzHcIyVET4ZoiJViLjLKrjmBtUtBrdpSetwVzE0L25JrLKBlkh6RgHZJTWwmGLDidk5x2qYhWvaXIidKQ5Gx0U8kGkoJBCfpTcXZpU5HNNS45+7WdaKNwJmZgJORtz1wtqhVKQSd3Klpj2tSRMg28NtzhdZlgHf8rUoJBCoZZy8B4Q+27+578fWQiXFMkOfu6W5kSFL8bA3hQUWwRJVhLdqMOZW7Daq/NKVaa6tFdV9ZJJKetGRLLgBOogENL4bAc0FI4QQ+UZUByipSpIylYP3EEa0vLIrWQfjcWeh5hOTGBP2OfshkfxfLkZ8zduw1HOwZlGZgSOuZjvgGiOL2Rlp2qg6yvxNzdDiwNvsJi3/Ns+l9gaaAX329eh2OcgDR1TJs6Zi3jDVFcuyA3rhnzwa4tRsKVj4S7IJuyAiRcB+Hox6HifticYrHRj7eBqh6SiHjLFGcLGRdgGVAxP1TMlwP/vx7BYEcpcCaEO+6j59Zi1L2bp5HgFPNxH2Ysw24tKcwjhBDyJaJVJ9OZ2xkOp1CCAc1BdFaXXMyI1CTXrkybOr6ZOuQOTpRcFY2E6540EbI3K+zvQ972pGBIWQaSpg6bU0i+/todTmFzioW4D2iux8eG2p6n5eUHcn5Dw4Gq6FhEG0qZOlZOBzAb8yG5GuqlRj/QHMSU0Me7akoub/mfpYXeI/uHfJXmM8318EPY2/sj7h+ctfS+4ZOex7dch8++9JTkbTb3FyHXv8RgEtykAAAAAElFTkSuQmCC) center center no-repeat; -} diff --git a/packages/create-plugin/templates/modern/plugin/css/config.css b/packages/create-plugin/templates/modern/plugin/css/config.css deleted file mode 100644 index 36bb4c5b54..0000000000 --- a/packages/create-plugin/templates/modern/plugin/css/config.css +++ /dev/null @@ -1,7 +0,0 @@ -.settings-heading { - padding: 1em 0; -} - -.kintoneplugin-input-text { - width: 20em; -} \ No newline at end of file diff --git a/packages/create-plugin/templates/modern/plugin/css/desktop.css b/packages/create-plugin/templates/modern/plugin/css/desktop.css deleted file mode 100644 index 661fa70c85..0000000000 --- a/packages/create-plugin/templates/modern/plugin/css/desktop.css +++ /dev/null @@ -1,10 +0,0 @@ -.plugin-space-heading { - font-size: 1.5rem; - margin: 0.8rem; -} -.plugin-space-message { - display: inline-block; - font-size: 1.2em; - margin: 0.8rem; - margin-top: 0; -} diff --git a/packages/create-plugin/templates/modern/plugin/css/mobile.css b/packages/create-plugin/templates/modern/plugin/css/mobile.css deleted file mode 100644 index 661fa70c85..0000000000 --- a/packages/create-plugin/templates/modern/plugin/css/mobile.css +++ /dev/null @@ -1,10 +0,0 @@ -.plugin-space-heading { - font-size: 1.5rem; - margin: 0.8rem; -} -.plugin-space-message { - display: inline-block; - font-size: 1.2em; - margin: 0.8rem; - margin-top: 0; -} diff --git a/packages/create-plugin/templates/modern/plugin/html/config.html.tmpl b/packages/create-plugin/templates/modern/plugin/html/config.html.tmpl deleted file mode 100644 index 7d518b6c6f..0000000000 --- a/packages/create-plugin/templates/modern/plugin/html/config.html.tmpl +++ /dev/null @@ -1,16 +0,0 @@ -
-

Settings for <%= name.en %>

-

This message is displayed on the app page after the app has been updated.

-
-

- -

-

- - -

-
-
\ No newline at end of file diff --git a/packages/create-plugin/templates/modern/plugin/image/icon.png b/packages/create-plugin/templates/modern/plugin/image/icon.png deleted file mode 100644 index aed0c9ff2f..0000000000 Binary files a/packages/create-plugin/templates/modern/plugin/image/icon.png and /dev/null differ diff --git a/packages/create-plugin/templates/modern/scripts/npm-start.js b/packages/create-plugin/templates/modern/scripts/npm-start.js deleted file mode 100644 index cfda0813c7..0000000000 --- a/packages/create-plugin/templates/modern/scripts/npm-start.js +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-env node */ -"use strict"; - -const runAll = require("npm-run-all"); - -runAll(["develop", "upload"], { - parallel: true, - stdout: process.stdout, - stdin: process.stdin, -}).catch(({ results }) => { - results - .filter(({ code }) => code) - .forEach(({ name }) => { - console.log(`"npm run ${name}" was failed`); - }); -}); diff --git a/packages/create-plugin/templates/modern/src/js/config.ts b/packages/create-plugin/templates/modern/src/js/config.ts deleted file mode 100644 index ce037c47c0..0000000000 --- a/packages/create-plugin/templates/modern/src/js/config.ts +++ /dev/null @@ -1,29 +0,0 @@ -// You can use the ESModules syntax and @kintone/rest-api-client without additional settings. -// import { KintoneRestAPIClient } from "@kintone/rest-api-client"; - -// @ts-expect-error -const PLUGIN_ID = kintone.$PLUGIN_ID; - -const form = document.querySelector(".js-submit-settings"); -const cancelButton = document.querySelector(".js-cancel-button"); -const messageInput = - document.querySelector(".js-text-message"); -if (!(form && cancelButton && messageInput)) { - throw new Error("Required elements do not exist."); -} -const config = kintone.plugin.app.getConfig(PLUGIN_ID); - -if (config.message) { - messageInput.value = config.message; -} - -form.addEventListener("submit", (e) => { - e.preventDefault(); - kintone.plugin.app.setConfig({ message: messageInput.value }, () => { - alert("The plug-in settings have been saved. Please update the app!"); - window.location.href = "../../flow?app=" + kintone.app.getId(); - }); -}); -cancelButton.addEventListener("click", () => { - window.location.href = "../../" + kintone.app.getId() + "/plugin/"; -}); diff --git a/packages/create-plugin/templates/modern/src/js/desktop.ts b/packages/create-plugin/templates/modern/src/js/desktop.ts deleted file mode 100644 index 44db0e5264..0000000000 --- a/packages/create-plugin/templates/modern/src/js/desktop.ts +++ /dev/null @@ -1,26 +0,0 @@ -// You can use the ESModules syntax and @kintone/rest-api-client without additional settings. -// import { KintoneRestAPIClient } from "@kintone/rest-api-client"; - -// @ts-expect-error -const PLUGIN_ID = kintone.$PLUGIN_ID; - -kintone.events.on("app.record.index.show", () => { - const config = kintone.plugin.app.getConfig(PLUGIN_ID); - - const spaceElement = kintone.app.getHeaderSpaceElement(); - if (spaceElement === null) { - throw new Error("The header element is unavailable on this page"); - } - const fragment = document.createDocumentFragment(); - const headingEl = document.createElement("h3"); - const messageEl = document.createElement("p"); - - messageEl.classList.add("plugin-space-message"); - messageEl.textContent = config.message; - headingEl.classList.add("plugin-space-heading"); - headingEl.textContent = "Hello kintone plugin!"; - - fragment.appendChild(headingEl); - fragment.appendChild(messageEl); - spaceElement.appendChild(fragment); -}); diff --git a/packages/create-plugin/templates/modern/src/js/mobile.ts b/packages/create-plugin/templates/modern/src/js/mobile.ts deleted file mode 100644 index 1b264e9a3c..0000000000 --- a/packages/create-plugin/templates/modern/src/js/mobile.ts +++ /dev/null @@ -1,26 +0,0 @@ -// You can use the ESModules syntax and @kintone/rest-api-client without additional settings. -// import { KintoneRestAPIClient } from "@kintone/rest-api-client"; - -// @ts-expect-error -const PLUGIN_ID = kintone.$PLUGIN_ID; - -kintone.events.on("mobile.app.record.index.show", () => { - const config = kintone.plugin.app.getConfig(PLUGIN_ID); - - const spaceElement = kintone.mobile.app.getHeaderSpaceElement(); - if (spaceElement === null) { - throw new Error("The header element is unavailable on this page"); - } - const fragment = document.createDocumentFragment(); - const headingEl = document.createElement("h3"); - const messageEl = document.createElement("p"); - - messageEl.classList.add("plugin-space-message"); - messageEl.textContent = config.message; - headingEl.classList.add("plugin-space-heading"); - headingEl.textContent = "Hello kintone plugin!"; - - fragment.appendChild(headingEl); - fragment.appendChild(messageEl); - spaceElement.appendChild(fragment); -}); diff --git a/packages/create-plugin/templates/modern/tsconfig.json b/packages/create-plugin/templates/modern/tsconfig.json deleted file mode 100644 index bbf496064f..0000000000 --- a/packages/create-plugin/templates/modern/tsconfig.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ - "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - "lib": ["dom", "es2020"], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - "jsx": "react", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./plugin", /* Redirect output structure to the directory. */ - "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true, /* Skip type checking of declaration files. */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - }, - "include": [ - "src/**/*", - "./node_modules/@kintone/dts-gen/kintone.d.ts" - ] -} diff --git a/packages/create-plugin/templates/modern/webpack.config.template.js b/packages/create-plugin/templates/modern/webpack.config.template.js deleted file mode 100644 index 2c21f5fdae..0000000000 --- a/packages/create-plugin/templates/modern/webpack.config.template.js +++ /dev/null @@ -1,48 +0,0 @@ -/* eslint-env node */ -const path = require("path"); -const KintonePlugin = require("@kintone/webpack-plugin-kintone-plugin"); - -const isProduction = process.env.NODE_ENV === "production"; - -module.exports = { - mode: isProduction ? "production" : "development", - devtool: isProduction ? false : "inline-cheap-module-source-map", - entry: '%%placeholder_webpack_entry%%', - output: { - path: path.resolve(__dirname, "plugin", "js"), - filename: "[name].js", - }, - resolve: { - extensions: [".ts", ".tsx", ".js"], - }, - module: { - rules: [ - { - test: /\.[t|j]sx?$/, - loader: "babel-loader", - exclude: /node_modules/, - options: { - presets: [ - [ - "@babel/preset-env", - { - useBuiltIns: "usage", - corejs: 3, - modules: false, - }, - ], - "@babel/preset-typescript", - "@babel/preset-react", - ], - }, - }, - ], - }, - plugins: [ - new KintonePlugin({ - manifestJSONPath: "./plugin/manifest.json", - privateKeyPath: "./private.ppk", - pluginZipPath: "./dist/plugin.zip", - }), - ], -}; diff --git a/packages/create-plugin/templates/modern/webpack.entry.json b/packages/create-plugin/templates/modern/webpack.entry.json deleted file mode 100644 index 9e9ed75d6f..0000000000 --- a/packages/create-plugin/templates/modern/webpack.entry.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "default": { - "config": "./src/js/config.ts", - "desktop": "./src/js/desktop.ts" - }, - "mobile": { - "config": "./src/js/config.ts", - "desktop": "./src/js/desktop.ts", - "mobile": "./src/js/mobile.ts" - } -} diff --git a/packages/create-plugin/templates/modern/with-plugin-uploader.json b/packages/create-plugin/templates/modern/with-plugin-uploader.json deleted file mode 100644 index 6ed12a7cfd..0000000000 --- a/packages/create-plugin/templates/modern/with-plugin-uploader.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "scripts": { - "prestart": "npm run build", - "start": "node scripts/npm-start.js", - "upload": "kintone-plugin-uploader dist/plugin.zip --watch --waiting-dialog-ms 3000" - }, - "devDependencies": { - "@kintone/plugin-uploader": "^10.0.1" - } -} diff --git a/packages/create-plugin/tsconfig.json b/packages/create-plugin/tsconfig.json deleted file mode 100644 index 4cd4533af2..0000000000 --- a/packages/create-plugin/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./", - "typeRoots": [ - "node_modules/@types", - "../../node_modules/@types", - "types" - ] - }, - "include": ["src/**/*.ts"], - "exclude": ["**/__tests__/**", "**/*.test.ts", "**/*.spec.ts", "vitest.config.ts"] -} diff --git a/packages/create-plugin/tsconfig.test.json b/packages/create-plugin/tsconfig.test.json deleted file mode 100644 index 7b3b0bd6bf..0000000000 --- a/packages/create-plugin/tsconfig.test.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "noEmit": true, - "types": ["vitest/globals", "node"] - }, - "include": ["src", "__e2e__"], - "exclude": [] -} diff --git a/packages/create-plugin/types/global/index.d.ts b/packages/create-plugin/types/global/index.d.ts deleted file mode 100644 index bd3ccaf685..0000000000 --- a/packages/create-plugin/types/global/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -// see https://github.com/DefinitelyTyped/DefinitelyTyped/issues/24419 -declare interface Element {} -declare interface Document {} -declare interface NodeListOf {} - -/* eslint-disable no-var,vars-on-top */ -// We cannot use let,const to declare global object:( -// https://stackoverflow.com/a/69230938 -declare global { - var testStatuses: { [testPath: string]: "failed" | "passed" | "running" }; -} diff --git a/packages/create-plugin/vitest.config.ts b/packages/create-plugin/vitest.config.ts deleted file mode 100644 index 55c3ee095a..0000000000 --- a/packages/create-plugin/vitest.config.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - test: { - include: ["src/__tests__/**/*.test.ts"], - exclude: ["src/__tests__/generator.test.ts"], - environment: "node", - globals: true, - typecheck: { - tsconfig: "./tsconfig.test.json", - } - }, -}); diff --git a/packages/create-plugin/vitest.e2e.config.ts b/packages/create-plugin/vitest.e2e.config.ts deleted file mode 100644 index 552ebc8e98..0000000000 --- a/packages/create-plugin/vitest.e2e.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig } from "vitest/config"; - -const isRunOnActions = () => !!process.env.GITHUB_ACTIONS; - -export default defineConfig({ - test: { - include: ["__e2e__/**/*.test.ts"], - testTimeout: 120000, - environment: "node", - pool: "forks", - poolOptions: { - forks: { - singleFork: true, - }, - }, - retry: isRunOnActions() ? 3 : 0, - globals: true, - typecheck: { - tsconfig: "./tsconfig.test.json", - }, - }, -}); diff --git a/packages/create-plugin/vitest.generator.config.ts b/packages/create-plugin/vitest.generator.config.ts deleted file mode 100644 index 5ee2daa359..0000000000 --- a/packages/create-plugin/vitest.generator.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - test: { - include: ["src/__tests__/generator.test.ts"], - environment: "node", - testTimeout: 600000, - hookTimeout: 600000, - globals: true, - }, -}); diff --git a/packages/customize-uploader/.editorconfig b/packages/customize-uploader/.editorconfig deleted file mode 100755 index 0f1786729b..0000000000 --- a/packages/customize-uploader/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 2 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/packages/customize-uploader/.gitignore b/packages/customize-uploader/.gitignore deleted file mode 100755 index e4225a60e4..0000000000 --- a/packages/customize-uploader/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -dist/ -node_modules/ -manifest-test.json diff --git a/packages/customize-uploader/.prettierignore b/packages/customize-uploader/.prettierignore deleted file mode 100755 index ec6d3cdd7f..0000000000 --- a/packages/customize-uploader/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -package.json diff --git a/packages/customize-uploader/CHANGELOG.md b/packages/customize-uploader/CHANGELOG.md deleted file mode 100755 index 426d590390..0000000000 --- a/packages/customize-uploader/CHANGELOG.md +++ /dev/null @@ -1,915 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -### Dependencies - -* The following workspace dependencies were updated - * dependencies - * @kintone/rest-api-client bumped from ^4.0.3 to ^4.1.0 - -## [9.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@9.0.3...@kintone/customize-uploader@9.0.4) (2026-04-08) - - -### Bug Fixes - -* pin dependency versions and remove unused core-js ([#3697](https://github.com/kintone/js-sdk/issues/3697)) ([5138e95](https://github.com/kintone/js-sdk/commit/5138e957cb2e85e054d555ab5524c3da5bf0740b)) - -## [9.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@9.0.2...@kintone/customize-uploader@9.0.3) (2026-03-31) - - -### Bug Fixes - -* **create-plugin, customize-uploader:** update rest-api-client version ([#3691](https://github.com/kintone/js-sdk/issues/3691)) ([efc79e9](https://github.com/kintone/js-sdk/commit/efc79e941e5cedc75ba91fd914d806b6503f2c88)) - -## [9.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@9.0.1...@kintone/customize-uploader@9.0.2) (2026-01-26) - - -### Bug Fixes - -* enable erasableSyntaxOnly option ([#3571](https://github.com/kintone/js-sdk/issues/3571)) ([78eaa02](https://github.com/kintone/js-sdk/commit/78eaa02e53e779e15ec76642b2e3f50b1c4102c6)) - -## [9.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@9.0.0...@kintone/customize-uploader@9.0.1) (2026-01-06) - - -### Bug Fixes - -* update js script to ts ([#3543](https://github.com/kintone/js-sdk/issues/3543)) ([372eada](https://github.com/kintone/js-sdk/commit/372eada1a48cb03c36bd761cc373afc6df5a9c9d)) - -## [9.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.14...@kintone/customize-uploader@9.0.0) (2025-10-14) - - -### ⚠ BREAKING CHANGES - -* We dropped Node.js v18. The minimum Node.js version is now v20. - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.7.4 ([#3408](https://github.com/kintone/js-sdk/issues/3408)) ([1c4278c](https://github.com/kintone/js-sdk/commit/1c4278c3b859d56c07e8a82dba2cffdc19736c23)) - - -### Miscellaneous Chores - -* bump minimum Node.js version to v20 ([#3431](https://github.com/kintone/js-sdk/issues/3431)) ([dbef119](https://github.com/kintone/js-sdk/commit/dbef11984d1d41099375f279640e7de13427c8c6)) - -## [8.0.14](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.13...@kintone/customize-uploader@8.0.14) (2025-05-13) - - -### Bug Fixes - -* **dts-gen:** update axios ([#3284](https://github.com/kintone/js-sdk/issues/3284)) ([#3303](https://github.com/kintone/js-sdk/issues/3303)) ([edf7861](https://github.com/kintone/js-sdk/commit/edf78612a6ce06aee48bd5f409b764c7dab2337a)) -* **rest-api-client:** commit for release ([#3286](https://github.com/kintone/js-sdk/issues/3286)) ([fc1f211](https://github.com/kintone/js-sdk/commit/fc1f21193f3bcd920bfec8f9698e1c8d1daa6817)) - -## [8.0.13](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.12...@kintone/customize-uploader@8.0.13) (2024-06-18) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.5.2 ([#2820](https://github.com/kintone/js-sdk/issues/2820)) ([532d6ab](https://github.com/kintone/js-sdk/commit/532d6abde5971941c3187b1a4acd9c82a78bbd53)) - -## [8.0.12](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.11...@kintone/customize-uploader@8.0.12) (2024-05-08) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.5.1 ([#2724](https://github.com/kintone/js-sdk/issues/2724)) ([f06f485](https://github.com/kintone/js-sdk/commit/f06f48524e0a67aaf7368e68f9ea00849230345c)) - -## [8.0.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.10...@kintone/customize-uploader@8.0.11) (2024-04-02) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.5.0 ([#2663](https://github.com/kintone/js-sdk/issues/2663)) ([dd45e99](https://github.com/kintone/js-sdk/commit/dd45e991a7aa9a020de424c088b2e189b582e72a)) - -## [8.0.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.9...@kintone/customize-uploader@8.0.10) (2024-03-27) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.4.0 ([#2597](https://github.com/kintone/js-sdk/issues/2597)) ([723987a](https://github.com/kintone/js-sdk/commit/723987af0034a5593c2e4172976ef1d6173ce3ae)) - -## [8.0.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.8...@kintone/customize-uploader@8.0.9) (2024-02-07) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.8 ([#2540](https://github.com/kintone/js-sdk/issues/2540)) ([2d65d4b](https://github.com/kintone/js-sdk/commit/2d65d4bc642cc30f1a2a4b99ab40980f0b5d6bd6)) - -## [8.0.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.7...@kintone/customize-uploader@8.0.8) (2024-01-30) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.7 ([#2526](https://github.com/kintone/js-sdk/issues/2526)) ([cd8273c](https://github.com/kintone/js-sdk/commit/cd8273c152ce88f4a0483b83b832cd7fb5a473b7)) - -## [8.0.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.6...@kintone/customize-uploader@8.0.7) (2024-01-23) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.6 ([#2509](https://github.com/kintone/js-sdk/issues/2509)) ([3806377](https://github.com/kintone/js-sdk/commit/38063773c829ac2fcef0c5f1b9960bbb25b1f3b1)) - -## [8.0.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.5...@kintone/customize-uploader@8.0.6) (2023-12-21) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.5 ([#2467](https://github.com/kintone/js-sdk/issues/2467)) ([3a94a3a](https://github.com/kintone/js-sdk/commit/3a94a3a53615a82139f0bc1f603d411a71aaab49)) - -## [8.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.4...@kintone/customize-uploader@8.0.5) (2023-12-19) - - -### Bug Fixes - -* **deps:** update dependency prettier to v3 ([#2457](https://github.com/kintone/js-sdk/issues/2457)) ([5a0b859](https://github.com/kintone/js-sdk/commit/5a0b859807530564732caa194e9251f37268b164)) - -## [8.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.3...@kintone/customize-uploader@8.0.4) (2023-12-04) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.4 ([#2430](https://github.com/kintone/js-sdk/issues/2430)) ([f6778e6](https://github.com/kintone/js-sdk/commit/f6778e67920bf3842ff1ec610e8085decedad6fa)) - -## [8.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.2...@kintone/customize-uploader@8.0.3) (2023-11-08) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.3 ([#2377](https://github.com/kintone/js-sdk/issues/2377)) ([98d4a20](https://github.com/kintone/js-sdk/commit/98d4a20267f813726176af760948f6797a9de03a)) - -## [8.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.1...@kintone/customize-uploader@8.0.2) (2023-10-31) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^5.0.2 ([#2362](https://github.com/kintone/js-sdk/issues/2362)) ([a5b2e44](https://github.com/kintone/js-sdk/commit/a5b2e4431032b9e7b0659167726290fe0eebd316)) - -## [8.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@8.0.0...@kintone/customize-uploader@8.0.1) (2023-10-24) - - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to v5 ([#2322](https://github.com/kintone/js-sdk/issues/2322)) ([1f6b7c1](https://github.com/kintone/js-sdk/commit/1f6b7c1c0a295c24f9559912a3adfd1bfa049335)) - -## [8.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@7.0.5...@kintone/customize-uploader@8.0.0) (2023-10-03) - - -### ⚠ BREAKING CHANGES - -* We dropped Node v16 support. Now supported versions are v18 and v20. - -### Bug Fixes - -* **deps:** update dependency @kintone/rest-api-client to ^4.1.1 ([#2300](https://github.com/kintone/js-sdk/issues/2300)) ([7e40f2d](https://github.com/kintone/js-sdk/commit/7e40f2d8fce0e50bcf0b828ee646b351ed193702)) - - -### Build System - -* Drop Node v16 support version ([#2294](https://github.com/kintone/js-sdk/issues/2294)) ([767d657](https://github.com/kintone/js-sdk/commit/767d65749be66b6c2509bb737d8f45085814cc44)) - -## [7.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@7.0.4...@kintone/customize-uploader@7.0.5) (2023-09-26) - - -### Bug Fixes - -* **deps:** update dependency inquirer to ^8.2.6 ([#2201](https://github.com/kintone/js-sdk/issues/2201)) ([7a85f2f](https://github.com/kintone/js-sdk/commit/7a85f2f0e8683a05d5aa04b94c06d12516bb80d4)) -* **deps:** update dependency mkdirp to v3 ([#2034](https://github.com/kintone/js-sdk/issues/2034)) ([cb624ef](https://github.com/kintone/js-sdk/commit/cb624ef1a79df7dd30c716d8c3f7a92d781912c3)) - -## [7.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@7.0.2...@kintone/customize-uploader@7.0.3) (2023-07-05) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [7.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@7.0.1...@kintone/customize-uploader@7.0.2) (2023-06-28) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [7.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@7.0.0...@kintone/customize-uploader@7.0.1) (2023-06-15) - -**Note:** Version bump only for package @kintone/customize-uploader - -# [7.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.39...@kintone/customize-uploader@7.0.0) (2023-06-07) - -- build!: drop Node v14 support because of the EOL (#2124) ([ef0e004](https://github.com/kintone/js-sdk/commit/ef0e004b40a518a1b5a3aa5d82446c556c742f02)), closes [#2124](https://github.com/kintone/js-sdk/issues/2124) - -### BREAKING CHANGES - -- We dropped Node v14 support. Now supported versions are v16, v18, and v20. - -## [6.0.39](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.38...@kintone/customize-uploader@6.0.39) (2023-05-31) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.38](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.37...@kintone/customize-uploader@6.0.38) (2023-05-24) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.37](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.36...@kintone/customize-uploader@6.0.37) (2023-05-17) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.36](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.35...@kintone/customize-uploader@6.0.36) (2023-05-10) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.35](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.34...@kintone/customize-uploader@6.0.35) (2023-04-26) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.34](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.33...@kintone/customize-uploader@6.0.34) (2023-04-21) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.33](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.32...@kintone/customize-uploader@6.0.33) (2023-04-06) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.32](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.31...@kintone/customize-uploader@6.0.32) (2023-04-04) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.31](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.30...@kintone/customize-uploader@6.0.31) (2023-03-29) - -### Bug Fixes - -- **deps:** update dependency mkdirp to ^2.1.6 ([#1988](https://github.com/kintone/js-sdk/issues/1988)) ([87ed9c3](https://github.com/kintone/js-sdk/commit/87ed9c38cd7962db8fcc0d116eee899c6edcd606)) - -## [6.0.30](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.29...@kintone/customize-uploader@6.0.30) (2023-03-22) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.29](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.28...@kintone/customize-uploader@6.0.29) (2023-03-15) - -### Bug Fixes - -- **deps:** update eslint and prettier (minor) ([#1801](https://github.com/kintone/js-sdk/issues/1801)) ([62aa13a](https://github.com/kintone/js-sdk/commit/62aa13a86c6b77b10f91a97d1d0ca4355a57e186)) - -## [6.0.28](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.27...@kintone/customize-uploader@6.0.28) (2023-03-08) - -### Bug Fixes - -- **deps:** update dependency mkdirp to ^2.1.5 ([#1950](https://github.com/kintone/js-sdk/issues/1950)) ([154a895](https://github.com/kintone/js-sdk/commit/154a8958e78daa563cbc3c3e1e07578d13ea3cd4)) - -## [6.0.27](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.26...@kintone/customize-uploader@6.0.27) (2023-03-03) - -### Bug Fixes - -- **deps:** update dependency mkdirp to v2 ([#1898](https://github.com/kintone/js-sdk/issues/1898)) ([b73bf6c](https://github.com/kintone/js-sdk/commit/b73bf6c0f0123c7346984d3bd21337e14ad0a36f)) - -## [6.0.26](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.25...@kintone/customize-uploader@6.0.26) (2023-02-22) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.25](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.24...@kintone/customize-uploader@6.0.25) (2023-02-15) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.24](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.23...@kintone/customize-uploader@6.0.24) (2023-02-01) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.23](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.22...@kintone/customize-uploader@6.0.23) (2023-01-18) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.22](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.21...@kintone/customize-uploader@6.0.22) (2022-12-21) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.21](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.20...@kintone/customize-uploader@6.0.21) (2022-12-07) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.20](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.19...@kintone/customize-uploader@6.0.20) (2022-11-16) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.19](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.18...@kintone/customize-uploader@6.0.19) (2022-11-09) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.18](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.17...@kintone/customize-uploader@6.0.18) (2022-11-02) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.17](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.16...@kintone/customize-uploader@6.0.17) (2022-10-26) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.5 ([#1807](https://github.com/kintone/js-sdk/issues/1807)) ([b760c60](https://github.com/kintone/js-sdk/commit/b760c60d566845fa34ab6a1deb0d894d44ef42c6)) - -## [6.0.16](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.15...@kintone/customize-uploader@6.0.16) (2022-10-19) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.15](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.14...@kintone/customize-uploader@6.0.15) (2022-10-12) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.14](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.13...@kintone/customize-uploader@6.0.14) (2022-10-05) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.13](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.12...@kintone/customize-uploader@6.0.13) (2022-09-29) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.12](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.11...@kintone/customize-uploader@6.0.12) (2022-09-14) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.10...@kintone/customize-uploader@6.0.11) (2022-08-31) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.9...@kintone/customize-uploader@6.0.10) (2022-08-24) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.8...@kintone/customize-uploader@6.0.9) (2022-08-17) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.7...@kintone/customize-uploader@6.0.8) (2022-08-10) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.6...@kintone/customize-uploader@6.0.7) (2022-08-03) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.5...@kintone/customize-uploader@6.0.6) (2022-07-21) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.4...@kintone/customize-uploader@6.0.5) (2022-06-29) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.3...@kintone/customize-uploader@6.0.4) (2022-06-22) - -### Bug Fixes - -- **rest-api-client:** throw an Error if baseUrl is `http` ([#1567](https://github.com/kintone/js-sdk/issues/1567)) ([671ee9a](https://github.com/kintone/js-sdk/commit/671ee9ad9585cf38b47310b5ff27f8883f258376)) - -## [6.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.2...@kintone/customize-uploader@6.0.3) (2022-06-08) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.1...@kintone/customize-uploader@6.0.2) (2022-06-01) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [6.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@6.0.0...@kintone/customize-uploader@6.0.1) (2022-05-20) - -**Note:** Version bump only for package @kintone/customize-uploader - -# [6.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.25...@kintone/customize-uploader@6.0.0) (2022-05-13) - -- chore!: drop Node v12 support because of the EOL (BREAKING CHANGE) (#1493) ([0d9dae1](https://github.com/kintone/js-sdk/commit/0d9dae10582fc40d89a1af8db4a2efc1d776a456)), closes [#1493](https://github.com/kintone/js-sdk/issues/1493) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.4 ([#1468](https://github.com/kintone/js-sdk/issues/1468)) ([8a5316d](https://github.com/kintone/js-sdk/commit/8a5316d7a6492cfe7e07842bf4095f4ab25eebd2)) -- **examples:** Run examples by ts-node ([#1488](https://github.com/kintone/js-sdk/issues/1488)) ([3351773](https://github.com/kintone/js-sdk/commit/335177317c13d3ce7c7e273394f2985541a8e8dc)) - -### BREAKING CHANGES - -- drop Node v12 support because of the EOL. - -- ci: update Node version 14 -> 16 - -- ci: remove Node 18.x from test workflow - -## [5.0.25](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.24...@kintone/customize-uploader@5.0.25) (2022-04-28) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.2 ([#1435](https://github.com/kintone/js-sdk/issues/1435)) ([afa0e6a](https://github.com/kintone/js-sdk/commit/afa0e6a4b7f941a2e0744716da3810cec0366a51)) -- **deps:** update dependency inquirer to ^8.2.3 ([#1461](https://github.com/kintone/js-sdk/issues/1461)) ([f4d8f87](https://github.com/kintone/js-sdk/commit/f4d8f87571e9ca6ed014b71c8ebdf45ab42f9ef5)) - -## [5.0.24](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.23...@kintone/customize-uploader@5.0.24) (2022-04-08) - -### Bug Fixes - -- **customize-uploader,plugin-uploader:** fix typo in error messages ([#1422](https://github.com/kintone/js-sdk/issues/1422)) ([f46cbae](https://github.com/kintone/js-sdk/commit/f46cbae011d92cdc45561d5c7bf5895cb99153f8)) - -## [5.0.23](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.22...@kintone/customize-uploader@5.0.23) (2022-03-18) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.1 ([#1398](https://github.com/kintone/js-sdk/issues/1398)) ([e6ff25d](https://github.com/kintone/js-sdk/commit/e6ff25d13c6b718d4b8fa4bbce2c20060cc7e065)) - -## [5.0.22](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.21...@kintone/customize-uploader@5.0.22) (2022-03-04) - -**Note:** Version bump only for package @kintone/customize-uploader - -## 5.0.21 (2022-02-14) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.34 ([#1341](https://github.com/kintone/js-sdk/issues/1341)) ([0e01847](https://github.com/kintone/js-sdk/commit/0e018475d77c68f42d414d563377aef56a7a1d41)) - -## 5.0.20 (2022-02-04) - -**Note:** Version bump only for package @kintone/customize-uploader - -## 5.0.19 (2022-01-18) - -**Note:** Version bump only for package @kintone/customize-uploader - -## 5.0.18 (2022-01-11) - -**Note:** Version bump only for package @kintone/customize-uploader - -## 5.0.17 (2021-12-24) - -**Note:** Version bump only for package @kintone/customize-uploader - -## 5.0.16 (2021-12-24) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.15](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.14...@kintone/customize-uploader@5.0.15) (2021-12-21) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.14](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.13...@kintone/customize-uploader@5.0.14) (2021-12-15) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.13](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.12...@kintone/customize-uploader@5.0.13) (2021-12-01) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.12](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.11...@kintone/customize-uploader@5.0.12) (2021-11-24) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.10...@kintone/customize-uploader@5.0.11) (2021-11-17) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.9...@kintone/customize-uploader@5.0.10) (2021-10-27) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.8...@kintone/customize-uploader@5.0.9) (2021-10-20) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.7...@kintone/customize-uploader@5.0.8) (2021-10-13) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.0 ([#1140](https://github.com/kintone/js-sdk/issues/1140)) ([c494498](https://github.com/kintone/js-sdk/commit/c49449830b9e85783a96aa10fb8cb78c1d10fb3c)) - -## [5.0.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.6...@kintone/customize-uploader@5.0.7) (2021-10-06) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.5...@kintone/customize-uploader@5.0.6) (2021-09-29) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.4...@kintone/customize-uploader@5.0.5) (2021-09-22) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.4 ([#1107](https://github.com/kintone/js-sdk/issues/1107)) ([b4a0476](https://github.com/kintone/js-sdk/commit/b4a04764d47831fe3427d38662eb7b22e2c88689)) -- **deps:** update dependency inquirer to ^8.1.5 ([#1108](https://github.com/kintone/js-sdk/issues/1108)) ([6c09561](https://github.com/kintone/js-sdk/commit/6c0956164737b7a31c09a2e34f5774d2a914464e)) - -## [5.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.3...@kintone/customize-uploader@5.0.4) (2021-09-15) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.3 ([#1104](https://github.com/kintone/js-sdk/issues/1104)) ([d333fd4](https://github.com/kintone/js-sdk/commit/d333fd46273d108cbe97f71aa5514831afb607f4)) - -## [5.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.2...@kintone/customize-uploader@5.0.3) (2021-09-08) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.1...@kintone/customize-uploader@5.0.2) (2021-09-01) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [5.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@5.0.0...@kintone/customize-uploader@5.0.1) (2021-08-25) - -**Note:** Version bump only for package @kintone/customize-uploader - -# [5.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.14...@kintone/customize-uploader@5.0.0) (2021-08-18) - -- feat(customize-uploader)!: remove `--domain` option and `KINTONE_DOMAIN` (BREAKING CHANGE) (#1047) ([294270b](https://github.com/kintone/js-sdk/commit/294270b8be567cd3672c0b7417af32fc6e222867)), closes [#1047](https://github.com/kintone/js-sdk/issues/1047) - -### BREAKING CHANGES - -- remove `--domain` option and `KINTONE_DOMAIN` - -## [4.0.14](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.13...@kintone/customize-uploader@4.0.14) (2021-08-11) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.13](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.12...@kintone/customize-uploader@4.0.13) (2021-08-04) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.12](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.11...@kintone/customize-uploader@4.0.12) (2021-07-28) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.10...@kintone/customize-uploader@4.0.11) (2021-07-21) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.2 ([#1012](https://github.com/kintone/js-sdk/issues/1012)) ([20df6cf](https://github.com/kintone/js-sdk/commit/20df6cf179d381748f305fc122b95ee43a10d301)) - -## [4.0.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.9...@kintone/customize-uploader@4.0.10) (2021-07-12) - -### Bug Fixes - -- **customize-uploader:** pass the value of `--proxy` ([#1002](https://github.com/kintone/js-sdk/issues/1002)) ([f704faf](https://github.com/kintone/js-sdk/commit/f704faf7bef8446d007680a52d3b0553f7928b24)) - -## [4.0.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.8...@kintone/customize-uploader@4.0.9) (2021-07-06) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.7...@kintone/customize-uploader@4.0.8) (2021-06-29) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.6...@kintone/customize-uploader@4.0.7) (2021-06-22) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.5.2 ([#956](https://github.com/kintone/js-sdk/issues/956)) ([148de17](https://github.com/kintone/js-sdk/commit/148de170c2ca209510793989297de828ad77051d)) -- **deps:** update dependency inquirer to ^8.1.1 ([#957](https://github.com/kintone/js-sdk/issues/957)) ([39e0b92](https://github.com/kintone/js-sdk/commit/39e0b920e553be9d80a4ec159d7afe5ea9a99a1a)) - -## [4.0.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.5...@kintone/customize-uploader@4.0.6) (2021-06-15) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.4...@kintone/customize-uploader@4.0.5) (2021-06-08) - -### Bug Fixes - -- **customize-uploader:** upload customize files sequentially ([#925](https://github.com/kintone/js-sdk/issues/925)) ([6fd72e3](https://github.com/kintone/js-sdk/commit/6fd72e383f820e1ce0de3349fbcd02378aaac59d)) - -## [4.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.3...@kintone/customize-uploader@4.0.4) (2021-06-04) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.2...@kintone/customize-uploader@4.0.3) (2021-06-01) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [4.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.1...@kintone/customize-uploader@4.0.2) (2021-05-25) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.0.1 ([#902](https://github.com/kintone/js-sdk/issues/902)) ([8e67f71](https://github.com/kintone/js-sdk/commit/8e67f71b43793d857128a38bc96bdb41e90b8d6c)) -- **deps:** update dependency inquirer to ^8.1.0 ([#904](https://github.com/kintone/js-sdk/issues/904)) ([9de640f](https://github.com/kintone/js-sdk/commit/9de640feb214adf9e03ba9623d50df5c2af46111)) - -## [4.0.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@4.0.0...@kintone/customize-uploader@4.0.1) (2021-05-18) - -**Note:** Version bump only for package @kintone/customize-uploader - -# [4.0.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.14...@kintone/customize-uploader@4.0.0) (2021-05-11) - -### chore - -- drop Node v10 support ([#870](https://github.com/kintone/js-sdk/issues/870)) ([5263389](https://github.com/kintone/js-sdk/commit/526338928e5a89a1f24c7458fc0c7c2452e36cc1)) - -### BREAKING CHANGES - -- drop Node v10 support because of the EOL. - -## [3.1.14](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.13...@kintone/customize-uploader@3.1.14) (2021-04-27) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.13](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.12...@kintone/customize-uploader@3.1.13) (2021-04-20) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.12](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.11...@kintone/customize-uploader@3.1.12) (2021-04-13) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.10...@kintone/customize-uploader@3.1.11) (2021-04-06) - -### Bug Fixes - -- **customize-uploader:** pass guestSpaceId ([#799](https://github.com/kintone/js-sdk/issues/799)) ([9694d5f](https://github.com/kintone/js-sdk/commit/9694d5f08db86c14d2b31834b8dda5f815a1ce63)) - -## [3.1.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.9...@kintone/customize-uploader@3.1.10) (2021-03-31) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.8...@kintone/customize-uploader@3.1.9) (2021-03-23) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.7...@kintone/customize-uploader@3.1.8) (2021-03-18) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.6...@kintone/customize-uploader@3.1.7) (2021-03-09) - -### Bug Fixes - -- **deps:** update dependency inquirer to v8 ([#721](https://github.com/kintone/js-sdk/issues/721)) ([ee63882](https://github.com/kintone/js-sdk/commit/ee6388295a9408addcb3cb94e58d52b83ebb7ac1)) - -## [3.1.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.5...@kintone/customize-uploader@3.1.6) (2021-03-02) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.4...@kintone/customize-uploader@3.1.5) (2021-02-17) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.3...@kintone/customize-uploader@3.1.4) (2021-02-09) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.2...@kintone/customize-uploader@3.1.3) (2021-02-02) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.5.1 ([#635](https://github.com/kintone/js-sdk/issues/635)) ([85642c7](https://github.com/kintone/js-sdk/commit/85642c7946dbb4269c621882d8c13386b53fcaee)) -- **deps:** update dependency meow to v9 ([#637](https://github.com/kintone/js-sdk/issues/637)) ([09132c6](https://github.com/kintone/js-sdk/commit/09132c6fd16abb1798ca6bc6d569d4365fcb1968)) - -## [3.1.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.1...@kintone/customize-uploader@3.1.2) (2021-01-26) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.1.1](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.1.0...@kintone/customize-uploader@3.1.1) (2021-01-19) - -**Note:** Version bump only for package @kintone/customize-uploader - -# [3.1.0](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.11...@kintone/customize-uploader@3.1.0) (2020-12-16) - -### Bug Fixes - -- **deps:** update dependency meow to v8 ([#510](https://github.com/kintone/js-sdk/issues/510)) ([b064c79](https://github.com/kintone/js-sdk/commit/b064c79b056a8ca2365a33c12d4d6c8e8b419eaf)) - -### Features - -- support environment variable for base URL of customize uploader ([#543](https://github.com/kintone/js-sdk/issues/543)) ([1941977](https://github.com/kintone/js-sdk/commit/1941977036cc6593b5aa8eea3db02a70b101696a)) -- support OAuth token of customize uploader ([#566](https://github.com/kintone/js-sdk/issues/566)) ([9777927](https://github.com/kintone/js-sdk/commit/977792799a4d412048898169faaca28096d702c0)) - -## [3.0.11](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.10...@kintone/customize-uploader@3.0.11) (2020-10-23) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.0.10](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.9...@kintone/customize-uploader@3.0.10) (2020-10-21) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.4.3 ([a50de55](https://github.com/kintone/js-sdk/commit/a50de55fd2b7bd64fdafc29acf5644fed52cccee)) - -## [3.0.9](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.8...@kintone/customize-uploader@3.0.9) (2020-10-12) - -### Bug Fixes - -- **deps:** update dependency meow to ^7.1.1 ([ce6c6b3](https://github.com/kintone/js-sdk/commit/ce6c6b3cf01878a6b5b1421cb7c26c73719cd2a6)) - -## [3.0.8](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.7...@kintone/customize-uploader@3.0.8) (2020-08-28) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.4.2 ([ae3db99](https://github.com/kintone/js-sdk/commit/ae3db9915bcd23f777148cddaf89803a5fb90ad7)) -- **deps:** update dependency inquirer to ^7.3.3 ([#310](https://github.com/kintone/js-sdk/issues/310)) ([25761d9](https://github.com/kintone/js-sdk/commit/25761d9bee9f9624597f5ce9e84ade1e16c76c2c)) -- **deps:** update dependency meow to ^7.1.0 ([#349](https://github.com/kintone/js-sdk/issues/349)) ([954ebbb](https://github.com/kintone/js-sdk/commit/954ebbbbc81c8b07d8924311dd01feea0043b7ef)) -- **deps:** update dependency ts-node to v9 ([#370](https://github.com/kintone/js-sdk/issues/370)) ([cf5f38b](https://github.com/kintone/js-sdk/commit/cf5f38bb67eaaa38eaa77f67394dcf79c3cb0306)) - -## [3.0.7](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.6...@kintone/customize-uploader@3.0.7) (2020-07-29) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.4.1 ([4b071b7](https://github.com/kintone/js-sdk/commit/4b071b70c331d4c7d923e4928234aeeaf53a410e)) -- **deps:** update dependency inquirer to ^7.2.0 ([#268](https://github.com/kintone/js-sdk/issues/268)) ([d95bad7](https://github.com/kintone/js-sdk/commit/d95bad765deec78b72b77be1ef75650cca4a981e)) -- **deps:** update dependency inquirer to ^7.3.0 ([#294](https://github.com/kintone/js-sdk/issues/294)) ([acb5100](https://github.com/kintone/js-sdk/commit/acb510003a896c74fc91f332f255d6a15459aa43)) -- **deps:** update dependency inquirer to ^7.3.1 ([c6c690f](https://github.com/kintone/js-sdk/commit/c6c690f4b4022cb21720b6f7a180947cc42514ee)) -- **deps:** update dependency inquirer to ^7.3.2 ([2186b06](https://github.com/kintone/js-sdk/commit/2186b06ddabde0946836e80417427696dda05e3c)) -- **deps:** update dependency inquirer to ^7.3.3 ([715e901](https://github.com/kintone/js-sdk/commit/715e901dcbc6c6f1f612793fa4a3c868a654f59d)) -- **deps:** update dependency request-promise to ^4.2.6 ([390b243](https://github.com/kintone/js-sdk/commit/390b243086d13e13a981a27640719a6369593d13)) - -## [3.0.6](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.5...@kintone/customize-uploader@3.0.6) (2020-06-12) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.0.5](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.4...@kintone/customize-uploader@3.0.5) (2020-06-02) - -**Note:** Version bump only for package @kintone/customize-uploader - -## [3.0.4](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.3...@kintone/customize-uploader@3.0.4) (2020-05-19) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.4.0 ([#195](https://github.com/kintone/js-sdk/issues/195)) ([05f90e1](https://github.com/kintone/js-sdk/commit/05f90e1e611117911e063962ab72ecb99ed41347)) -- **deps:** update dependency meow to ^6.1.1 ([6c8987c](https://github.com/kintone/js-sdk/commit/6c8987c0c5ec7326e819461ca028ea52a20866ab)) -- **deps:** update dependency meow to v7 ([#224](https://github.com/kintone/js-sdk/issues/224)) ([71eab05](https://github.com/kintone/js-sdk/commit/71eab055c0db1aaaaa03e402f1e8f8a20d9356fd)) - -## [3.0.3](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.2...@kintone/customize-uploader@3.0.3) (2020-04-17) - -### Bug Fixes - -- **customize-uploader:** wrong require file paths in bin/cli.js ([#176](https://github.com/kintone/js-sdk/issues/176)) ([b4eac2e](https://github.com/kintone/js-sdk/commit/b4eac2e688a182011ffae572b1b146622f510fe9)) -- **deps:** update dependency mkdirp to ^1.0.4 ([e803811](https://github.com/kintone/js-sdk/commit/e803811f03469b7555a5f2d6d22d919ebd15e165)) - -## [3.0.2](https://github.com/kintone/js-sdk/compare/@kintone/customize-uploader@3.0.1...@kintone/customize-uploader@3.0.2) (2020-04-01) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.5 ([#268](https://github.com/kintone/js-sdk/issues/268)) ([a6d49db](https://github.com/kintone/js-sdk/commit/a6d49db674e1d7ebc89fa20689bdf8a005c1882a)) -- **deps:** update dependency inquirer to ^7.0.6 ([443434c](https://github.com/kintone/js-sdk/commit/443434cdee52d89abf67ec05ca2dd91228c6931f)) -- **deps:** update dependency inquirer to ^7.1.0 ([#138](https://github.com/kintone/js-sdk/issues/138)) ([559a942](https://github.com/kintone/js-sdk/commit/559a942af64bc701416d573bb919ec9c5a4135fb)) -- **deps:** update dependency meow to ^6.1.0 ([#139](https://github.com/kintone/js-sdk/issues/139)) ([13e4826](https://github.com/kintone/js-sdk/commit/13e48262cc8898681150c9ecf000c5e9ec884715)) -- **deps:** update dependency os-locale to v5 ([#141](https://github.com/kintone/js-sdk/issues/141)) ([ca74f7f](https://github.com/kintone/js-sdk/commit/ca74f7f302b18a578680736cd88311d807cf4c01)) - -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [3.0.1](https://github.com/kintone/customize-uploader/compare/v3.0.0...v3.0.1) (2020-02-25) - -### Bug Fixes - -- **deps:** update dependency meow to ^6.0.1 ([ee1601b](https://github.com/kintone/customize-uploader/commit/ee1601bdc5921641a58080182656d534d3572651)) -- **deps:** update dependency meow to v6 ([#232](https://github.com/kintone/customize-uploader/issues/232)) ([f180316](https://github.com/kintone/customize-uploader/commit/f1803168f0fc86ee8689bac5bf4af86346c56657)) -- **deps:** update dependency mkdirp to v1 ([#249](https://github.com/kintone/customize-uploader/issues/249)) ([db10275](https://github.com/kintone/customize-uploader/commit/db102754cbef04caf918febfcd1d45f9495ce5c2)) -- **deps:** update dependency request to ^2.88.2 ([6c90d89](https://github.com/kintone/customize-uploader/commit/6c90d894e1026880d61c9686c65134e4978aea5c)) -- **deps:** update dependency rimraf to ^3.0.1 ([3c6232a](https://github.com/kintone/customize-uploader/commit/3c6232ab06b1542be409df3f3c9425b6ea7cf8c0)) -- **deps:** update dependency rimraf to ^3.0.2 ([95bf923](https://github.com/kintone/customize-uploader/commit/95bf923b540542e8af7766ed03f25fab5bb2610f)) - -## [3.0.0](https://github.com/kintone/customize-uploader/compare/v2.0.8...v3.0.0) (2020-01-28) - -### ⚠ BREAKING CHANGES - -- drop 8 node support - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.2 ([d6ae558](https://github.com/kintone/customize-uploader/commit/d6ae5583a3ef228e0b39384cab1a5ee37f22d26c)) -- **deps:** update dependency inquirer to ^7.0.3 ([c47decf](https://github.com/kintone/customize-uploader/commit/c47decf37a8bee9e8e5ae05678db618e91ca86b6)) -- **deps:** update dependency inquirer to ^7.0.4 ([c7a3a2f](https://github.com/kintone/customize-uploader/commit/c7a3a2f77aee6e8396dc334bdef7b48421d075c3)) - -- drop 8 node support ([#252](https://github.com/kintone/customize-uploader/issues/252)) ([4bf2b48](https://github.com/kintone/customize-uploader/commit/4bf2b48d196adc97bcfe4c054b1e1d76661739ab)) - -### [2.0.8](https://github.com/kintone/customize-uploader/compare/v2.0.7...v2.0.8) (2019-12-24) - -### Bug Fixes - -- avoid validation error of minimist-options ([#233](https://github.com/kintone/customize-uploader/issues/233)) ([73402dd](https://github.com/kintone/customize-uploader/commit/73402ddb49ad310956cfd0e62aef08a8c68b503b)) -- **deps:** update dependency chokidar to ^3.3.1 ([4c105f5](https://github.com/kintone/customize-uploader/commit/4c105f50ea638b1d48efc8f9a6388060f25ca44e)) -- **deps:** update dependency inquirer to ^7.0.1 ([fd237df](https://github.com/kintone/customize-uploader/commit/fd237df5a925464f89ea182a8c121aca3d11dfff)) - -### [2.0.7](https://github.com/kintone/customize-uploader/compare/v2.0.6...v2.0.7) (2019-11-26) - -### Bug Fixes - -- **deps:** update dependency @types/rimraf to ^2.0.3 ([6e728b2](https://github.com/kintone/customize-uploader/commit/6e728b2a48393f4854ec468f281755826b35b275)) -- **deps:** update dependency chokidar to ^3.2.3 ([cc0902d](https://github.com/kintone/customize-uploader/commit/cc0902d502d1207f4dd4d4292fffdf2a31ce06f5)) -- **deps:** update dependency chokidar to ^3.3.0 ([#219](https://github.com/kintone/customize-uploader/issues/219)) ([c9ec93c](https://github.com/kintone/customize-uploader/commit/c9ec93c0d81c773a6c589cde5d53764a108a1bc4)) -- **deps:** update dependency request-promise to ^4.2.5 ([4880002](https://github.com/kintone/customize-uploader/commit/48800023a1903a18634d658fb104ac88648f81a8)) -- move @types/rimraf from deps to devDeps ([#221](https://github.com/kintone/customize-uploader/issues/221)) ([6218af9](https://github.com/kintone/customize-uploader/commit/6218af9049b349e8b93454f914729280d87417a9)) - -### [2.0.6](https://github.com/kintone/customize-uploader/compare/v2.0.5...v2.0.6) (2019-10-23) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^3.1.1 ([#202](https://github.com/kintone/customize-uploader/issues/202)) ([1027b3c](https://github.com/kintone/customize-uploader/commit/1027b3c)) -- **deps:** update dependency chokidar to ^3.2.1 ([#208](https://github.com/kintone/customize-uploader/issues/208)) ([b5243be](https://github.com/kintone/customize-uploader/commit/b5243be)) -- **deps:** update dependency chokidar to ^3.2.2 ([61d27a9](https://github.com/kintone/customize-uploader/commit/61d27a9)) - -### [2.0.5](https://github.com/kintone/customize-uploader/compare/v2.0.4...v2.0.5) (2019-09-24) - -### [2.0.4](https://github.com/kintone/customize-uploader/compare/v2.0.3...v2.0.4) (2019-08-27) - -### Bug Fixes - -- **deps:** update dependency chokidar to v3 ([1b040cc](https://github.com/kintone/customize-uploader/commit/1b040cc)) -- **deps:** update dependency inquirer to ^6.5.1 ([#171](https://github.com/kintone/customize-uploader/issues/171)) ([bd5dcf4](https://github.com/kintone/customize-uploader/commit/bd5dcf4)) -- **deps:** update dependency inquirer to v7 ([#190](https://github.com/kintone/customize-uploader/issues/190)) ([8454623](https://github.com/kintone/customize-uploader/commit/8454623)) -- **deps:** update dependency os-locale to v4 ([#157](https://github.com/kintone/customize-uploader/issues/157)) ([58fef17](https://github.com/kintone/customize-uploader/commit/58fef17)) -- **deps:** update dependency rimraf to v3 ([522ab9b](https://github.com/kintone/customize-uploader/commit/522ab9b)) - -## [2.0.3](https://github.com/kintone/customize-uploader/compare/v2.0.2...v2.0.3) (2019-07-23) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.4.1 ([#122](https://github.com/kintone/customize-uploader/issues/122)) ([ac300db](https://github.com/kintone/customize-uploader/commit/ac300db)) - -## [2.0.2](https://github.com/kintone/customize-uploader/compare/v2.0.1...v2.0.2) (2019-07-03) - -### Bug Fixes - -- support an old customize-manifest.json format ([#164](https://github.com/kintone/customize-uploader/issues/164)) ([48e08e8](https://github.com/kintone/customize-uploader/commit/48e08e8)) - -## [2.0.1](https://github.com/kintone/customize-uploader/compare/v2.0.0...v2.0.1) (2019-06-25) - -# [2.0.0](https://github.com/kintone/customize-uploader/compare/v1.6.0-alpha.0...v2.0.0) (2019-06-11) - -### Bug Fixes - -- **deps:** update dependency chokidar to ^2.1.6 ([62bb84c](https://github.com/kintone/customize-uploader/commit/62bb84c)) - -### Continuous Integration - -- drop Node v6 and add Node v12 as supporting versions ([#154](https://github.com/kintone/customize-uploader/issues/154)) ([5673a7d](https://github.com/kintone/customize-uploader/commit/5673a7d)) - -### BREAKING CHANGES - -- drop Node v6 support - -# [1.6.0-alpha.0](https://github.com/kintone/customize-uploader/compare/v1.5.3...v1.6.0-alpha.0) (2019-05-14) - -### Features - -- support mobile css ([#139](https://github.com/kintone/customize-uploader/issues/139)) ([80d64b7](https://github.com/kintone/customize-uploader/commit/80d64b7)) - -## [1.5.3](https://github.com/kintone/customize-uploader/compare/v1.5.2...v1.5.3) (2019-04-23) - -## [1.5.2](https://github.com/kintone/customize-uploader/compare/v1.5.1...v1.5.2) (2019-03-26) - -### Bug Fixes - -- **deps:** Fix `release` script ([6898852](https://github.com/kintone/customize-uploader/commit/6898852)) -- **deps:** update dependency chokidar to ^2.1.2 ([#87](https://github.com/kintone/customize-uploader/issues/87)) ([6495bd4](https://github.com/kintone/customize-uploader/commit/6495bd4)) -- **deps:** update dependency chokidar to ^2.1.5 ([8048b59](https://github.com/kintone/customize-uploader/commit/8048b59)) - -## [1.5.1](https://github.com/kintone/customize-uploader/compare/v1.5.0...v1.5.1) (2019-02-26) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.2.2 ([1e3508d](https://github.com/kintone/customize-uploader/commit/1e3508d)) -- **deps:** update dependency os-locale to ^3.1.0 ([#72](https://github.com/kintone/customize-uploader/issues/72)) ([3a985e6](https://github.com/kintone/customize-uploader/commit/3a985e6)) -- **deps:** update dependency request-promise to ^4.2.4 ([f63e1a7](https://github.com/kintone/customize-uploader/commit/f63e1a7)) - - - -# [1.5.0](https://github.com/kintone/customize-uploader/compare/v1.4.0...v1.5.0) (2019-01-21) - -### Bug Fixes - -- **deps:** update dependency rimraf to ^2.6.3 ([d79eeb1](https://github.com/kintone/customize-uploader/commit/d79eeb1)) - -### Features - -- add init sub-command ([#68](https://github.com/kintone/customize-uploader/issues/68)) ([6daa811](https://github.com/kintone/customize-uploader/commit/6daa811)) - - - -# [1.4.0](https://github.com/kintone/customize-uploader/compare/v1.3.0...v1.4.0) (2018-12-26) - - - -# [1.3.0](https://github.com/kintone/customize-uploader/compare/v1.2.0...v1.3.0) (2018-12-04) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.2.1 ([dc1efc5](https://github.com/kintone/customize-uploader/commit/dc1efc5)) - -### Features - -- add import subcommand to import a customize setting from an existing app ([#56](https://github.com/kintone/customize-uploader/issues/56)) ([f2c931c](https://github.com/kintone/customize-uploader/commit/f2c931c)), closes [#24](https://github.com/kintone/customize-uploader/issues/24) [#Issue-24](https://github.com/kintone/customize-uploader/issues/Issue-24) - -### Contributors - -- [@yokotaso](https://github.com/yokotaso) - - - -# [1.2.0](https://github.com/kintone/customize-uploader/compare/v1.1.2...v1.2.0) (2018-11-20) - -### Features - -- Support basic authentication ([#38](https://github.com/kintone/customize-uploader/issues/38)) ([cfaf629](https://github.com/kintone/customize-uploader/commit/cfaf629)) - - - -## [1.1.2](https://github.com/kintone/customize-uploader/compare/v1.1.1...v1.1.2) (2018-10-10) - - - -## [1.1.1](https://github.com/kintone/customize-uploader/compare/v1.1.0...v1.1.1) (2018-09-21) - -### Bug Fixes - -- improve console output for files specified by URL ([#19](https://github.com/kintone/customize-uploader/issues/19)) ([d0fd0cc](https://github.com/kintone/customize-uploader/commit/d0fd0cc)) - - - -# [1.1.0](https://github.com/kintone/customize-uploader/compare/v1.0.0...v1.1.0) (2018-09-14) - -### Bug Fixes - -- not retry with an authentication error, send requests in parallel ([#16](https://github.com/kintone/customize-uploader/issues/16)) ([69480f4](https://github.com/kintone/customize-uploader/commit/69480f4)) - -### Features - -- upload customize on start time with watch mode ([#15](https://github.com/kintone/customize-uploader/issues/15)) ([e6d5f38](https://github.com/kintone/customize-uploader/commit/e6d5f38)) - - - -# [1.0.0](https://github.com/kintone/customize-uploader/compare/v0.0.6...v1.0.0) (2018-09-12) diff --git a/packages/customize-uploader/LICENSE b/packages/customize-uploader/LICENSE deleted file mode 100755 index 8f4c908783..0000000000 --- a/packages/customize-uploader/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ - -MIT License - -Copyright (c) 2018 Cybozu, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/customize-uploader/README.md b/packages/customize-uploader/README.md deleted file mode 100755 index b8533171b0..0000000000 --- a/packages/customize-uploader/README.md +++ /dev/null @@ -1,163 +0,0 @@ -# kintone-customize-uploader - -[![npm version](https://badge.fury.io/js/%40kintone%2Fcustomize-uploader.svg)](https://badge.fury.io/js/%40kintone%2Fcustomize-uploader) -![Node.js version](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/kintone/js-sdk/main/packages/customize-uploader/package.json&label=node&query=$.engines.node&colorB=blue) -![License](https://img.shields.io/npm/l/@kintone/customize-uploader.svg) - -A kintone customize uploader - -## Usage - -``` -% npm install @kintone/customize-uploader - -% ./node_modules/.bin/kintone-customize-uploader init -? Input your app id: {appId} -? Select the scope of customization: "ALL" | "ADMIN" | "NONE" - -dest/customize-manifest.json file has been created - -% ./node_modules/.bin/kintone-customize-uploader import dest/customize-manifest.json -? Input your kintone's base URL (https://example.cybozu.com): {kintoneBaseUrl} -? Input your username: {userLoginName} -? Input your password: [input is hidden] {yourPassword} - -Generate customize-manifest.json from kintone app customize -Download Uploaded files on kintone app customize -Finish importing from kintone app customize - -% ./node_modules/.bin/kintone-customize-uploader dest/customize-manifest.json -``` - -or - -``` -% npm install -g @kintone/customize-uploader - -% kintone-customize-uploader init -? Input your app id: {appId} -? Select the scope of customization: "ALL" | "ADMIN" | "NONE" - -dest/customize-manifest.json file has been created - -% kintone-customize-uploader import dest/customize-manifest.json -? Input your kintone's base URL (https://example.cybozu.com): {kintoneBaseUrl} -? Input your username: {userLoginName} -? Input your password: [input is hidden] {yourPassword} - -Generate customize-manifest.json from kintone app customize -Download Uploaded files on kintone app customize -Finish importing from kintone app customize - -% kintone-customize-uploader dest/customize-manifest.json -``` - -If you want to upload the customize files automatically when a file is updated, you can use `--watch` option. - -``` -% kintone-customize-uploader --watch dest/customize-manifest.json -``` - -## Options - -``` - Usage - $ kintone-customize-uploader - Options - --base-url Base-url of your kintone - --username Login username - --password User's password - --oauth-token OAuth access token (If you set a set of --username and --password, this value is not necessary.) - --basic-auth-username Basic Authentication username - --basic-auth-password Basic Authentication password - --proxy Proxy server - --watch Watch the changes of customize files and re-run - --dest-dir -d option for subcommands - this option stands for output directory - default value is dest/ - --lang Using language (en or ja) - --guest-space-id Guest space ID for uploading files - - SubCommands - init generate customize-manifest.json - - import download js/css files and update customize-manifest.json - - You can set the values through environment variables - base-url: KINTONE_BASE_URL - username: KINTONE_USERNAME - password: KINTONE_PASSWORD - oauth-token: KINTONE_OAUTH_TOKEN (If you set a set of username and password, this value is not necessary.) - basic-auth-username: KINTONE_BASIC_AUTH_USERNAME - basic-auth-password: KINTONE_BASIC_AUTH_PASSWORD - proxy: HTTPS_PROXY or HTTP_PROXY -``` - -If you omit the options, you can input the options interactively. - -``` -% kintone-customize-uploader dest/customize-manifest.json -? Input your kintone's base URL: https://example.cybozu.com -? Input your username: sato -? Input your password: [hidden] -``` - -If you use OAuth access token, you need to grant scopes corresponding to the command. - -- To upload a customize setting: - `k:app_settings:read`, `k:app_settings:write` and `k:file:write` -- To import a customize setting by using `import` of subcommand: - `k:app_settings:read` and `k:file:read` - -For the details; Please see [How to add OAuth clients](https://kintone.dev/en/docs/common/authentication/how-to-add-oauth-clients/) - -## Example - -This is an example of `customize-manifest.json` . - -```json -{ - "app": "1", - "scope": "ALL", - "desktop": { - "js": [ - "https://js.cybozu.com/jquery/3.3.1/jquery.min.js", - "sample/customize.js" - ], - "css": ["sample/51-modern-default.css"] - }, - "mobile": { - "js": ["https://js.cybozu.com/jquery/3.3.1/jquery.min.js"] - } -} -``` - -- `app` : The app id where to upload customize files to (`"APP_ID"`) -- `scope`: The scope to apply your customization (`"ALL"` || `"ADMIN"` || `"NONE"`) -- `desktop`: The customize files applied in PC view (`"js": []` || `"css": []`) -- `mobile`: The customize files applied in mobile view (`"js": []`) - -To upload files, run `kintone-customize-uploader `. - -``` -% kintone-customize-uploader dest/customize-manifest.json -? Input your kintone's base URL: https://example.cybozu.com -? Input your username: sato -? Input your password: [hidden] - -sample/customize.js has been uploaded! -sample/51-modern-default.css has been uploaded! -JavaScript/CSS files have been uploaded! -Customize setting has been updated! -Wait for deploying completed... -Wait for deploying completed... -Wait for deploying completed... -Setting has been deployed! -``` - -In this example, JavaScript and CSS Customization is set as below. -![Example screenshot of JavaScript and CSS Customization](docs/example_setting.PNG) - -## LICENSE - -MIT License diff --git a/packages/customize-uploader/babel.config.js b/packages/customize-uploader/babel.config.js deleted file mode 100644 index dd242dc902..0000000000 --- a/packages/customize-uploader/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ["@babel/preset-env", { targets: { node: "current" } }], - "@babel/preset-typescript", - ], -}; diff --git a/packages/customize-uploader/bin/cli.js b/packages/customize-uploader/bin/cli.js deleted file mode 100755 index da3b616e49..0000000000 --- a/packages/customize-uploader/bin/cli.js +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -"use strict"; -require("../dist/cli"); diff --git a/packages/customize-uploader/docs/example_setting.PNG b/packages/customize-uploader/docs/example_setting.PNG deleted file mode 100755 index b120657852..0000000000 Binary files a/packages/customize-uploader/docs/example_setting.PNG and /dev/null differ diff --git a/packages/customize-uploader/eslint.config.mjs b/packages/customize-uploader/eslint.config.mjs deleted file mode 100644 index b434f06bd3..0000000000 --- a/packages/customize-uploader/eslint.config.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import rootConfig from "../../eslint.config.mjs"; -import vitest from "eslint-plugin-vitest"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - ...rootConfig, - { - files: ["**/*.test.ts", "**/__tests__/**/*.ts"], - plugins: { vitest }, - languageOptions: { - globals: vitest.environments.env.globals, - }, - }, -]; diff --git a/packages/customize-uploader/package.json b/packages/customize-uploader/package.json deleted file mode 100644 index 1de0cb6b71..0000000000 --- a/packages/customize-uploader/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@kintone/customize-uploader", - "version": "9.0.4", - "description": "A kintone customize uploader", - "keywords": [ - "kintone" - ], - "homepage": "https://github.com/kintone/js-sdk/tree/main/packages/customize-uploader#readme", - "bugs": { - "url": "https://github.com/kintone/js-sdk/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/kintone/js-sdk.git", - "directory": "packages/customize-uploader" - }, - "license": "MIT", - "author": { - "name": "Cybozu, Inc.", - "url": "https://cybozu.co.jp" - }, - "main": "dist/index.js", - "bin": { - "kintone-customize-uploader": "bin/cli.js" - }, - "files": [ - "bin", - "dist" - ], - "scripts": { - "prebuild": "pnpm clean", - "build": "tsc --build --force", - "clean": "rimraf dist", - "fix": "pnpm lint --fix", - "lint": "eslint src --max-warnings 0", - "start": "pnpm build --watch", - "test": "vitest run", - "test:ci": "vitest run" - }, - "dependencies": { - "@inquirer/prompts": "5.5.0", - "@kintone/rest-api-client": "6.2.1", - "chokidar": "3.6.0", - "meow": "9.0.0", - "mkdirp": "3.0.1", - "os-locale": "5.0.0", - "rimraf": "6.1.3" - }, - "devDependencies": { - "@types/inquirer": "9.0.10" - }, - "engines": { - "node": ">=20" - } -} diff --git a/packages/customize-uploader/sample/51-modern-default.css b/packages/customize-uploader/sample/51-modern-default.css deleted file mode 100755 index 26ecada6b2..0000000000 --- a/packages/customize-uploader/sample/51-modern-default.css +++ /dev/null @@ -1,655 +0,0 @@ -@charset "UTF-8"; -/* - * Copyright (c) 2014 Cybozu - * - * Licensed under the MIT License -*/ - -*[class|="kintoneplugin"] { - color: #333; - word-wrap: break-word; - font-size: 16px; - line-height: 1.5; -} - -:lang(us) *[class|="kintoneplugin"] { - font-family: 'HelveticaNeueW02-45Ligh', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(ja) *[class|="kintoneplugin"] { - font-family: 'メイリオ', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; -} - -:lang(zh) *[class|="kintoneplugin"] { - font-family: '微软雅黑', 'Microsoft YaHei', '新宋体', NSimSun, STHeiti, Hei, 'Heiti SC', sans-serif; -} - -/*Alert message*/ -/* -
-

Alert message、
Alert message

-

Alert message

-
-*/ -.kintoneplugin-alert { - position: relative; - display: block; - margin: 8px 0; - padding: 4px 18px; - background: #e74c3c; - color: #f6f6f6; -} - -/* Row for the settings */ -/* -
Settings 1
-
Settings 2
-*/ -.kintoneplugin-row { - margin-bottom: 24px; -} - -/* Title for settings*/ -/* Labels */ -/* -
Title
-*/ -.kintoneplugin-label { - margin-bottom: 8px; - font-weight: bold; -} - -/* 設定項目名 */ -/* 項目 */ -/* -
設定項目名
-*/ -.kintoneplugin-title { - margin-bottom: 8px; -} - -/* 設定項目の説明 */ -/* 説明 */ -/* -
設定項目の説明
-*/ -.kintoneplugin-desc { - margin-bottom: 8px; - font-size: 14px; - color: #888; -} - -/* Required settings*/ -/* -
Title*
-*/ -.kintoneplugin-require { - color: #c09853; -} - -/* Input (text box) */ -/* -
- -
-*/ -.kintoneplugin-input-outer { - position: relative; - display: inline-block; - vertical-align: top; -} - -.kintoneplugin-input-text { - display: inline-block; - box-sizing: border-box; - margin: 0; - padding: 0 8px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 4px 4px 12px #f5f5f5 inset, -4px -4px 12px #f5f5f5 inset; - color: #a7a7a7; - font-size: 14px; -} - -.kintoneplugin-input-text:focus { - background-color: #e2f2fe; - box-shadow: none; - color: #000; -} - -/* Check box */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-
-
-
-*/ -.kintoneplugin-input-checkbox-item { - display: block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; -} - -.kintoneplugin-input-checkbox-item-block { - display: block; -} -.kintoneplugin-input-checkbox-item-inline { - display: inline-block; -} - -.kintoneplugin-input-checkbox-item:hover + label { - color: #666; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - font-size: 14px; - cursor: pointer; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - position: absolute; - top: 50%; - left: -30px; - display: inline-block; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: #fff; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5mGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU0OTExLCAyMDEzLzEwLzI5LTExOjQ3OjE2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTExLTA1VDE1OjE2OjQ0KzA5OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE0LTExLTA3VDE3OjI3OjA5KzA5OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmM0ZThhODkwLTIzMTYtNGE0Yy04YTYxLTM3Y2E1OWUzYjkzOTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFRkZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDozMUQ4RkVFQ0ZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDozMUQ4RkVFREZGRTAxMUUzQUJBOENCMDVGMTBEODkwODwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxRDhGRUVGRkZFMDExRTNBQkE4Q0IwNUYxMEQ4OTA4PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjNGU4YTg5MC0yMzE2LTRhNGMtOGE2MS0zN2NhNTllM2I5Mzk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTQtMTEtMDdUMTc6Mjc6MDkrMDk6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjE8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PlzrgSQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAATBJREFUeNrslMtOAzEMRY9fldj2/39x2FVFzcRmMZNOKZQWBCu4m2QRnVzHuZbD4VCtNdo8kz2pKoaKbf+R5LwRVJVdBBE7/NQaL8cjPZPMJKu245VwF1uIKqbKPHeeAG+t0TPZ7/eEO1XFMHvp+kPkereokr0zTc+cTg2vWtxFBG7Gd9VF6JlYJV4FmUX2BDMyE1kt3HM6zpgZvXcyl+fy616IyBk61s80QNsloKPPP6FB0aKg6lzqIyXfeobBUX5B/9A/DV2zwwPhuTFU5F0Sffvw2+e/jt5nwKp6E2cR8EIwU0yXCWVfnFQDqKqoLm7dTMlutN6p1emjkT2Xvg5oM0NV8V0E89yZpmkZgRelPwKtdXU3TITwwCOCJ4F2amQl5DZt7kIv2u1qeDjhwesANeG11rjZfScAAAAASUVORK5CYII=) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwMkNFQUUzRkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwMkNFQUU0RkZCMzExRTNBQkE4Q0IwNUYxMEQ4OTA4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAyQ0VBRTFGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyQ0VBRTJGRkIzMTFFM0FCQThDQjA1RjEwRDg5MDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TrKxVAAABt0lEQVR42rzVSy8DURQH8P+0HaopoV7TkLAoCRYshNjYaTxiZcmexEZsxBeQiEWrC9/AzkpFCCsSQhALEY8uEH3QqXjUtNPpTN07EQumpvpwlneSX/5n5pw7zJFfCLr3w9bTkAgDg6xLSQEdXDGmeqqjzNjKreB7kkqqLEbkWrwgw2FjYyaSUG4sZ+EdbcwZHV6+AfUMubSsVdQzoACVNXr3IiEhp/KHnj/GMeH1w3PA402Ufzw3/RW8joiY3gzhPBzHcUBAS5UZQ82l+knfJQVnJM33uiLg5FoAl7wIOoC9DVbUl7H67UeEJOZ2whhf9WPvTvg6v+A/QQLLZNI76yxwD9jRzpn10d1bAUuHEdy/SpjZCuEkEFPBqfWgmpRuThcBXQSs00ip+U7baswYaS3Dli+Kh2gSs9shWFgDfE8JFeymCQftmm2nTdpUWYQFpx1ORyliSUVNTJMmZEVNuKgDpv36FSVGzDs5gGzHxvWbekZBz2D6ljMaKRuF+zi8JxQ8x+WMQd05pbCr3w6RbE6mYEbDX2s1/d/u/4oqqfyC1DORX4CR3PzqBZuPm596TCH+UR8CDAC9yr4WxILwPAAAAABJRU5ErkJggg==) no-repeat center center #fff; - content: ""; -} - -.kintoneplugin-input-checkbox-item input[type="checkbox"][disabled]:checked + label:after { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ5N0VENzg3MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ5N0VENzg4MEJBQzExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDk3RUQ3ODUwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDk3RUQ3ODYwQkFDMTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4bu7OxAAABBUlEQVR42mK8fPXacwYGBh4G6oEvLECCH4gvAvEbKhgoAsT6IEP/Qg30pYKhm0HmMTHQAAw6Q+WAmI2ahmoB8XQgzsOWcsgxVAWIe4HYC4i7gdiOWEO5gFgHi7gaEE8FYg8ofw0QPyHGUCEgrgbimUBshSSuATXQDcnAfCC+hG4ACxZDQd6pgrI7oRq/AXE/ELsgGVgIxM+weROboVeAeA4QpwCxDRCfRZOHGfgEV6BjM/QOEJdC2SlocuugLn9GTjr9AMTlUBcjG5hLyEBcLoWBd1CDQSlBgFgDCRkKMxgUfhzEGkiMoSDwasgXKHi9zwwtsTdTqeRnBhn6EUc+Jxd8BAgwAIGUL+JG+jF3AAAAAElFTkSuQmCC); -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-checkbox-item input[type="checkbox"]:checked + label:after { - display: none; -} - -/* Dropdown */ -/* -
-
-
Dropdown
-
-
-
-
Option A
-
Option B
-
Option C
-
-*/ -.kintoneplugin-dropdown-outer { - display: inline-block; -} - -.kintoneplugin-dropdown { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - margin-bottom: 0; - padding: 0 16px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-overflow: ellipsis; -} - -.kintoneplugin-dropdown:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.kintoneplugin-dropdown-selected { - padding-right: 48px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat right center; -} - -.kintoneplugin-dropdown-selected-name { - color: #3498db; - font-size: 14px; - line-height: 48px; -} - -.kintoneplugin-dropdown-list { - padding: 12px 0 0 0; - min-width: 280px; - border: 1px solid #e3e7e8; - background-color: #fff; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); - line-height: 1; -} - -.kintoneplugin-dropdown-list-item { - padding: 1px 16px 8px 25px; - line-height: 1; - cursor: pointer; -} - -.kintoneplugin-dropdown-list-item-name { - font: normal 13px Arial, sans-serif; - line-height: 1; -} - -.kintoneplugin-dropdown-list-item-selected { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVFNDNBMDI0MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVFNDNBMDI1MEIxNjExRTQ5MUVFOTIwNzZCRTVEQkEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUU0M0EwMjIwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUU0M0EwMjMwQjE2MTFFNDkxRUU5MjA3NkJFNURCQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4n981NAAABVElEQVR42mL4//8/AzH44Ydf7D///AOzidJw9eV3Ps/F9392H32V8enHH0ZGsE484Pbbn1y5255/vfb6BwPIpnkBstpMIImvv/8xXnn1gx9dw623P7mztzz7evPNTwZmIN9Onue+DB/rM6a33/4wtR163Zq+6emHY4++ScE03Hjzkweo4cvNtz8Z/v77z2AizXV/gqekur4ExwfG9dc+GiZueHKOj52JQY6fjWGip6QIFxvTz4Jtzz9ff/ODAaiewRykwUtSA2jLL5CBjLfe/OTqPPJq7e47XzzYWZgYFAVZGbhYmRguv/zJ8PPvPwwNYE2ggHj//S9T2a4XW3fc+ewBshFk+tdf/xhMpbmeTvKSVJTmY/2N7Fd46L0DaizfDdR4+7MHiG+GQwMYIMcHKFAiVz86D4qTJx9/seKKN4x4evnlD8vPv/+Z5fhZf+KKO4AAAwB1mv8yxhgabQAAAABJRU5ErkJggg==) no-repeat 7px 4px; -} - -.kintoneplugin-dropdown-list-item-selected .kintoneplugin-dropdown-list-item-name { - color: #3498db; -} - -/* Dropdown (Simple) */ -/* -
-
- -
-
-*/ -.kintoneplugin-select-outer { - display: inline-block; -} - -.kintoneplugin-select { - position: relative; - display: inline-block; - overflow: hidden; - box-sizing: border-box; - margin-right: 8px; - padding: 0 32px 0 8px; - min-width: 80px; - max-width: 280px; - height: 48px; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - text-overflow: ellipsis; -} - -.kintoneplugin-select:after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - display: block; - width: 32px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwM0JEQzc5RUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwM0JEQzdBRUZENzExRTNBRjRFQ0I1NjlCRDUzOTA5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTAzQkRDNzdFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTAzQkRDNzhFRkQ3MTFFM0FGNEVDQjU2OUJENTM5MDkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7KovlSAAAAhElEQVR42mI0mX7LjoGB4RADccCWCUjsB2ILIhSD1BwAadAB4qNAbIxHsTFUjQ5Iw3UgNgTiU1AaHRggyV1nggpegppyBoj1kBTrAvFZIDaBqmFgQZK8AMRmQHwe6kyYmAVUjAFdAwPUNGsgvgLl2wDxaWQFLFjcfAKIHaHs4+iSAAEGABHGF74RDCRaAAAAAElFTkSuQmCC) no-repeat center center transparent; - content: ""; - pointer-events: none; -} - -.kintoneplugin-select:hover { - background-color: #f4f7f8; - cursor: pointer; -} - -.lt-ie9 .kintoneplugin-select:hover { - background-color: transparent; -} - -.kintoneplugin-select select { - margin: 0; - min-width: 140px; - width: 144%; - height: 48px; - outline: none; - border: 0 none; - background-color: transparent; - color: #3498db; - font-size: 13px; - cursor: pointer; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: none; - appearance: none; -} - -.kintoneplugin-select option { - background-color: #fff; - color: #333; -} - -/* Radio Button */ -/* For IE8, specify .lt-ie9 for the parent. */ -/* -
-*/ -.kintoneplugin-input-radio-item { - display: inline-block; - margin-right: 16px; - margin-bottom: 8px; - padding-left: 1px; - max-width: 98%; - font-size: 14px; -} - -.kintoneplugin-input-radio-item:hover + label { - color: #666; -} - -.kintoneplugin-input-radio-item input[type="radio"] { - display: none; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label { - position: relative; - display: inline-block; - margin-left: 32px; - vertical-align: middle; - cursor: pointer; -} - -.kintoneplugin-input-radio-item input[type="checkbox"][disabled] + label { - color: #bababa; - cursor: not-allowed; -} - -.kintoneplugin-input-radio-item input[type="radio"] + label:before { - position: absolute; - top: 50%; - left: -30px; - box-sizing: border-box; - margin-top: -11px; - width: 21px; - height: 21px; - border: 1px solid #e3e7e8; - border-radius: 50%; - background: #fff; - box-shadow: 1px 1px 3px #f5f5f5 inset, -1px -1px 3px #f5f5f5 inset; - content: ""; - font-size: 14px; -} - -.kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - position: absolute; - top: 50%; - left: -26px; - margin-top: -7px; - width: 13px; - height: 13px; - border-radius: 50%; - background-color: #3498db; - content: ""; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] { - display: inline-block; - vertical-align: middle; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label { - margin-left: 4px; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"] + label:before { - display: none; -} - -.lt-ie9 .kintoneplugin-input-radio-item input[type="radio"]:checked + label:after { - display: none; -} - -/* Button */ -/* - -*/ -.kintoneplugin-button-normal { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-normal:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - -/* Disabled button */ -/* - -*/ -.kintoneplugin-button-disabled { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #dbdcdd; - box-shadow: none; - color: #bababa; - text-align: center; - line-height: 48px; -} - -/* Dialog OK button */ -/* - -*/ -.kintoneplugin-button-dialog-ok { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #3498db; - box-shadow: 1px 1px 1px #8ccbee inset; - color: #fff; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-ok:hover { - background-color: #1d6fa5; - cursor: pointer; -} - -/* Dialog Cancel button */ -/* - -*/ -.kintoneplugin-button-dialog-cancel { - display: inline-block; - box-sizing: border-box; - padding: 0 16px; - min-width: 163px; - height: 48px; - outline: none; - border: 1px solid #e3e7e8; - background-color: #f7f9fa; - box-shadow: 1px 1px 1px #fff inset; - color: #3498db; - text-align: center; - line-height: 48px; -} - -.kintoneplugin-button-dialog-cancel:hover { - background-color: #c8d6dd; - box-shadow: none; - cursor: pointer; -} - - -/* Table */ -/* - - - - - - - - - - - - - -
Title1
-
-
-
- -
-
-
-
- - -
-*/ -.kintoneplugin-table { - border-collapse: collapse; - border-spacing: 0; - margin-left: 18px; - margin-bottom: 16px; -} - -.kintoneplugin-table-th { - border-color: #3498db; - height: 40px; - color: #fff; - box-sizing: border-box; - text-align: left; - font-weight: 400; - font-size: 12px; - white-space: nowrap; - border-width: 2px; - background-color: #3498db; -} - -.kintoneplugin-table-th .title { - display: inline-block; - padding: 4px 8px; - box-sizing: border-box; - min-width: 204px; -} - -.kintoneplugin-table-th-blankspace { - background-color: transparent; -} - -.kintoneplugin-table td { - border-color: #e3e7e8; - border-style: solid; - border-width: 0 1px 1px 0; - vertical-align: top; - padding: 4px 0; -} - -.kintoneplugin-table td:first-child { - border-left-width: 1px; -} - -.kintoneplugin-table td.kintoneplugin-table-td-operation { - border-right: 0; - border-bottom: 0; -} - -.kintoneplugin-table-td-control { - padding: 0 8px; -} - -.kintoneplugin-table-td-control-value { - overflow: hidden; - padding: 4px 0; - min-height: 21px; - color: #333; - background-color: transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image, .kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - display: inline-block; - width: 24px; - height: 24px; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image { - margin-left: 12px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABG0lEQVQ4ja2UMWrDUAyG31TIAUIO0cVbCMToHa0nyF4HqbtPkBPkAqEe/KQ4bclkCB06FDqoQ7Cb5j2/l1L/oMFY/pB+SzImoZzc1BZ1lpObpnKDsihLICkBubIohy4AuQKS0qIsk5DFajsBdAQo+0vIdQBJA+hosdpOgqD7h+c7S7yJQbwg3gSBgPz4J1DfuqNrkyHR2vswTPY5Ofip6mzqQDIfVVUTHpaXLVb/giFXxhhj5uvdLJGYhFmUw3y9mxlb1Jn/kj81Ikvy4X1T1FmwMkB+A+QWkFsgOamq9s/ILRC/Bisb1bPR/2ZszoDkBZC/bp6zc6uORtmAbslH281fV4OkSXjUAPLTIMjb1cg98zy6Vd2l7ecoom+t8LKwzLF7UgAAAABJRU5ErkJggg==) center center no-repeat; - border: 1px solid transparent; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-add-row-image:hover { - cursor: pointer; -} -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image { - margin-left: 4px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAABPUlEQVQ4ja2UvW6DMBDHUTMkK0vyQJXoxoaUB2nWxEorMcNgD/gOWbIii7GSJx6Bmdegq1lKF6CUAqYSJ/2HE8dP5/tyHIvFcbynlLpxHO9tsZPGGDsCgI+IrwBAOrW+zxg7WiFBEOwAwEPE6xAyVpqmNwDwgiDYTYIIIU+c8/MSZCzO+XkSyDl//g9oIO8XKEmSk+1pc0LEa5Ikpx4GAP5csFIqVEqFFqjfw8ZdGyrLsjDLMhvs0hX+sBS4EkYIIQeHUuqOP5Rl+WGMqYwxVV3Xn03TfHW+MaYqiuIx/odS6k5mJqV811pHWusoz3OW5znrfK11JKV8m8xs05rZurkS9tPNpTkTQtyFEPfVc9Zm522yAd2Sb7abw6vRXoVZSJqmN0R8mQWNdxUm7hkAXADA/1OjtdZd2n6OFuwblG9sdxWO0ggAAAAASUVORK5CYII=) center center no-repeat; - border: 1px solid transparent; -} - -.kintoneplugin-table-td-operation .kintoneplugin-button-remove-row-image:hover { - cursor: pointer; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAACi0lEQVQ4jZ2UT0hUQRzHp0uHDtFVk0QqTGtdddXVN/Pe7ubuuu3Me7sY2s1jRZcOQX+kQC+dkrr15xAIElhIEBSZloKHPHTMIlHS9r2ZNdvUNK1Evh3S1WVdNX/wuf1+H+bHzHcIyVET4ZoiJViLjLKrjmBtUtBrdpSetwVzE0L25JrLKBlkh6RgHZJTWwmGLDidk5x2qYhWvaXIidKQ5Gx0U8kGkoJBCfpTcXZpU5HNNS45+7WdaKNwJmZgJORtz1wtqhVKQSd3Klpj2tSRMg28NtzhdZlgHf8rUoJBCoZZy8B4Q+27+578fWQiXFMkOfu6W5kSFL8bA3hQUWwRJVhLdqMOZW7Daq/NKVaa6tFdV9ZJJKetGRLLgBOogENL4bAc0FI4QQ+UZUByipSpIylYP3EEa0vLIrWQfjcWeh5hOTGBP2OfshkfxfLkZ8zduw1HOwZlGZgSOuZjvgGiOL2Rlp2qg6yvxNzdDiwNvsJi3/Ns+l9gaaAX329eh2OcgDR1TJs6Zi3jDVFcuyA3rhnzwa4tRsKVj4S7IJuyAiRcB+Hox6HifticYrHRj7eBqh6SiHjLFGcLGRdgGVAxP1TMlwP/vx7BYEcpcCaEO+6j59Zi1L2bp5HgFPNxH2Ysw24tKcwjhBDyJaJVJ9OZ2xkOp1CCAc1BdFaXXMyI1CTXrkybOr6ZOuQOTpRcFY2E6540EbI3K+zvQ972pGBIWQaSpg6bU0i+/todTmFzioW4D2iux8eG2p6n5eUHcn5Dw4Gq6FhEG0qZOlZOBzAb8yG5GuqlRj/QHMSU0Me7akoub/mfpYXeI/uHfJXmM8318EPY2/sj7h+ctfS+4ZOex7dch8++9JTkbTb3FyHXv8RgEtykAAAAAElFTkSuQmCC) center center no-repeat; -} diff --git a/packages/customize-uploader/sample/customize-manifest.json b/packages/customize-uploader/sample/customize-manifest.json deleted file mode 100755 index 0596887265..0000000000 --- a/packages/customize-uploader/sample/customize-manifest.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "app": "2", - "scope": "ALL", - "desktop": { - "js": [ - "https://js.cybozu.com/jquery/3.3.1/jquery.min.js", - "sample/customize.js" - ], - "css": ["sample/51-modern-default.css"] - }, - "mobile": { - "js": ["https://js.cybozu.com/jquery/3.3.1/jquery.min.js"], - "css": ["sample/51-modern-default.css"] - } -} diff --git a/packages/customize-uploader/sample/customize.js b/packages/customize-uploader/sample/customize.js deleted file mode 100755 index 3bcf21dc5b..0000000000 --- a/packages/customize-uploader/sample/customize.js +++ /dev/null @@ -1,15 +0,0 @@ -jQuery.noConflict(); -(function($) { - 'use strict'; - kintone.events.on('app.record.index.show', function(event) { - var $header = $(kintone.app.getHeaderMenuSpaceElement()); - var $button = $(' - - - - - - - diff --git a/packages/plugin-packer/docs/index.html b/packages/plugin-packer/docs/index.html deleted file mode 100644 index 3d90e3c47c..0000000000 --- a/packages/plugin-packer/docs/index.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - Package your kintone plug-in! - - - - - - - - - - - - -
-

Package your kintone plug-in!

-
-
-

End of Service Notice for Web plugin-packer

-

- This web tool will be discontinued on August 2026.
- Please use the cli-kintone plugin pack command instead. -

-
-
-
-

- Upload the plug-in directory.
- If you are using a browser except for Chrome or Firefox, upload the zipped plug-in file.
- A secret key file and a signed plug-in file will be generated.
- The secret key will also need to be uploaded when repackaging your plug-in. -

-
-
- -
-

- - - - Drag and drop your secret key file(.ppk) - - (optional)
- - - -

-
-
-
-

Success!

- -
-
-

Failed

-
    -
    -
    - - - -
    -
    -
    -

    Lang: JP

    -
    - - diff --git a/packages/plugin-packer/docs/style.css b/packages/plugin-packer/docs/style.css deleted file mode 100644 index 9da3d7094f..0000000000 --- a/packages/plugin-packer/docs/style.css +++ /dev/null @@ -1,209 +0,0 @@ -* { - margin: 0; - padding: 0; - font-family: helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; -} - -:root { - --ok-color: #74b816; - --base-color: #444; -} - -.hide { - display: none; -} - -@keyframes rotate { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -.loading { - display: inline-block; - animation-name: rotate; - animation-duration: 1.5s; - animation-iteration-count: infinite; - animation-timing-function: linear; -} - -/** font awesome */ -.ok-icon { - color: var(--ok-color); -} - -.header { - background-color: var(--base-color); - color: #FFF; -} - -.header__title { - margin: 0; - padding: 3rem; -} - -.description { - margin: 2rem 3rem 1rem; - font-size: 1.2rem; - line-height: 1.3; -} - -.upload-area { - display: flex; - margin: 0 2rem; -} - -.upload-area__droppable { - flex: 1; - margin: 1rem; - padding: 100px 30px; - font-size: 1.3rem; - line-height: 1.5; - color: var(--base-color); - border: dashed 5px #CCC; -} - -@media (max-width: 700px) { - .description { - margin: 2rem 1rem 1rem; - font-size: 1rem; - line-height: 1.3; - } - - .upload-area { - margin: 0 0.5rem; - } - - .upload-area__droppable { - margin: 0.5rem; - padding: 50px 15px; - font-size: 1rem; - line-height: 1.5; - } -} - -.upload-area__droppable--drag { - background-color: #EEE; -} - -.upload-area__text { - position: relative; -} - -.upload-area__zip-link { - text-decoration: none; - color: var(--base-color); -} - -.upload-area__ppk-link { - text-decoration: none; - color: var(--base-color); -} - -.upload-area__file-upload { - position: absolute; - font-size: 0.8rem; - opacity: 0; - top: 0; - left: 0; -} - -.download { - font-size: 1.2rem; - color: var(--base-color); - line-height: 1.5; -} - -.download__title { - font-size: 1.4rem; - text-align: center; -} - -.download__list { - width: 50%; - margin: 1rem auto; - padding: 1rem; - border: dashed 3px rgba(116, 184, 22, 0.4); -} - -.download__list-element { - list-style: none; -} - -.error { - font-size: 1.2rem; - line-height: 1.5; -} - -.error__title { - font-size: 1.4rem; - text-align: center; -} - -.error__messages { - width: 50%; - margin: 1rem auto; - padding: 1rem 2rem; - border: dashed 3px rgba(255, 0, 0, 0.4); - color: red; -} - -.action { - margin: 0 auto; - width: 80%; - text-align: center; -} - -.action__button { - width: 200px; - margin: 1rem; - padding: 1rem; -} - -.action__button:hover { - opacity: 0.7; -} - -.action__button--create { - background-color: #3498db; - color: #FFF; -} - -.action__button--create.disabled { - opacity: 0.3; -} - -.action__button--clear { - background-color: #EEE; - color: var(--base-color); -} - -.footer { - font-size: 1.2rem; - padding: 3rem; - color: var(--base-color); -} - -.eol-notice { - background-color: #fff3cd; - border: 4px solid #ffc107; - padding: 1rem 2rem; - margin: 0; - font-size: 1.2rem; - line-height: 1.3; - color: #856404; -} - -.eol-notice__title { - font-weight: bold; - margin-bottom: 0.5rem; -} - -.eol-notice a { - color: #533f03; - font-weight: bold; -} - diff --git a/packages/plugin-packer/eslint.config.mjs b/packages/plugin-packer/eslint.config.mjs deleted file mode 100644 index fdc074b534..0000000000 --- a/packages/plugin-packer/eslint.config.mjs +++ /dev/null @@ -1,38 +0,0 @@ -import rootConfig from "../../eslint.config.mjs"; -import siteConfig from "./site/eslint.config.mjs"; -import binConfig from "./bin/eslint.config.mjs"; -import vitest from "eslint-plugin-vitest"; -import globals from "globals"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - { - ignores: ["**/eslint.config.mjs", "**/vitest.config.ts"], - }, - ...siteConfig.map((configObject) => ({ - files: ["site/**/*.{js,ts}"], - ...configObject, - rules: { - ...configObject.rules, - "n/no-unsupported-features/node-builtins": "off", - }, - })), - ...binConfig.map((configObject) => ({ - files: ["bin/**/*.{js,ts}"], - ...configObject, - })), - ...rootConfig.map((configObject) => ({ - ignores: ["site/*", "bin/*"], - ...configObject, - })), - { - files: ["**/*.spec.ts", "test/**/*.{js,ts}"], - plugins: { vitest }, - languageOptions: { - globals: { - ...globals.node, - ...vitest.environments.env.globals, - }, - }, - }, -]; diff --git a/packages/plugin-packer/package.json b/packages/plugin-packer/package.json deleted file mode 100644 index 3dc23d797f..0000000000 --- a/packages/plugin-packer/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "name": "@kintone/plugin-packer", - "version": "9.1.2", - "description": "Package your kintone plugin with pure JavaScript", - "keywords": [ - "kintone" - ], - "homepage": "https://github.com/kintone/js-sdk/tree/main/packages/plugin-packer", - "bugs": "https://github.com/kintone/js-sdk/issues", - "repository": { - "type": "git", - "url": "git+https://github.com/kintone/js-sdk.git", - "directory": "packages/plugin-packer" - }, - "license": "MIT", - "author": { - "name": "Cybozu, Inc.", - "url": "https://cybozu.co.jp" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - }, - "./from-manifest": { - "types": "./dist/pack-plugin-from-manifest.d.ts", - "default": "./dist/pack-plugin-from-manifest.js" - } - }, - "bin": { - "kintone-plugin-packer": "bin/cli.js" - }, - "files": [ - "bin", - "dist" - ], - "scripts": { - "prebuild": "pnpm clean", - "build": "tsc --build --force", - "postbuild": "run-p js css", - "build:dev": "tsc --build --force --watch", - "clean": "rimraf dist", - "css": "postcss --config postcss.config.js ./node_modules/normalize.css/normalize.css > docs/dist/normalize.min.css", - "fix": "pnpm lint --fix", - "js": "webpack --mode production", - "js:dev": "webpack serve --mode development", - "lint": "eslint \"*.{js,ts}\" bin src site test --max-warnings 0", - "site": "run-p js css", - "site:dev": "run-p css js:dev", - "site:test": "vitest run --config site/vitest.config.ts", - "start": "npm-run-all -l -s clean build -p build:dev site:dev", - "test": "vitest run && pnpm site:test", - "test:ci": "pnpm test" - }, - "dependencies": { - "@kintone/plugin-manifest-validator": "11.3.0", - "chokidar": "3.6.0", - "debug": "4.4.3", - "denodeify": "1.2.1", - "meow": "9.0.0", - "mkdirp": "3.0.1", - "node-rsa": "1.1.1", - "stream-buffers": "3.0.3", - "yauzl": "3.4.0", - "yazl": "2.5.1" - }, - "devDependencies": { - "@reduxjs/toolkit": "2.12.0", - "@types/debug": "4.1.13", - "@types/node-rsa": "1.1.4", - "@types/stream-buffers": "3.0.8", - "@types/yauzl": "3.4.0", - "@types/yazl": "2.4.6", - "ajv": "8.20.0", - "array-flatten": "3.0.0", - "assert": "2.1.0", - "babel-plugin-replace-ts-export-assignment": "0.0.2", - "browserify-zlib": "0.2.0", - "buffer": "6.0.3", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.1", - "cssnano": "8.0.5", - "execa": "5.1.1", - "glob": "13.0.6", - "globals": "16.5.0", - "jsdom": "29.1.1", - "normalize.css": "8.0.1", - "path-browserify": "1.0.1", - "postcss": "8.5.26", - "postcss-cli": "11.0.1", - "process": "0.11.10", - "redux-logger": "3.0.6", - "redux-thunk": "3.1.0", - "rimraf": "6.1.3", - "setimmediate": "1.0.5", - "stream-browserify": "3.0.0", - "util": "0.12.5", - "webpack": "5.105.4", - "webpack-cli": "7.2.2", - "webpack-dev-server": "5.2.6" - }, - "engines": { - "node": ">=20" - } -} diff --git a/packages/plugin-packer/postcss.config.js b/packages/plugin-packer/postcss.config.js deleted file mode 100644 index 97f9abbdba..0000000000 --- a/packages/plugin-packer/postcss.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - plugins: [ - require("cssnano")({ - preset: "default", - }), - ], -}; diff --git a/packages/plugin-packer/site/action.js b/packages/plugin-packer/site/action.js deleted file mode 100644 index f3494cef58..0000000000 --- a/packages/plugin-packer/site/action.js +++ /dev/null @@ -1,136 +0,0 @@ -"use strict"; - -const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); - -const UPLOAD_PPK_START = "UPLOAD_PPK_START"; -const UPLOAD_PPK = "UPLOAD_PPK"; -const UPLOAD_PLUGIN_START = "UPLOADING_PLUGIN_START"; -const UPLOAD_PLUGIN = "UPLOAD_PLUGIN"; -const UPLOAD_FAILURE = "UPLOAD_FAILURE"; -const CREATE_PLUGIN_ZIP = "CREATE_PLUGIN_ZIP"; -const CREATE_PLUGIN_ZIP_START = "CREATE_PLUGIN_ZIP_START"; -const CREATE_PLUGIN_ZIP_FAILURE = "CREATE_PLUGIN_ZIP_FAILURE"; -const RESET = "RESET"; - -/** - * Dispatch an action for uploading an error - * @param {Error} error - * @return {{type: string, payload: Error}} - */ -const uploadFailure = (error) => ({ - type: UPLOAD_FAILURE, - payload: error, -}); - -/** - * Dispatch an action for uploading a ppk file - * @param {string} fileName - * @param {function(): Promise} fileReader - * @return {function(dispatch: function)} - */ -const uploadPPK = (fileName, fileReader) => (dispatch) => { - dispatch({ type: UPLOAD_PPK_START }); - fileReader().then( - (text) => { - dispatch({ - type: UPLOAD_PPK, - payload: { - data: text, - name: fileName, - }, - }); - }, - (error) => { - dispatch(uploadFailure(error)); - }, - ); -}; - -/** - * Dispatch an action for uploading a plugin zip - * @param {string} fileName - * @param {function(): Promise} fileReader - * @param {function(): Promise} validateManifest - * @return {function(dispatch: function)} - */ -const uploadPlugin = (fileName, fileReader, validateManifest) => (dispatch) => { - dispatch({ type: UPLOAD_PLUGIN_START }); - fileReader() - .then((buffer) => validateManifest(buffer).then(() => buffer)) - .then( - (buffer) => { - dispatch({ - type: UPLOAD_PLUGIN, - payload: { - data: buffer, - name: fileName, - }, - }); - }, - (error) => { - dispatch(uploadFailure(error)); - }, - ); -}; - -/** - * Dispatch an action for creating a plugin zip - * @param {function(contents: ArrayBuffer, ppk: string): Promise<*>} generatePluginZip - * @return {function(dispatch: function, getState: function)} - */ -const createPluginZip = (generatePluginZip) => (dispatch, getState) => { - dispatch({ - type: CREATE_PLUGIN_ZIP_START, - }); - const state = getState(); - Promise.all([ - generatePluginZip(state.contents.data, state.ppk.data), - // It's to guarantee to wait 300ms to recognize creating a plugin zip an user - delay(300), - ]).then( - ([result]) => { - // Send custom event to Google Analytics - if (window.dataLayer) { - window.dataLayer.push({ - event: "plugin_packaged", - // plugin_id: result.id, - }); - } - dispatch({ - type: CREATE_PLUGIN_ZIP, - payload: result, - }); - }, - (error) => { - dispatch({ - type: CREATE_PLUGIN_ZIP_FAILURE, - payload: error, - }); - }, - ); -}; - -/** - * Dispatch an action to reset the state - * @return {{type: string}} - */ -const reset = () => ({ - type: RESET, -}); - -module.exports = { - UPLOAD_FAILURE, - UPLOAD_PPK, - UPLOAD_PPK_START, - UPLOAD_PLUGIN, - UPLOAD_PLUGIN_START, - CREATE_PLUGIN_ZIP, - CREATE_PLUGIN_ZIP_START, - CREATE_PLUGIN_ZIP_FAILURE, - RESET, - uploadFailure, - uploadPPK, - uploadPlugin, - reset, - createPluginZip, -}; diff --git a/packages/plugin-packer/site/dom.js b/packages/plugin-packer/site/dom.js deleted file mode 100644 index 30a4acef17..0000000000 --- a/packages/plugin-packer/site/dom.js +++ /dev/null @@ -1,207 +0,0 @@ -"use strict"; - -const { flatten } = require("array-flatten"); -const yazl = require("yazl"); -const streamBuffers = require("stream-buffers"); - -/** - * Revoke an object URL - * @param {string} url - * @return {void} - */ -// eslint-disable-next-line n/no-unsupported-features/node-builtins -const revokeDownloadUrl = (url) => URL.revokeObjectURL(url); - -/** - * Create an object URL for the data - * @param {*} data - * @param {string} type - * @return {string} - */ -const createDownloadUrl = (data, type) => - // eslint-disable-next-line n/no-unsupported-features/node-builtins - URL.createObjectURL(new Blob([data], { type })); - -const isDropEvent = (e) => e.type === "drop"; - -/** - * Read files from FileSystemEntry - * @typedef {{path: string, file: File}} FileEntry - * @param {FileSystemEntry} entry - * @return {Promise} - * */ -const readEntries = (entry) => - new Promise((resolve, reject) => { - if (entry.isFile) { - // Convert the fullPath to the relative path from the plugin directory - entry.file((file) => - resolve({ path: entry.fullPath.replace(/^\/[^/]+?\//, ""), file }), - ); - } else if (entry.isDirectory) { - entry.createReader().readEntries((childEntries) => { - Promise.all( - childEntries.map((childEntry) => readEntries(childEntry)), - ).then(resolve); - }); - } else { - reject(new Error("Unsupported file system entry specified")); - } - }); - -/** - * Get a file or a file list from Event - * @param {Event} e - * @return {Promise}>} - */ -const getFileFromEvent = (e) => { - if (!isDropEvent(e)) { - const files = e.target.files; - if (files.length === 1) { - return Promise.resolve(files[0]); - } - // Create a Map - return Promise.resolve({ - // Get a uploaded directory name from webkitRelativePath - name: files[0].webkitRelativePath.replace(/\/.*/, ""), - entries: new Map( - Array.from(files).map((file) => [file.webkitRelativePath, file]), - ), - }); - } - if ( - typeof e.dataTransfer.items === "undefined" || - typeof e.dataTransfer.items[0].webkitGetAsEntry !== "function" - ) { - // We assume a string was dropped if we can't get the File object - const file = e.dataTransfer.files[0]; - if (!file) { - return Promise.reject(new Error("Unsupported file type item specified")); - } - // the upload file name doesn't have any dot so we can infer the file is a directory - if (file.name.indexOf(".") === -1) { - return Promise.reject( - new Error("Your browser doesn't support a directory upload"), - ); - } - return Promise.resolve(file); - } - return new Promise((resolve, reject) => { - const dataTransferItem = e.dataTransfer.items[0]; - if (dataTransferItem.kind !== "file") { - reject(new Error("Unsupported file type item specified")); - return; - } - const entry = dataTransferItem.webkitGetAsEntry(); - if (entry.isFile) { - entry.file(resolve); - } else if (entry.isDirectory) { - readEntries(entry).then((entries) => { - resolve({ - name: entry.name, - // Create a Map - entries: new Map( - flatten(entries).map(({ path, file }) => [path, file]), - ), - }); - }); - } else { - reject(new Error("Unsupported file system entry specified")); - } - }); -}; - -/** - * Create an handler for an event to convert a File - * @param {function(promise: Promise): void} cb - * @return {function(e: Event)} - */ -const createFileHanlder = (cb) => (e) => { - if (isDropEvent(e)) { - e.preventDefault(); - } - cb(getFileFromEvent(e)); -}; - -/** - * Read a file and return it as an text - * @param {File} file - * @return {Promise} - */ -const readText = (file) => - new Promise((resolve) => { - const reader = new FileReader(); - reader.onload = () => resolve(reader.result); - reader.readAsText(file); - }); - -/** - * Read a file and return it as an array buffer - * @param {File} file - * @return {Promise} - */ -const readArrayBuffer = (file) => - new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => resolve(reader.result); - reader.onerror = reject; - reader.readAsArrayBuffer(file); - }); - -const $ = document.querySelector.bind(document); -const $$ = document.querySelectorAll.bind(document); -/** - * register an event handler - * @param {HTMLElement|NodeList} el - * @param {*} args - */ -const listen = (el, ...args) => { - if (el instanceof NodeList) { - el.forEach((e) => listen(...[e, ...args])); - return; - } - el.addEventListener(...args); -}; - -/** - * Create a buffer of the zip file - * @typedef {{file: File, fullPath: string}} FileEntry - * @param {Map} fileMap - * @return {Promise} - */ -function fileMapToBuffer(fileMap) { - return Promise.all( - Array.from(fileMap.entries()).map(([path, file]) => - readArrayBuffer(file).then((buffer) => ({ buffer, path })), - ), - ) - .then((results) => { - const zipFile = new yazl.ZipFile(); - results.forEach((result) => { - zipFile.addBuffer(Buffer.from(result.buffer), result.path); - }); - zipFile.end(); - return zipFile; - }) - .then( - (zipFile) => - new Promise((resolve) => { - const output = new streamBuffers.WritableStreamBuffer(); - output.on("finish", () => { - resolve(output.getContents()); - }); - zipFile.outputStream.pipe(output); - }), - ); -} - -module.exports = { - $, - $$, - fileMapToBuffer, - listen, - revokeDownloadUrl, - createDownloadUrl, - createFileHanlder, - readText, - readArrayBuffer, -}; diff --git a/packages/plugin-packer/site/eslint.config.mjs b/packages/plugin-packer/site/eslint.config.mjs deleted file mode 100644 index 5ccf50f7e3..0000000000 --- a/packages/plugin-packer/site/eslint.config.mjs +++ /dev/null @@ -1,23 +0,0 @@ -import globals from "globals"; -import presetsPrettier from "@cybozu/eslint-config/flat/presets/prettier.js"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - ...presetsPrettier.map((config) => ({ - ...config, - rules: { - ...config.rules, - "n/no-unsupported-features/node-builtins": "off", - }, - })), - { - languageOptions: { - globals: { - ...globals.browser, - }, - }, - rules: { - "n/no-unsupported-features/node-builtins": "off", - }, - }, -]; diff --git a/packages/plugin-packer/site/index.js b/packages/plugin-packer/site/index.js deleted file mode 100644 index 16bdee38f8..0000000000 --- a/packages/plugin-packer/site/index.js +++ /dev/null @@ -1,193 +0,0 @@ -"use strict"; - -require("setimmediate"); // polyfill - -const { configureStore } = require("@reduxjs/toolkit"); -const { thunk } = require("redux-thunk"); -const logger = require("redux-logger").default; - -const { - $, - $$, - fileMapToBuffer, - listen, - readText, - readArrayBuffer, - createFileHanlder, -} = require("./dom"); -const View = require("./view"); - -const { reducer } = require("./reducer"); -const { - uploadPPK, - uploadPlugin, - createPluginZip, - reset, - uploadFailure, -} = require("./action"); -const { - generatePluginZip, - validatePlugin, - revokePluginUrls, -} = require("./plugin"); - -const $ppkFileUploader = $(".js-upload-ppk .js-file-upload"); -const $zipFileUploader = $(".js-upload-zip .js-file-upload"); -const $$fileUploader = $$(".js-file-upload"); - -const $$UploadArea = $$(".js-upload"); -const $zipDropArea = $(".js-upload-zip"); -const $ppkDropArea = $(".js-upload-ppk"); - -const $createBtn = $(".js-create-btn"); -const $createLoadingBtn = $(".js-create-loading-btn"); -const $clearBtn = $(".js-clear-btn"); - -const $$fileUploaders = $$(".js-file-upload"); - -const $zipOkIcon = $(".js-zip-ok-icon"); -const $ppkOkIcon = $(".js-ppk-ok-icon"); - -const $uploadZipLink = $(".js-upload-zip-link"); -const $uploadPPKLink = $(".js-upload-ppk-link"); - -const $download = $(".js-download"); -const $downloadPlugin = $(".js-download-plugin"); -const $downloadPluginId = $(".js-download-plugin-id"); -const $downloadPPK = $(".js-download-ppk"); - -const $error = $(".js-error"); -const $errorMessages = $(".js-error-messages"); - -const $zipFileName = $(".js-zip-file-name"); -const $ppkFileName = $(".js-ppk-file-name"); - -const view = new View({ - createLoadingBtn: $createLoadingBtn, - createBtn: $createBtn, - zipDropArea: $zipDropArea, - ppkDropArea: $ppkDropArea, - ppkOkIcon: $ppkOkIcon, - error: $error, - download: $download, - downloadPluginId: $downloadPluginId, - downloadPlugin: $downloadPlugin, - downloadPPK: $downloadPPK, - errorMessages: $errorMessages, - zipOkIcon: $zipOkIcon, - zipFileName: $zipFileName, - ppkFileName: $ppkFileName, -}); - -const middlewares = [thunk]; -if (process.env.NODE_ENV !== "production") { - middlewares.push(logger); -} - -const store = configureStore({ - reducer, - middleware: (getDefaultMiddleware) => { - return getDefaultMiddleware().concat(middlewares); - }, -}); - -store.subscribe(() => { - view.render(store.getState()); -}); - -const uploadPluginZipHandler = createFileHanlder((promise) => { - promise - .then((result) => { - if (result instanceof File) { - store.dispatch( - uploadPlugin( - result.name, - () => readArrayBuffer(result), - validatePlugin, - ), - ); - // Uploading a directory - } else if (result.entries instanceof Map) { - fileMapToBuffer(result.entries).then((buffer) => { - store.dispatch( - uploadPlugin( - result.name, - () => Promise.resolve(buffer), - validatePlugin, - ), - ); - }); - } else { - throw new Error("Something went wrong."); - } - }) - .catch((error) => { - store.dispatch(uploadFailure(error)); - }); -}); - -const uploadPPKHanlder = createFileHanlder((promise) => { - promise - .then((result) => { - if (result instanceof File) { - store.dispatch(uploadPPK(result.name, () => readText(result))); - // Uploading a directory - } else if (result.entries instanceof Map) { - store.dispatch( - uploadFailure(new Error("secret file should be a text file")), - ); - } else { - throw new Error("Something went wrong."); - } - }) - .catch((error) => { - store.dispatch(uploadFailure(error)); - }); -}); - -// Handle a file upload -listen($zipFileUploader, "change", uploadPluginZipHandler); -listen($ppkFileUploader, "change", uploadPPKHanlder); -listen($zipDropArea, "drop", uploadPluginZipHandler); -listen($ppkDropArea, "drop", uploadPPKHanlder); -// Hack to allow us to reupload the same file -listen($$fileUploader, "click", (e) => { - e.target.value = null; -}); - -// Handle click a button -listen($createBtn, "click", () => { - const state = store.getState(); - if (!state.contents.data) { - return; - } - revokePluginUrls(state.plugin); - store.dispatch(createPluginZip(generatePluginZip)); -}); -listen($clearBtn, "click", () => { - $$fileUploaders.forEach((el) => { - el.value = null; - }); - store.dispatch(reset()); -}); - -// Handle a click for a select file -listen($uploadZipLink, "click", (e) => { - e.preventDefault(); - $zipFileUploader.click(); -}); -listen($uploadPPKLink, "click", (e) => { - e.preventDefault(); - $ppkFileUploader.click(); -}); - -// Hanlde a drag and drop -listen($$UploadArea, "dragover", (e) => { - e.preventDefault(); - view.decorateDragOver(e.currentTarget); -}); -listen($$UploadArea, "dragleave", (e) => { - view.decorateDragLeave(e.currentTarget); -}); - -store.dispatch({ type: "__INIT__" }); diff --git a/packages/plugin-packer/site/plugin.js b/packages/plugin-packer/site/plugin.js deleted file mode 100644 index 1c84ed3ac9..0000000000 --- a/packages/plugin-packer/site/plugin.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -const packer = require("../dist/").default; -const { rezip } = require("../dist/zip"); -const { createDownloadUrl, revokeDownloadUrl } = require("./dom"); - -/** - * Generate a plugin zip - * @param {ArrayBuffer} contents - * @param {string} privateKey - * @return {Promise<*>} - */ -const generatePluginZip = (contents, privateKey) => { - if (!contents) { - return Promise.resolve(); - } - return rezip(Buffer.from(contents)).then((contentsZip) => - packer(contentsZip, privateKey), - ); -}; - -/** - * Validate plugin files - * We use generatePlugin to validate plugin zip and ppk - * @param {ArrayBuffer} contents - * @param {string} privateKey - * @return {Promise<*>} - */ -const validatePlugin = generatePluginZip; - -/** - * Create download URLs for a plugin and ppk - * @param {{plugin: ArrayBuffer, privateKey: string}} result - * @return {{plugin: string, ppk: string}} - */ -const createDownloadUrls = (result) => ({ - contents: createDownloadUrl(result.plugin, "application/zip"), - ppk: createDownloadUrl(result.privateKey, "text/plain"), -}); - -/** - * Create download URLs for a plugin and ppk - * @param {Object} plugin - */ -const revokePluginUrls = (plugin) => { - Object.keys(plugin.url).forEach((key) => { - revokeDownloadUrl(plugin.url[key]); - }); -}; - -module.exports = { - generatePluginZip, - validatePlugin, - createDownloadUrls, - revokePluginUrls, -}; diff --git a/packages/plugin-packer/site/reducer.js b/packages/plugin-packer/site/reducer.js deleted file mode 100644 index 0446760b35..0000000000 --- a/packages/plugin-packer/site/reducer.js +++ /dev/null @@ -1,128 +0,0 @@ -"use strict"; - -const { createDownloadUrls } = require("./plugin"); -const { - UPLOAD_FAILURE, - UPLOAD_PPK, - UPLOAD_PPK_START, - UPLOAD_PLUGIN, - UPLOAD_PLUGIN_START, - CREATE_PLUGIN_ZIP, - CREATE_PLUGIN_ZIP_START, - CREATE_PLUGIN_ZIP_FAILURE, - RESET, -} = require("./action"); - -const getInitialState = () => ({ - contents: { - data: null, - name: null, - }, - ppk: { - data: null, - name: null, - }, - plugin: { - id: null, - url: { - contents: null, - ppk: null, - }, - }, - error: null, - loading: false, -}); - -/** - * Reducer for an application - * @param {Object} state - * @param {{type: string, payload: *}} action - * @return {Object} - */ -// eslint-disable-next-line default-param-last -const reducer = (state = getInitialState(), action) => { - switch (action.type) { - case UPLOAD_PPK_START: { - const { ppk, plugin } = getInitialState(); - return Object.assign({}, state, { - ppk, - plugin, - error: null, - }); - } - case UPLOAD_PPK: - return Object.assign({}, state, { - ppk: action.payload, - }); - case UPLOAD_PLUGIN_START: { - const { contents, plugin } = getInitialState(); - return Object.assign({}, state, { - contents, - plugin, - error: null, - }); - } - case UPLOAD_PLUGIN: - return Object.assign({}, state, { - contents: action.payload, - }); - case CREATE_PLUGIN_ZIP_START: - return Object.assign({}, state, { - plugin: getInitialState().plugin, - error: null, - loading: true, - }); - case CREATE_PLUGIN_ZIP: - return Object.assign({}, state, { - ppk: { - data: action.payload.privateKey, - name: state.ppk.name || `${action.payload.id}.ppk`, - }, - plugin: { - id: action.payload.id, - url: createDownloadUrls(action.payload), - }, - loading: false, - }); - case UPLOAD_FAILURE: - case CREATE_PLUGIN_ZIP_FAILURE: - return Object.assign({}, state, { - error: action.payload, - loading: false, - }); - case RESET: - return getInitialState(); - default: - return state; - } -}; - -/** - * Return a basename of download files - * @param {Object} state - * @return {string} - */ -const getPluginBaseName = (state) => - `${state.contents.name.replace(/\.\w+$/, "")}.${state.plugin.id}`; - -/** - * Return a filename for a plugin zip - * @param {Object} state - * @return {string} - */ -const getDownloadPluginZipName = (state) => - `${getPluginBaseName(state)}.plugin.zip`; - -/** - * Return a filename for a secret file(ppk) - * @param {Object} state - * @return {string} - */ -const getDownloadPPKFileName = (state) => - `${getPluginBaseName(state)}.private.ppk`; - -module.exports = { - reducer, - getDownloadPluginZipName, - getDownloadPPKFileName, -}; diff --git a/packages/plugin-packer/site/test/action-test.js b/packages/plugin-packer/site/test/action-test.js deleted file mode 100644 index cdbbbdd8a2..0000000000 --- a/packages/plugin-packer/site/test/action-test.js +++ /dev/null @@ -1,179 +0,0 @@ -"use strict"; - -import { describe, it, expect, vi, beforeEach } from "vitest"; - -const { - UPLOAD_PPK, - UPLOAD_PPK_START, - UPLOAD_FAILURE, - UPLOAD_PLUGIN, - UPLOAD_PLUGIN_START, - CREATE_PLUGIN_ZIP, - CREATE_PLUGIN_ZIP_START, - CREATE_PLUGIN_ZIP_FAILURE, - RESET, - uploadFailure, - uploadPPK, - uploadPlugin, - reset, - createPluginZip, -} = require("../action"); - -describe("action", () => { - let dispatch; - beforeEach(() => { - dispatch = vi.fn(); - }); - describe("uploadFailure", () => { - it("should dispatch an UPLOAD_FAILURE action with an error", () => { - const error = { message: "error" }; - expect(uploadFailure(error)).toStrictEqual({ - type: UPLOAD_FAILURE, - payload: error, - }); - }); - }); - describe("uploadPPK", () => { - it("should dispatch UPLOAD_PPK_START action", () => { - const promise = Promise.resolve("value"); - uploadPPK("hoge.ppk", () => promise)(dispatch); - expect(dispatch.mock.calls.length).toBe(1); - // https://github.com/facebook/jest/issues/7929 - expect([...dispatch.mock.calls[0]]).toStrictEqual([ - { type: UPLOAD_PPK_START }, - ]); - }); - it("should dispatch an UPLOAD_PPK action with payload including data and name properties", async () => { - const promise = Promise.resolve("value"); - uploadPPK("hoge.ppk", () => promise)(dispatch); - await promise; - expect(dispatch.mock.calls.length).toBe(2); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: UPLOAD_PPK, - payload: { - data: "value", - name: "hoge.ppk", - }, - }, - ]); - }); - it("should dispatch UPLOAD_FAILURE action if fileReader was failure", async () => { - uploadPPK("hoge.ppk", () => Promise.reject("ng"))(dispatch); - await vi.waitFor(() => { - expect(dispatch.mock.calls.length).toBe(2); - }); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: UPLOAD_FAILURE, - payload: "ng", - }, - ]); - }); - }); - describe("uploadPlugin", () => { - it("should dispatch UPLOAD_PLUGIN_START action", () => { - uploadPlugin( - "hoge.zip", - () => Promise.resolve("ok"), - () => Promise.resolve(), - )(dispatch); - expect(dispatch.mock.calls.length).toBe(1); - expect([...dispatch.mock.calls[0]]).toStrictEqual([ - { type: UPLOAD_PLUGIN_START }, - ]); - }); - it("should dispatch UPLOAD_PLUGIN action if validateManifest was success", async () => { - const validateManifestStub = vi.fn().mockResolvedValue(); - uploadPlugin( - "hoge.zip", - () => Promise.resolve("ok"), - validateManifestStub, - )(dispatch); - await vi.waitFor(() => { - expect(dispatch.mock.calls.length).toBe(2); - }); - expect(validateManifestStub.mock.calls[0][0]).toBe("ok"); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: UPLOAD_PLUGIN, - payload: { - data: "ok", - name: "hoge.zip", - }, - }, - ]); - }); - it("should dispatch UPLOAD_FAILURE action if validateManifest was failure", async () => { - const validateManifestStub = vi.fn().mockRejectedValue("error"); - uploadPlugin( - "hoge.zip", - () => Promise.resolve("ng"), - validateManifestStub, - )(dispatch); - await vi.waitFor(() => { - expect(dispatch.mock.calls.length).toBe(2); - }); - expect(validateManifestStub.mock.calls[0][0]).toBe("ng"); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: UPLOAD_FAILURE, - payload: "error", - }, - ]); - }); - }); - describe("createPluginZip", () => { - it("should dispatch CREATE_PLUGIN_ZIP_START action", () => { - const getState = () => ({ - contents: {}, - ppk: {}, - }); - createPluginZip(() => Promise.resolve)(dispatch, getState); - expect([...dispatch.mock.calls[0]]).toStrictEqual([ - { type: CREATE_PLUGIN_ZIP_START }, - ]); - }); - }); - it("should dispatch CREATE_PLUGIN_ZIP action with the payload if generatePluginZip was success", async () => { - const getState = () => ({ - contents: {}, - ppk: {}, - }); - createPluginZip(() => Promise.resolve({ foo: "bar" }))(dispatch, getState); - await vi.waitFor(() => { - expect(dispatch.mock.calls.length).toBe(2); - }); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: CREATE_PLUGIN_ZIP, - payload: { - foo: "bar", - }, - }, - ]); - }); - it("should dispatch CREATE_PLUGIN_ZIP_FAILURE action with the error if generatePluginZip was failure", async () => { - const getState = () => ({ - contents: {}, - ppk: {}, - }); - createPluginZip(() => Promise.reject("error"))(dispatch, getState); - await vi.waitFor(() => { - expect(dispatch.mock.calls.length).toBe(2); - }); - expect([...dispatch.mock.calls[1]]).toStrictEqual([ - { - type: CREATE_PLUGIN_ZIP_FAILURE, - payload: "error", - }, - ]); - }); - describe("reset", () => { - it("should dispatch RESET action", () => { - expect(reset()).toStrictEqual({ - type: RESET, - }); - }); - }); -}); diff --git a/packages/plugin-packer/site/test/reducer-test.js b/packages/plugin-packer/site/test/reducer-test.js deleted file mode 100644 index 6954f7d20d..0000000000 --- a/packages/plugin-packer/site/test/reducer-test.js +++ /dev/null @@ -1,269 +0,0 @@ -"use strict"; - -import { describe, it, expect, beforeEach } from "vitest"; - -const { - reducer, - getDownloadPluginZipName, - getDownloadPPKFileName, -} = require("../reducer"); -const { - UPLOAD_FAILURE, - UPLOAD_PPK_START, - UPLOAD_PPK, - UPLOAD_PLUGIN_START, - UPLOAD_PLUGIN, - CREATE_PLUGIN_ZIP_START, - CREATE_PLUGIN_ZIP, - CREATE_PLUGIN_ZIP_FAILURE, - RESET, -} = require("../action"); - -const expectedInitialState = { - contents: { - data: null, - name: null, - }, - ppk: { - data: null, - name: null, - }, - plugin: { - id: null, - url: { - contents: null, - ppk: null, - }, - }, - error: null, - loading: false, -}; - -describe("reducer", () => { - beforeEach(() => { - global.URL = { - createObjectURL: (data) => data, - }; - }); - describe("initial state", () => { - it("should be initialized all values", () => { - expect(reducer(undefined, { type: "INIT_TEST" })).toStrictEqual( - expectedInitialState, - ); - }); - }); - describe("UPLOAD_PPK_START", () => { - it("should reset state.ppk, state.plugin and state.error", () => { - const state = { - contents: { - data: "hoge", - name: "bar", - }, - ppk: { - data: "ok", - name: "okok", - }, - plugin: { - id: "hoge", - }, - error: "hoge", - }; - expect(reducer(state, { type: UPLOAD_PPK_START })).toStrictEqual({ - contents: { - data: "hoge", - name: "bar", - }, - ppk: { - data: null, - name: null, - }, - plugin: { - id: null, - url: { - contents: null, - ppk: null, - }, - }, - error: null, - }); - }); - }); - describe("UPLOAD_PPK", () => { - it("should update state.ppk with the payload", () => { - const state = { - ppk: null, - }; - const ppk = { data: [], name: "hgoe.ppk" }; - expect(reducer(state, { type: UPLOAD_PPK, payload: ppk })).toStrictEqual({ - ppk, - }); - }); - }); - describe("UPLOAD_PLUGIN_START", () => { - it("should reset state.contents, state.plugin and state.error", () => { - const state = { - contents: { - data: "hoge", - name: "bar", - }, - ppk: { - data: "ok", - name: "okok", - }, - plugin: { - id: "hoge", - }, - error: "hoge", - }; - expect(reducer(state, { type: UPLOAD_PLUGIN_START })).toStrictEqual({ - contents: { - data: null, - name: null, - }, - ppk: { - data: "ok", - name: "okok", - }, - plugin: { - id: null, - url: { - contents: null, - ppk: null, - }, - }, - error: null, - }); - }); - }); - describe("UPLOAD_PLUGIN", () => { - it("should update satte.contents with payload", () => { - const state = { - contents: null, - }; - const contents = { data: [], name: "hoge.zip" }; - expect( - reducer(state, { type: UPLOAD_PLUGIN, payload: contents }), - ).toStrictEqual({ - contents, - }); - }); - }); - describe("CREATE_PLUGIN_ZIP_START", () => { - it("should reset state.plugin and state.error and update state.loging true", () => { - const state = { - contents: "contents", - ppk: "ppk", - plugin: { - id: "hoge", - url: { - contents: "hogehoge", - ppk: "foo", - }, - }, - error: "error", - loading: false, - }; - expect(reducer(state, { type: CREATE_PLUGIN_ZIP_START })).toStrictEqual({ - contents: "contents", - ppk: "ppk", - plugin: expectedInitialState.plugin, - error: null, - loading: true, - }); - }); - }); - describe("CREATE_PLUGIN_ZIP", () => { - it("should update state.plugin and state.ppk if it is necessary, and update loading false", () => { - const state = { - ppk: { - data: null, - name: null, - }, - plugin: { - id: null, - url: { - contents: null, - ppk: null, - }, - loading: true, - }, - }; - const action = { - type: CREATE_PLUGIN_ZIP, - payload: { - privateKey: "secret", - plugin: "plugin data", - id: "abcd", - }, - }; - const newState = reducer(state, action); - expect(newState.ppk).toStrictEqual({ - data: "secret", - name: "abcd.ppk", - }); - expect(newState.plugin.id).toBe("abcd"); - expect(newState.plugin.url.contents).toBeInstanceOf(Blob); - expect(newState.plugin.url.ppk).toBeInstanceOf(Blob); - expect(newState.loading).toBe(false); - }); - }); - describe("UPLOAD_FAILURE and CREATE_PLUGIN_ZIP_FAILURE", () => { - it("should update state.error and update state.loding false", () => { - const state = { - error: null, - loading: true, - }; - expect( - reducer(state, { type: UPLOAD_FAILURE, payload: "error" }), - ).toStrictEqual({ - error: "error", - loading: false, - }); - expect( - reducer(state, { type: CREATE_PLUGIN_ZIP_FAILURE, payload: "error" }), - ).toStrictEqual({ - error: "error", - loading: false, - }); - }); - }); - describe("RESET", () => { - it("should reset all values", () => { - const state = "dirty"; - expect(reducer(state, { type: RESET })).toStrictEqual( - expectedInitialState, - ); - }); - }); - describe("getDownloadPluginZipName", () => { - it("should return a filename to download a plugin zip", () => { - expect( - getDownloadPluginZipName({ - contents: { - name: "awesome-plugin.zip", - }, - plugin: { - id: "abcd", - }, - }), - ).toBe("awesome-plugin.abcd.plugin.zip"); - }); - }); - describe("getDownloadPPKFileName", () => { - it("should return a filename to download a private key", () => { - expect( - getDownloadPPKFileName({ - contents: { - name: "awesome-plugin.zip", - }, - ppk: { - name: "secret.ppk", - }, - plugin: { - id: "abcd", - }, - }), - ).toBe("awesome-plugin.abcd.private.ppk"); - }); - }); -}); diff --git a/packages/plugin-packer/site/view.js b/packages/plugin-packer/site/view.js deleted file mode 100644 index 1e1f256660..0000000000 --- a/packages/plugin-packer/site/view.js +++ /dev/null @@ -1,162 +0,0 @@ -"use strict"; - -const { - getDownloadPluginZipName, - getDownloadPPKFileName, -} = require("./reducer"); - -/** - * View class - */ -class View { - /** - * @constructor - * @param {Object} elements - */ - constructor(elements) { - this.$ = elements; - } - /** - * Show the element on the display - * @param {HTMLElement} el - */ - show(el) { - el.classList.remove("hide"); - } - /** - * Hide the element on the display - * @param {HTMLElement} el - */ - hide(el) { - el.classList.add("hide"); - } - /** - * Render the view with a passed state - * @param {Object} state - */ - render(state) { - this.renderResult(state); - this.renderUploadPPKArea(state); - this.renderUploadZipArea(state); - this.renderBtn(state); - } - /** - * Decorate the element for drag over - * @param {HTMLElement} el - */ - decorateDragOver(el) { - el.classList.add("upload-area__droppable--drag"); - } - /** - * Decorate the element for drag leave - * @param {HTMLElement} el - */ - decorateDragLeave(el) { - el.classList.remove("upload-area__droppable--drag"); - } - /** - * Render a botton area with a passed state - * @param {Object} state - */ - renderBtn(state) { - if (state.loading) { - this.show(this.$.createLoadingBtn); - this.hide(this.$.createBtn); - } else { - this.show(this.$.createBtn); - this.hide(this.$.createLoadingBtn); - } - if (state.contents.data) { - this.$.createBtn.classList.remove("disabled"); - } else if (!state.loading) { - this.$.createBtn.classList.add("disabled"); - } - } - /** - * Render an area for upload plugin zip with a passed state - * @param {Object} state - */ - renderUploadZipArea(state) { - this.decorateDragLeave(this.$.zipDropArea); - if (state.contents.data) { - this.show(this.$.zipOkIcon); - } else { - this.hide(this.$.zipOkIcon); - } - if (state.contents.name) { - this.$.zipFileName.textContent = state.contents.name; - } else { - this.$.zipFileName.textContent = "..."; - } - } - /** - * Render an area for upload ppk with a passed state - * @param {Object} state - */ - renderUploadPPKArea(state) { - this.decorateDragLeave(this.$.ppkDropArea); - if (state.ppk.data) { - this.show(this.$.ppkOkIcon); - } else { - this.hide(this.$.ppkOkIcon); - } - if (state.ppk.name) { - this.$.ppkFileName.textContent = state.ppk.name; - } else { - this.$.ppkFileName.textContent = "..."; - } - } - /** - * Render a result to create a plugin zip with a passed state - * @param {Object} state - */ - renderResult(state) { - if (state.error) { - this.renderErrorMessages(state); - } else if (state.plugin.url.contents) { - this.renderDownloadLinks(state); - } else { - this.hide(this.$.error); - this.hide(this.$.download); - } - } - /** - * Render download links for a plugin zip and ppk with a passed state - * @param {Object} state - */ - renderDownloadLinks(state) { - const pluginName = getDownloadPluginZipName(state); - const ppkName = getDownloadPPKFileName(state); - - this.hide(this.$.error); - this.show(this.$.download); - this.$.downloadPluginId.textContent = state.plugin.id; - this.$.downloadPlugin.href = state.plugin.url.contents; - this.$.downloadPlugin.download = pluginName; - this.$.downloadPlugin.innerText = pluginName; - this.$.downloadPPK.href = state.plugin.url.ppk; - this.$.downloadPPK.download = ppkName; - this.$.downloadPPK.innerText = ppkName; - } - /** - * Render error messages for the result of creating a plugin zip with a passed state - * @param {Object} state - */ - renderErrorMessages(state) { - this.hide(this.$.download); - this.show(this.$.error); - const e = state.error; - let errors = e.validationErrors; - if (!e.validationErrors) { - errors = [e.message]; - } - const ul = this.$.errorMessages; - ul.innerHTML = ""; - errors.forEach((error) => { - const li = document.createElement("li"); - li.textContent = error; - ul.appendChild(li); - }); - } -} -module.exports = View; diff --git a/packages/plugin-packer/site/vitest.config.ts b/packages/plugin-packer/site/vitest.config.ts deleted file mode 100644 index 596e4d7dd7..0000000000 --- a/packages/plugin-packer/site/vitest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - test: { - include: ["site/test/**/*-test.js"], - environment: "jsdom", - globals: true, - }, -}); diff --git a/packages/plugin-packer/src/cli.ts b/packages/plugin-packer/src/cli.ts deleted file mode 100644 index d5cd1e3691..0000000000 --- a/packages/plugin-packer/src/cli.ts +++ /dev/null @@ -1,52 +0,0 @@ -import meow from "meow"; -import packerCli from "./packer-cli"; - -const USAGE = "$ kintone-plugin-packer [options] PLUGIN_DIR"; - -const cli = meow( - ` -Usage - ${USAGE} - -Options - --ppk PPK_FILE: Private key file. If omitted, it's generated into '.ppk' in the same directory of PLUGIN_DIR. - --out PLUGIN_FILE: The default is 'plugin.zip' in the same directory of PLUGIN_DIR. - --watch: Watch PLUGIN_DIR for the changes. -`, - { - flags: { - ppk: { - type: "string", - }, - out: { - type: "string", - }, - watch: { - type: "boolean", - alias: "w", - }, - }, - }, -); - -const pluginDir = cli.input[0]; - -if (!pluginDir) { - console.error("Error: An argument `PLUGIN_DIR` is required."); - cli.showHelp(); -} - -const { ppk, out, watch } = cli.flags; - -if (process.env.NODE_ENV === "test") { - const flags: Record = { watch: watch ?? false }; - if (ppk) { - flags.ppk = ppk; - } - if (out) { - flags.out = out; - } - console.log(JSON.stringify({ pluginDir, flags })); -} else { - packerCli(pluginDir, { ppk, out, watch }); -} diff --git a/packages/plugin-packer/src/console.ts b/packages/plugin-packer/src/console.ts deleted file mode 100644 index ea7153d032..0000000000 --- a/packages/plugin-packer/src/console.ts +++ /dev/null @@ -1,5 +0,0 @@ -export default { - log: console.log, - error: console.error, - warn: console.warn, -}; diff --git a/packages/plugin-packer/src/create-contents-zip.ts b/packages/plugin-packer/src/create-contents-zip.ts deleted file mode 100644 index c9888e9442..0000000000 --- a/packages/plugin-packer/src/create-contents-zip.ts +++ /dev/null @@ -1,32 +0,0 @@ -import path from "path"; -import { ZipFile } from "yazl"; -import streamBuffers from "stream-buffers"; -import { sourceList } from "./sourcelist"; -import _debug from "debug"; - -const debug = _debug("create-contents-zip"); - -/** - * Create a zipped contents - */ -export const createContentsZip = ( - pluginDir: string, - manifest: any, -): Promise => { - return new Promise((res, rej) => { - const output = new streamBuffers.WritableStreamBuffer(); - const zipFile = new ZipFile(); - let size: any = null; - output.on("finish", () => { - debug(`plugin.zip: ${size} bytes`); - res(output.getContents() as any); - }); - zipFile.outputStream.pipe(output); - sourceList(manifest).forEach((src) => { - zipFile.addFile(path.join(pluginDir, src), src); - }); - zipFile.end(undefined, ((finalSize: number) => { - size = finalSize; - }) as any); - }); -}; diff --git a/packages/plugin-packer/src/gen-error-msg.ts b/packages/plugin-packer/src/gen-error-msg.ts deleted file mode 100644 index cd04e5f9fe..0000000000 --- a/packages/plugin-packer/src/gen-error-msg.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type * as Ajv from "ajv"; - -export const generateErrorMessages = (errors: Ajv.ErrorObject[]): string[] => { - return errors.map((e) => { - if (e.keyword === "enum") { - return `"${e.instancePath}" ${e.message} (${( - e.params.allowedValues as any[] - ) - .map((v) => `"${v}"`) - .join(", ")})`; - } - return `"${e.instancePath}" ${e.message}`; - }); -}; diff --git a/packages/plugin-packer/src/hex2a.ts b/packages/plugin-packer/src/hex2a.ts deleted file mode 100644 index 67bdc03aab..0000000000 --- a/packages/plugin-packer/src/hex2a.ts +++ /dev/null @@ -1,18 +0,0 @@ -const N_TO_A = "a".charCodeAt(0) - "0".charCodeAt(0); -const A_TO_K = "k".charCodeAt(0) - "a".charCodeAt(0); - -/** - * `tr '0-9a-f' 'a-p'` in JS - */ -export const hex2a = (hex: string): string => { - return Array.from(hex) - .map((s) => { - if (s >= "0" && s <= "9") { - return String.fromCharCode(s.charCodeAt(0) + N_TO_A); - } else if (s >= "a" && s <= "f") { - return String.fromCharCode(s.charCodeAt(0) + A_TO_K); - } - throw new Error(`invalid char: ${s}`); - }) - .join(""); -}; diff --git a/packages/plugin-packer/src/index.ts b/packages/plugin-packer/src/index.ts deleted file mode 100644 index de7e96aec3..0000000000 --- a/packages/plugin-packer/src/index.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { ZipFile } from "yazl"; -import RSA from "node-rsa"; -import streamBuffers from "stream-buffers"; -import _debug from "debug"; -import { sign } from "./sign"; -import { uuid } from "./uuid"; -import { validateContentsZip } from "./zip"; - -const debug = _debug("packer"); - -const packer = ( - contentsZip: Buffer, - privateKey_?: string, -): Promise<{ - plugin: Buffer; - privateKey: string; - id: string; -}> => { - let privateKey = privateKey_; - let key; - if (privateKey) { - key = new RSA(privateKey); - } else { - debug("generating a new key"); - key = new RSA({ b: 1024 }); - privateKey = key.exportKey("pkcs1-private"); - } - - const signature = sign(contentsZip, privateKey); - const publicKey = key.exportKey("pkcs8-public-der"); - const id = uuid(publicKey); - debug(`id : ${id}`); - return validateContentsZip(contentsZip) - .then(() => zip(contentsZip, publicKey, signature)) - .then((plugin) => ({ - plugin, - privateKey, - id, - })) as any; -}; - -export default packer; - -/** - * Create plugin.zip - */ -const zip = ( - contentsZip: Buffer, - publicKey: Buffer, - signature: Buffer, -): Promise => { - debug(`zip(): start`); - return new Promise((res, rej) => { - const output = new streamBuffers.WritableStreamBuffer(); - const zipFile = new ZipFile(); - output.on("finish", () => { - debug(`zip(): output finish event`); - res(output.getContents() as any); - }); - zipFile.outputStream.pipe(output); - zipFile.addBuffer(contentsZip, "contents.zip"); - zipFile.addBuffer(publicKey, "PUBKEY"); - zipFile.addBuffer(signature, "SIGNATURE"); - zipFile.end(undefined, ((finalSize: number) => { - debug(`zip(): ZipFile end event: finalSize ${finalSize} bytes`); - }) as any); - }); -}; diff --git a/packages/plugin-packer/src/pack-plugin-from-manifest.ts b/packages/plugin-packer/src/pack-plugin-from-manifest.ts deleted file mode 100644 index ce9ee6b7c5..0000000000 --- a/packages/plugin-packer/src/pack-plugin-from-manifest.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fs from "fs"; -import path from "path"; -import packer from "."; -import { createContentsZip } from "./create-contents-zip"; - -export const packPluginFromManifest = ( - manifestJSONPath: string, - privateKey: string, -): Promise<{ plugin: Buffer; privateKey: string; id: string }> => { - return new Promise((resolve, reject) => { - try { - resolve(JSON.parse(fs.readFileSync(manifestJSONPath, "utf-8"))); - } catch (e) { - reject(e); - } - }) - .then((manifest) => - createContentsZip(path.dirname(manifestJSONPath), manifest), - ) - .then((buffer) => packer(buffer as any, privateKey)); -}; diff --git a/packages/plugin-packer/src/packer-cli.ts b/packages/plugin-packer/src/packer-cli.ts deleted file mode 100644 index 351aa06425..0000000000 --- a/packages/plugin-packer/src/packer-cli.ts +++ /dev/null @@ -1,175 +0,0 @@ -import path from "path"; -import fs from "fs"; -import { promisify } from "util"; -import os from "os"; -import * as chokidar from "chokidar"; -import { mkdirp } from "mkdirp"; -import _debug from "debug"; -import validate from "@kintone/plugin-manifest-validator"; -import packer from "."; -import console from "./console"; -import { generateErrorMessages } from "./gen-error-msg"; -import { createContentsZip } from "./create-contents-zip"; - -const debug = _debug("cli"); -const writeFile = promisify(fs.writeFile); - -export type Options = Partial<{ - ppk: string; - out: string; - watch: boolean; - packerMock_: typeof packer; -}>; - -const cli = (pluginDir: string, options_?: Options) => { - const options = options_ || {}; - const packerLocal = options.packerMock_ ? options.packerMock_ : packer; - - return Promise.resolve() - .then(() => { - // 1. check if pluginDir is a directory - if (!fs.statSync(pluginDir).isDirectory()) { - throw new Error(`${pluginDir} should be a directory.`); - } - - // 2. check pluginDir/manifest.json - const manifestJsonPath = path.join(pluginDir, "manifest.json"); - if (!fs.statSync(manifestJsonPath).isFile()) { - throw new Error("Manifest file $PLUGIN_DIR/manifest.json not found."); - } - - // 3. validate manifest.json - const manifest = loadJson(manifestJsonPath); - throwIfInvalidManifest(manifest, pluginDir); - - let outputDir = path.dirname(path.resolve(pluginDir)); - let outputFile = path.join(outputDir, "plugin.zip"); - if (options.out) { - outputFile = options.out; - outputDir = path.dirname(path.resolve(outputFile)); - } - debug(`outputDir : ${outputDir}`); - debug(`outputFile : ${outputFile}`); - - // 4. generate new ppk if not specified - const ppkFile = options.ppk; - let privateKey: string; - if (ppkFile) { - debug(`loading an existing key: ${ppkFile}`); - privateKey = fs.readFileSync(ppkFile, "utf8"); - } - - // 5. package plugin.zip - return Promise.all([ - mkdirp(outputDir), - createContentsZip(pluginDir, manifest).then((contentsZip) => - packerLocal(contentsZip, privateKey), - ), - ]).then((result) => { - const output = result[1]; - const ppkFilePath = path.join(outputDir, `${output.id}.ppk`); - if (!ppkFile) { - fs.writeFileSync(ppkFilePath, output.privateKey, "utf8"); - } - - if (options.watch) { - // change events are fired before changed files are flushed on Windows, - // which generate an invalid plugin zip. - // in order to fix this, we use awaitWriteFinish option only on Windows. - const watchOptions = - os.platform() === "win32" - ? { - awaitWriteFinish: { - stabilityThreshold: 1000, - pollInterval: 250, - }, - } - : {}; - const watcher = chokidar.watch(pluginDir, watchOptions); - watcher.on("change", () => { - cli( - pluginDir, - Object.assign({}, options, { - watch: false, - ppk: options.ppk || ppkFilePath, - }), - ); - }); - } - return outputPlugin(outputFile, output.plugin); - }); - }) - .then((outputFile) => { - console.log("Succeeded:", outputFile); - return outputFile; - }) - .catch((error) => { - console.error("Failed:", error.message); - return Promise.reject(error); - }); -}; - -export default cli; - -const throwIfInvalidManifest = (manifest: any, pluginDir: string) => { - const result = validate(manifest, { - maxFileSize: validateMaxFileSize(pluginDir), - fileExists: validateFileExists(pluginDir), - }); - debug(result); - - if (result.warnings && result.warnings.length > 0) { - result.warnings.forEach((warning) => { - console.warn(`WARN: ${warning.message}`); - }); - } - - if (!result.valid) { - const msgs = generateErrorMessages(result.errors ?? []); - console.error("Invalid manifest.json:"); - msgs.forEach((msg) => { - console.error(`- ${msg}`); - }); - throw new Error("Invalid manifest.json"); - } -}; - -/** - * Create and save plugin.zip - */ -const outputPlugin = (outputPath: string, plugin: Buffer): Promise => { - return writeFile(outputPath, plugin).then((arg) => outputPath); -}; - -/** - * Load JSON file without caching - */ -const loadJson = (jsonPath: string) => { - const content = fs.readFileSync(jsonPath, "utf8"); - return JSON.parse(content); -}; - -/** - * Return validator for `maxFileSize` keyword - */ -const validateMaxFileSize = (pluginDir: string) => { - return (maxBytes: number, filePath: string) => { - try { - const stat = fs.statSync(path.join(pluginDir, filePath)); - return stat.size <= maxBytes; - } catch (e) { - return false; - } - }; -}; - -const validateFileExists = (pluginDir: string) => { - return (filePath: string) => { - try { - const stat = fs.statSync(path.join(pluginDir, filePath)); - return stat.isFile(); - } catch (e) { - return false; - } - }; -}; diff --git a/packages/plugin-packer/src/sign.ts b/packages/plugin-packer/src/sign.ts deleted file mode 100644 index 1101455942..0000000000 --- a/packages/plugin-packer/src/sign.ts +++ /dev/null @@ -1,8 +0,0 @@ -import RSA from "node-rsa"; - -export const sign = (contents: Buffer, privateKey: string): Buffer => { - const key = new RSA(privateKey, "pkcs1-private-pem", { - signingScheme: "pkcs1-sha1", - }); - return key.sign(contents); -}; diff --git a/packages/plugin-packer/src/sourcelist.ts b/packages/plugin-packer/src/sourcelist.ts deleted file mode 100644 index 2fa04139f0..0000000000 --- a/packages/plugin-packer/src/sourcelist.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Create content file list from manifest.json - */ -export const sourceList = ( - // TODO: Define and use menifest type - manifest: any, -): string[] => { - const sourceTypes = [ - ["desktop", "js"], - ["desktop", "css"], - ["mobile", "js"], - ["mobile", "css"], - ["config", "js"], - ["config", "css"], - ]; - const list = sourceTypes - .map((t) => manifest[t[0]] && manifest[t[0]][t[1]]) - .filter((i) => !!i) - .reduce((a, b) => a.concat(b), []) - .filter((file: any) => !/^https?:\/\//.test(file)); - if (manifest.config && manifest.config.html) { - list.push(manifest.config.html); - } - list.push("manifest.json", manifest.icon); - // Make the file list unique - return Array.from(new Set(list)); -}; diff --git a/packages/plugin-packer/src/uuid.ts b/packages/plugin-packer/src/uuid.ts deleted file mode 100644 index 8b11903eea..0000000000 --- a/packages/plugin-packer/src/uuid.ts +++ /dev/null @@ -1,9 +0,0 @@ -import crypto from "crypto"; -import { hex2a } from "./hex2a"; - -export const uuid = (publicKey: Buffer): string => { - const hash = crypto.createHash("sha256"); - hash.update(publicKey); - const hexId = hash.digest().toString("hex").slice(0, 32); - return hex2a(hexId); -}; diff --git a/packages/plugin-packer/src/zip.ts b/packages/plugin-packer/src/zip.ts deleted file mode 100644 index 245bec7188..0000000000 --- a/packages/plugin-packer/src/zip.ts +++ /dev/null @@ -1,176 +0,0 @@ -import path from "path"; -import * as yazl from "yazl"; -import * as yauzl from "yauzl"; -import { promisify } from "util"; -import validate from "@kintone/plugin-manifest-validator"; -import * as streamBuffers from "stream-buffers"; - -import { generateErrorMessages } from "./gen-error-msg"; -import { sourceList } from "./sourcelist"; -import type internal from "stream"; - -type ManifestJson = any; -type Entries = Map; - -interface PreprocessedContentsZip { - zipFile: yauzl.ZipFile; - entries: Entries; - manifestJson: ManifestJson; - manifestPath: string; -} - -/** - * Extract, validate and rezip contents.zip - */ -export const rezip = (contentsZip: Buffer): Promise => { - return preprocessToRezip(contentsZip).then( - ({ zipFile, entries, manifestJson, manifestPath }) => { - validateManifest(entries, manifestJson, manifestPath); - return rezipContents(zipFile, entries, manifestJson, manifestPath); - }, - ); -}; - -/** - * Validate a buffer of contents.zip - */ -export const validateContentsZip = (contentsZip: Buffer): Promise => { - return preprocessToRezip(contentsZip).then( - ({ entries, manifestJson, manifestPath }) => - validateManifest(entries, manifestJson, manifestPath), - ); -}; - -/** - * Create an intermediate representation for contents.zip - */ -const preprocessToRezip = ( - contentsZip: Buffer, -): Promise => { - return zipEntriesFromBuffer(contentsZip).then((result) => { - const manifestList = Array.from(result.entries.keys()).filter( - (file) => path.basename(file) === "manifest.json", - ); - if (manifestList.length === 0) { - throw new Error("The zip file has no manifest.json"); - } else if (manifestList.length > 1) { - throw new Error("The zip file has many manifest.json files"); - } - (result as any).manifestPath = manifestList[0]; - const manifestEntry = result.entries.get((result as any).manifestPath); - return getManifestJsonFromEntry(result.zipFile, manifestEntry).then( - (json: any) => Object.assign(result, { manifestJson: json }), - ) as any; - }); -}; - -const getManifestJsonFromEntry = ( - zipFile: yauzl.ZipFile, - zipEntry: yauzl.ZipFile, -): Promise => { - return zipEntryToString(zipFile, zipEntry).then((str) => JSON.parse(str)); -}; - -const zipEntriesFromBuffer = ( - contentsZip: Buffer, -): Promise<{ - zipFile: yauzl.ZipFile; - entries: Entries; -}> => { - return promisify(yauzl.fromBuffer)(contentsZip).then( - (zipFile) => - new Promise((res, rej) => { - const entries = new Map(); - const result = { - zipFile, - entries, - }; - zipFile?.on("entry", (entry) => { - entries.set(entry.fileName, entry); - }); - zipFile?.on("end", () => { - res(result); - }); - zipFile?.on("error", rej); - }), - ) as any; -}; - -const zipEntryToString = ( - zipFile: yauzl.ZipFile, - zipEntry: any, -): Promise => { - return new Promise((res, rej) => { - zipFile.openReadStream(zipEntry, (e, stream) => { - if (e) { - rej(e); - } else { - const output = new streamBuffers.WritableStreamBuffer(); - output.on("finish", () => { - res(output.getContents().toString("utf8")); - }); - stream?.pipe(output); - } - }); - }); -}; - -const validateManifest = ( - entries: Entries, - manifestJson: ManifestJson, - manifestPath: string, -) => { - // entry.fileName is a relative path separated by posix style(/) so this makes separators always posix style. - const getEntryKey = (filePath: string) => - path - .join(path.dirname(manifestPath), filePath) - .replace(new RegExp(`\\${path.sep}`, "g"), "/"); - const result = validate(manifestJson, { - relativePath: (filePath) => entries.has(getEntryKey(filePath)), - maxFileSize: (maxBytes, filePath) => { - const entry = entries.get(getEntryKey(filePath)); - if (entry) { - return entry.uncompressedSize <= maxBytes; - } - return false; - }, - }); - if (!result.valid) { - const errors = generateErrorMessages(result.errors ?? []); - const e: any = new Error(errors.join(", ")); - e.validationErrors = errors; - throw e; - } -}; - -const rezipContents = ( - zipFile: yauzl.ZipFile, - entries: Entries, - manifestJson: ManifestJson, - manifestPath: string, -): Promise => { - const manifestPrefix = path.dirname(manifestPath); - - return new Promise((res, rej) => { - const newZipFile = new yazl.ZipFile(); - (newZipFile as any).on("error", rej); - const output = new streamBuffers.WritableStreamBuffer(); - output.on("finish", () => { - res(output.getContents() as Buffer); - }); - newZipFile.outputStream.pipe(output); - const openReadStream = promisify(zipFile.openReadStream.bind(zipFile)); - Promise.all( - sourceList(manifestJson).map((src) => { - const entry = entries.get(path.join(manifestPrefix, src)); - return openReadStream(entry).then((stream) => { - newZipFile.addReadStream(stream as internal.Readable, src, { - size: entry.uncompressedSize, - }); - }); - }), - ).then(() => { - newZipFile.end(); - }); - }); -}; diff --git a/packages/plugin-packer/test/bin.spec.ts b/packages/plugin-packer/test/bin.spec.ts deleted file mode 100644 index 15ef5ffe28..0000000000 --- a/packages/plugin-packer/test/bin.spec.ts +++ /dev/null @@ -1,76 +0,0 @@ -import path from "path"; -import execa from "execa"; -import pkg from "../package.json"; - -describe("bin", () => { - it("should output version with --version", () => - exec("--version").then((result) => { - expect(result.stdout).toBe(pkg.version); - })); - - it("should fail without args", () => - exec().then( - () => { - throw new Error("should be rejected"); - }, - (result) => { - expect(/An argument `PLUGIN_DIR` is required/.test(result.stderr)).toBe( - true, - ); - }, - )); - - it("should recieve 1st arg as PLUGIN_DIR", () => - exec("foo").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: false }, - }); - })); - - it("should recieve --ppk", () => - exec("foo", "--ppk", "bar").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: false, ppk: "bar" }, - }); - })); - - it("should recieve --out", () => - exec("foo", "--out", "bar").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: false, out: "bar" }, - }); - })); - - it("should recieve --watch", () => - exec("foo", "--watch").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: true }, - }); - })); - - it("should recieve -w as an alias of --watch", () => - exec("foo", "-w").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: true }, - }); - })); - - it("should filter unexpected option", () => - exec("foo", "--bar").then((result) => { - expect(JSON.parse(result.stdout)).toStrictEqual({ - pluginDir: "foo", - flags: { watch: false }, - }); - })); -}); - -const exec = (...args: string[]) => { - const binPath = path.resolve(__dirname, "../bin/cli.js"); - const env = Object.assign({}, process.env, { NODE_ENV: "test" }); - return execa(binPath, args, { env }); -}; diff --git a/packages/plugin-packer/test/cli.spec.ts b/packages/plugin-packer/test/cli.spec.ts deleted file mode 100644 index 5e8103d25e..0000000000 --- a/packages/plugin-packer/test/cli.spec.ts +++ /dev/null @@ -1,214 +0,0 @@ -import type { Mock } from "vitest"; -import fs from "fs"; -import path from "path"; -import { rimraf } from "rimraf"; -import { globSync } from "glob"; -import { readZipContentsNames } from "./helper/zip"; -import cli from "../src/packer-cli"; -import console from "../src/console"; - -const fixturesDir = path.posix.join(__dirname, "fixtures"); -const sampleDir = path.posix.join(fixturesDir, "sample-plugin"); -const ppkPath = path.posix.join(fixturesDir, "private.ppk"); - -const ID = "aaa"; -const PRIVATE_KEY = "PRIVATE_KEY"; -const PLUGIN_BUFFER = Buffer.from("foo"); - -describe("cli", () => { - const consoleLog = console.log; - const consoleError = console.error; - const consoleWarn = console.warn; - beforeEach(() => { - /* eslint-disable @typescript-eslint/no-empty-function -- This is mock functions */ - console.log = () => {}; - console.error = () => {}; - console.warn = () => {}; - /* eslint-enable @typescript-eslint/no-empty-function */ - }); - afterEach(() => { - console.log = consoleLog; - console.error = consoleError; - console.warn = consoleWarn; - }); - - it("is a function", () => { - expect(typeof cli).toBe("function"); - }); - - describe("validation", () => { - let packer: Mock; - beforeEach(() => { - packer = vi.fn().mockReturnValue({ - id: ID, - privateKey: PRIVATE_KEY, - plugin: PLUGIN_BUFFER, - }); - }); - - it("invalid `url`", async () => { - await expect( - cli(path.join(fixturesDir, "plugin-invalid-url"), { - packerMock_: packer, - }), - ).rejects.toThrow(/Invalid manifest.json/); - }); - - it("invalid `https-url`", async () => { - await expect( - cli(path.join(fixturesDir, "plugin-invalid-https-url"), { - packerMock_: packer, - }), - ).rejects.toThrow(/Invalid manifest.json/); - }); - - it("invalid `relative-path`", async () => { - await expect( - cli(path.join(fixturesDir, "plugin-invalid-relative-path"), { - packerMock_: packer, - }), - ).rejects.toThrow(/Invalid manifest.json/); - }); - - it("invalid `maxFileSize`", async () => { - await expect( - cli(path.join(fixturesDir, "plugin-invalid-maxFileSize"), { - packerMock_: packer, - }), - ).rejects.toThrow(/Invalid manifest.json/); - }); - - it("invalid `fileExists`", async () => { - await expect( - cli(path.join(fixturesDir, "plugin-non-file-exists"), { - packerMock_: packer, - }), - ).rejects.toThrow(/Invalid manifest.json/); - }); - }); - - describe("without ppk", () => { - const pluginDir = path.join(sampleDir, "plugin-dir"); - let packer: Mock; - let resultPluginPath: string; - beforeEach(() => { - packer = vi.fn().mockReturnValue({ - id: ID, - privateKey: PRIVATE_KEY, - plugin: PLUGIN_BUFFER, - }); - - return rimraf(`${sampleDir}/*.*(ppk|zip)`, { glob: true }) - .then(() => cli(pluginDir, { packerMock_: packer })) - .then((filePath) => { - resultPluginPath = filePath; - }); - }); - - it("calles `packer` with contents.zip as the 1st argument", async () => { - expect(packer.mock.calls.length).toBe(1); - expect(packer.mock.calls[0][0]).toBeTruthy(); - const files = await readZipContentsNames(packer.mock.calls[0][0]); - expect(files.sort()).toStrictEqual( - ["image/icon.png", "manifest.json"].sort(), - ); - }); - - it("calles `packer` with privateKey as the 2nd argument", () => { - expect(packer.mock.calls.length).toBe(1); - expect(packer.mock.calls[0][1]).toBe(undefined); - }); - - it("generates a private key file", () => { - const privateKey = fs.readFileSync( - path.join(sampleDir, `${ID}.ppk`), - "utf8", - ); - expect(privateKey).toBe(PRIVATE_KEY); - }); - - it("generates a plugin file", () => { - const pluginBuffer = fs.readFileSync(resultPluginPath); - expect(PLUGIN_BUFFER.equals(pluginBuffer)).toBe(true); - }); - }); - - describe("with ppk", () => { - const pluginDir = path.join(sampleDir, "plugin-dir"); - let packer: Mock; - beforeEach(() => { - packer = vi.fn().mockReturnValue({ - id: ID, - privateKey: PRIVATE_KEY, - plugin: PLUGIN_BUFFER, - }); - - return rimraf(`${sampleDir}/*.*(ppk|zip)`, { glob: true }).then(() => - cli(pluginDir, { ppk: ppkPath, packerMock_: packer }), - ); - }); - - it("calles `packer` with privateKey as the 2nd argument", () => { - expect(packer.mock.calls.length).toBe(1); - const ppkFile = fs.readFileSync(ppkPath, "utf8"); - expect(packer.mock.calls[0][1]).toBe(ppkFile); - }); - - it("does not generate a private key file", () => { - const ppkFiles = globSync(`${sampleDir}/*.ppk`); - expect(ppkFiles).toStrictEqual([]); - }); - }); - - it("includes files listed in manifest.json only", () => { - const pluginDir = path.join(fixturesDir, "plugin-full-manifest"); - const packer = vi.fn().mockReturnValue({ - id: ID, - privateKey: PRIVATE_KEY, - plugin: PLUGIN_BUFFER, - }); - - return rimraf(`${sampleDir}/*.*(ppk|zip)`, { glob: true }) - .then(() => cli(pluginDir, { packerMock_: packer })) - .then(() => { - return readZipContentsNames(packer.mock.calls[0][0]).then((files) => { - expect(files.sort()).toStrictEqual( - [ - "css/config.css", - "css/desktop.css", - "css/mobile.css", - "html/config.html", - "image/icon.png", - "js/config.js", - "js/desktop.js", - "js/mobile.js", - "manifest.json", - ].sort(), - ); - }); - }); - }); - - it("outputs plugin zip and ppk to specified directory", () => { - const pluginDir = path.join(sampleDir, "plugin-dir"); - const outputDir = path.join("test", ".output"); - const outputPluginPath = path.join(outputDir, "foo.zip"); - const packer = vi.fn().mockReturnValue({ - id: ID, - privateKey: PRIVATE_KEY, - plugin: PLUGIN_BUFFER, - }); - - return rimraf(outputDir) - .then(() => - cli(pluginDir, { packerMock_: packer, out: outputPluginPath }), - ) - .then((resultPluginPath) => { - expect(resultPluginPath).toBe(outputPluginPath); - const pluginBuffer = fs.readFileSync(outputPluginPath); - expect(PLUGIN_BUFFER.equals(pluginBuffer)).toBe(true); - const ppk = fs.readFileSync(path.join(outputDir, `${ID}.ppk`)); - expect(PRIVATE_KEY).toBe(ppk.toString()); - }); - }); -}); diff --git a/packages/plugin-packer/test/create-contents-zip.spec.ts b/packages/plugin-packer/test/create-contents-zip.spec.ts deleted file mode 100644 index bca6d58c1b..0000000000 --- a/packages/plugin-packer/test/create-contents-zip.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import path from "path"; -import fs from "fs"; -import { readZipContentsNames } from "./helper/zip"; -import { createContentsZip } from "../src/create-contents-zip"; - -const fixturesDir = path.join(__dirname, "fixtures"); -const pluginDir = path.join(fixturesDir, "sample-plugin", "plugin-dir"); - -describe("create-contents-zip", () => { - it("should be able to create buffer from a plugin directory", async () => { - const manifestJSONPath = path.join(pluginDir, "manifest.json"); - const manifest = JSON.parse(fs.readFileSync(manifestJSONPath, "utf-8")); - const buffer = await createContentsZip(pluginDir, manifest); - const files = await readZipContentsNames(buffer as Buffer); - expect(files).toStrictEqual(["manifest.json", "image/icon.png"]); - expect(buffer).toBeInstanceOf(Buffer); - }); -}); diff --git a/packages/plugin-packer/test/fixtures/aaa.ppk b/packages/plugin-packer/test/fixtures/aaa.ppk deleted file mode 100644 index 20a11e0ce3..0000000000 --- a/packages/plugin-packer/test/fixtures/aaa.ppk +++ /dev/null @@ -1 +0,0 @@ -PRIVATE_KEY \ No newline at end of file diff --git a/packages/plugin-packer/test/fixtures/contents.zip b/packages/plugin-packer/test/fixtures/contents.zip deleted file mode 100644 index aa98745ead..0000000000 Binary files a/packages/plugin-packer/test/fixtures/contents.zip and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/invalid-maxFileSize-contents.zip b/packages/plugin-packer/test/fixtures/invalid-maxFileSize-contents.zip deleted file mode 100644 index 964bdf5823..0000000000 Binary files a/packages/plugin-packer/test/fixtures/invalid-maxFileSize-contents.zip and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/config.css b/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/config.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/desktop.css b/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/desktop.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/mobile.css b/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/mobile.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/should-not-be-included.css b/packages/plugin-packer/test/fixtures/plugin-full-manifest/css/should-not-be-included.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/html/config.html b/packages/plugin-packer/test/fixtures/plugin-full-manifest/html/config.html deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/html/should-not-be-included.html b/packages/plugin-packer/test/fixtures/plugin-full-manifest/html/should-not-be-included.html deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-full-manifest/image/icon.png deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/image/should-not-be-included.png b/packages/plugin-packer/test/fixtures/plugin-full-manifest/image/should-not-be-included.png deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/config.js b/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/config.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/desktop.js b/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/desktop.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/mobile.js b/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/mobile.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/should-not-be-included.js b/packages/plugin-packer/test/fixtures/plugin-full-manifest/js/should-not-be-included.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/manifest.json b/packages/plugin-packer/test/fixtures/plugin-full-manifest/manifest.json deleted file mode 100644 index cd13709190..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-full-manifest/manifest.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "ja": "サンプルプラグイン", - "en": "sample plugin", - "zh": "插件的例子", - "zh-TW": "插件的例子", - "es": "complemento de muestra", - "pt-BR": "complemento de amostra", - "th": "ปลั๊กอินตัวอย่าง", - "ms": "pemalam sampel" - }, - "description": { - "ja": "これはサンプルプラグインです。", - "en": "This is sample plugin.", - "zh": "这是插件的例子", - "zh-TW": "這是插件的例子", - "es": "Este es un complemento de muestra.", - "pt-BR": "Este é um complemento de amostra.", - "th": "นี่คือปลั๊กอินตัวอย่าง", - "ms": "Ini adalah pemalam sampel." - }, - "icon": "image/icon.png", - "homepage_url": { - "ja": "http://jp.example.com", - "en": "http://en.example.com", - "zh": "http://zh.example.com", - "zh-TW": "http://zh-TW.example.com", - "es": "http://es.example.com", - "pt-BR": "http://pt-BR.example.com", - "th": "http://th.example.com", - "ms": "http://ms.example.com" - }, - "desktop": { - "js": ["js/desktop.js", "https://example.com/js/desktop.js"], - "css": ["https://example.com/css/desktop.css", "css/desktop.css"] - }, - "mobile": { - "js": ["js/mobile.js", "https://example.com/js/mobile.js"], - "css": ["https://example.com/css/mobile.css", "css/mobile.css"] - }, - "config": { - "html": "html/config.html", - "js": ["https://example.com/js/config.js", "js/config.js"], - "css": ["css/config.css", "https://example.com/css/config.css"], - "required_params": ["Param1", "Param2"] - } -} diff --git a/packages/plugin-packer/test/fixtures/plugin-full-manifest/should-not-be-included.json b/packages/plugin-packer/test/fixtures/plugin-full-manifest/should-not-be-included.json deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/image/icon.png deleted file mode 100644 index fe24d3aee8..0000000000 Binary files a/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/manifest.json b/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/manifest.json deleted file mode 100644 index c76efec134..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-invalid-https-url/manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "desktop": { - "js": ["http://example.com/http-is-invalid.js"] - }, - "icon": "image/icon.png" -} diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/image/icon.png deleted file mode 100644 index 0fbcf54501..0000000000 Binary files a/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/manifest.json b/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/manifest.json deleted file mode 100644 index e4ca3715e0..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-invalid-maxFileSize/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "icon": "image/icon.png" -} diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/image/icon.png deleted file mode 100644 index fe24d3aee8..0000000000 Binary files a/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/manifest.json b/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/manifest.json deleted file mode 100644 index b543994b0a..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-invalid-relative-path/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "icon": "image/missing-file.png" -} diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-url/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-invalid-url/image/icon.png deleted file mode 100644 index fe24d3aee8..0000000000 Binary files a/packages/plugin-packer/test/fixtures/plugin-invalid-url/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-invalid-url/manifest.json b/packages/plugin-packer/test/fixtures/plugin-invalid-url/manifest.json deleted file mode 100644 index d0240a1db0..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-invalid-url/manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "homepage_url": { - "ja": "ftp://example.com/ftp-is-invalid.png" - }, - "icon": "image/icon.png" -} diff --git a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/image/icon.png b/packages/plugin-packer/test/fixtures/plugin-non-file-exists/image/icon.png deleted file mode 100644 index 0fbcf54501..0000000000 Binary files a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/js/config.js b/packages/plugin-packer/test/fixtures/plugin-non-file-exists/js/config.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/js/desktop.js b/packages/plugin-packer/test/fixtures/plugin-non-file-exists/js/desktop.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/manifest.json b/packages/plugin-packer/test/fixtures/plugin-non-file-exists/manifest.json deleted file mode 100644 index b011bec9da..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin-non-file-exists/manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "icon": "image/icon.png", - "config": { - "js": ["js/config.js", "js/desktop.js", "js/non-existent-file.js"] - } -} diff --git a/packages/plugin-packer/test/fixtures/plugin.zip b/packages/plugin-packer/test/fixtures/plugin.zip deleted file mode 100644 index 1910281566..0000000000 --- a/packages/plugin-packer/test/fixtures/plugin.zip +++ /dev/null @@ -1 +0,0 @@ -foo \ No newline at end of file diff --git a/packages/plugin-packer/test/fixtures/private.ppk b/packages/plugin-packer/test/fixtures/private.ppk deleted file mode 100644 index 4a87817a2a..0000000000 --- a/packages/plugin-packer/test/fixtures/private.ppk +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICWwIBAAKBgQDDH5jleaiQagMnSS6XjrOQCJIDhjutOV7fJyzrsGhIGhFnZk7y -K5YAm+kfOMlCEUZNHavcfS3WrJRP5sanc6E0dobTXNBYVwx97pEZk1KPhPVCiVCC -HBRPvef+Ai98o4aeSVamP6bD9aIZ51+prjcf0uh9+vzzm1XvqF9rgMkhkQIDAQAB -AoGAT8GGmaXUxNLQXyqGpORreSBHrrEbi367zLMSpXQB7BbbrkwfUNWIBs+zxlNL -0HmHJtZN/V4dcnYwWUiXQrL83OHdVgqgcUBKBX5znY9GJcPJoDM6ZhiYR7K79IQq -eAzKCveFm3bhk9+mnOdiZO+q39IPE+3PPz3dQ1PNRwbCh8ECQQDtKstAHmfRcIwf -4woOV+TllxRMDkexThxs/YWV+5Sq3lLUqOjJolLFdW1DwqQHjeyeN008C3IhNLyy -1xeRLLydAkEA0p4gHlCnxUz9nVuRkz2Dk0GMpkdz156Opcf1nKUXar4CbdSp9gbJ -LEBulEDRVop4nY6J4W5hW0bDjuPGnSR0hQJATpU2YVlxxtjG5S3iQBxpcJVdmVHF -+X7LNmXOZILGoNMnmOUatOy/BkRBXwlYNlSVSVtDkRityUjjGVLhsS2klQJAbkQY -3qYtX69SK/sPuP2AkCzGPRu1e1JorkSEwzDvlJPL48JuBP9CfWdyPS2+K0etpBdG -+n32fHoM0hdQGV9HnQJAGed+BG6jxfXJe7KRhPoT3bF4lc4xmdXGfLMoutLqoZ8y -GrKcvq1TcxsA/QSkvSGGEd0667t/9djFq1Ift02RMQ== ------END RSA PRIVATE KEY----- diff --git a/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/image/icon.png b/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/image/icon.png deleted file mode 100644 index fe24d3aee8..0000000000 Binary files a/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/image/icon.png and /dev/null differ diff --git a/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/manifest.json b/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/manifest.json deleted file mode 100644 index e4ca3715e0..0000000000 --- a/packages/plugin-packer/test/fixtures/sample-plugin/plugin-dir/manifest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "manifest_version": 1, - "version": 1, - "type": "APP", - "name": { - "en": "sample extension" - }, - "icon": "image/icon.png" -} diff --git a/packages/plugin-packer/test/helper/zip.ts b/packages/plugin-packer/test/helper/zip.ts deleted file mode 100644 index 0d41879ea9..0000000000 --- a/packages/plugin-packer/test/helper/zip.ts +++ /dev/null @@ -1,20 +0,0 @@ -import yauzl from "yauzl"; - -export const readZipContentsNames = ( - zipFilePath: Buffer, -): Promise => { - return new Promise((resolve, reject) => { - yauzl.fromBuffer(zipFilePath, (err, zipFile) => { - if (err) { - reject(err); - } - const files = []; - zipFile.on("entry", (entry) => { - files.push(entry.fileName); - }); - zipFile.on("end", () => { - resolve(files); - }); - }); - }); -}; diff --git a/packages/plugin-packer/test/hex2a.spec.ts b/packages/plugin-packer/test/hex2a.spec.ts deleted file mode 100644 index 492029b0aa..0000000000 --- a/packages/plugin-packer/test/hex2a.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { hex2a } from "../src/hex2a"; - -describe("hex2a", () => { - it("empty string", () => { - expect(hex2a("")).toBe(""); - }); - - it("number", () => { - expect(hex2a("0")).toBe("a"); - expect(hex2a("1")).toBe("b"); - expect(hex2a("9")).toBe("j"); - }); - - it("alphabet", () => { - expect(hex2a("a")).toBe("k"); - expect(hex2a("b")).toBe("l"); - expect(hex2a("f")).toBe("p"); - }); - - it("string", () => { - expect(hex2a("012abc")).toBe("abcklm"); - }); - - it("throws for out of range", () => { - expect(() => hex2a("/")).toThrow(); - expect(() => hex2a(":")).toThrow(); - expect(() => hex2a("`")).toThrow(); - expect(() => hex2a("g")).toThrow(); - }); - - it("upper case is out of range", () => { - expect(() => hex2a("A")).toThrow(); - }); -}); diff --git a/packages/plugin-packer/test/pack-plugin-from-manifest.spec.ts b/packages/plugin-packer/test/pack-plugin-from-manifest.spec.ts deleted file mode 100644 index 39c309a8e8..0000000000 --- a/packages/plugin-packer/test/pack-plugin-from-manifest.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import path from "path"; -import fs from "fs"; -import { readZipContentsNames } from "./helper/zip"; -import packer from "../src"; -import { packPluginFromManifest } from "../dist/pack-plugin-from-manifest"; -import { createContentsZip } from "../dist/create-contents-zip"; - -const fixturesDir = path.join(__dirname, "fixtures"); -const ppkFilePath = path.join(fixturesDir, "private.ppk"); -const pluginDir = path.join(fixturesDir, "sample-plugin", "plugin-dir"); - -describe("pack-plugin-from-manifest", () => { - it("should be able to create a plugin from the manifest json path", async () => { - const manifestJSONPath = path.join(pluginDir, "manifest.json"); - const privateKey = fs.readFileSync(ppkFilePath, "utf-8"); - const manifest = JSON.parse(fs.readFileSync(manifestJSONPath, "utf-8")); - const [result1, result2] = await Promise.all([ - packPluginFromManifest(manifestJSONPath, privateKey), - createContentsZip(pluginDir, manifest).then((buffer) => - packer(buffer as any, privateKey), - ), - ]); - expect(result1.id).toBe(result2.id); - expect(result1.plugin.length).toBe(result2.plugin.length); - expect(result1.privateKey).toBe(result2.privateKey); - const files = await readZipContentsNames(result1.plugin); - expect(files).toStrictEqual(["contents.zip", "PUBKEY", "SIGNATURE"]); - }); -}); diff --git a/packages/plugin-packer/test/packer.spec.ts b/packages/plugin-packer/test/packer.spec.ts deleted file mode 100644 index 44a00ba14c..0000000000 --- a/packages/plugin-packer/test/packer.spec.ts +++ /dev/null @@ -1,154 +0,0 @@ -import crypto from "crypto"; -import path from "path"; -import fs from "fs"; -import RSA from "node-rsa"; -import yauzl from "yauzl"; - -import { readZipContentsNames } from "./helper/zip"; - -import packer from "../src"; - -const privateKeyPath = path.join(__dirname, "fixtures", "private.ppk"); -const contentsZipPath = path.join(__dirname, "fixtures", "contents.zip"); -const invalidMaxFileSizeContentsZipPath = path.join( - __dirname, - "fixtures", - "invalid-maxFileSize-contents.zip", -); - -describe("packer", () => { - it("is a function", () => { - expect(typeof packer).toBe("function"); - }); - - describe("without privateKey", () => { - let output: Awaited>; - beforeEach(async () => { - const contentsZip = fs.readFileSync(contentsZipPath); - output = await packer(contentsZip); - }); - - it("the id is generated", () => { - expect(typeof output.id).toBe("string"); - expect(output.id.length).toBe(32); - }); - - it("the privateKey is generated", () => { - expect(typeof output.privateKey).toBe("string"); - expect(/^-----BEGIN RSA PRIVATE KEY-----/.test(output.privateKey)).toBe( - true, - ); - }); - - it("the zip contains 3 files", async () => { - const files = await readZipContentsNames(output.plugin); - expect(files.sort()).toStrictEqual( - ["contents.zip", "PUBKEY", "SIGNATURE"].sort(), - ); - }); - - it("the zip passes signature verification", async () => { - await verifyPlugin(output.plugin); - }); - }); - - describe("with privateKey", () => { - let privateKey: string; - let output: Awaited>; - beforeEach(async () => { - const contentsZip = fs.readFileSync(contentsZipPath); - privateKey = fs.readFileSync(privateKeyPath, "utf8"); - output = await packer(contentsZip, privateKey); - }); - - it("the id is expected", () => { - expect(output.id).toBe("ldmhlgpmfpfhpgimbjlblmfkmcnbjnnj"); - }); - - it("the privateKey is same", () => { - expect(output.privateKey).toBe(privateKey); - }); - - it("the zip passes signature verification", async () => { - await verifyPlugin(output.plugin); - }); - }); - - describe("invalid contents.zip", () => { - it("throws an error if the contents.zip is invalid", async () => { - const contentsZip = fs.readFileSync(invalidMaxFileSizeContentsZipPath); - await expect(packer(contentsZip)).rejects.toThrow( - '"/icon" file size should be <= 20MB', - ); - }); - }); -}); - -const streamToBuffer = (stream: NodeJS.ReadableStream) => { - return new Promise((resolve, reject) => { - const buffers: Buffer[] = []; - stream.on("data", (data) => buffers.push(data)); - stream.on("end", () => resolve(Buffer.concat(buffers))); - stream.on("error", reject); - }); -}; - -const readZipContents = ( - zipEntry: yauzl.ZipFile, -): Promise> => { - const zipContentsMap = new Map(); - const streamToBufferPromises: Array> = []; - return new Promise((resolve, reject) => { - zipEntry.on("entry", (entry) => { - zipEntry.openReadStream(entry, (err, stream) => { - if (err) { - reject(err); - } - streamToBufferPromises.push( - streamToBuffer(stream).then((buffer) => { - zipContentsMap.set(entry.fileName, buffer); - }), - ); - }); - }); - zipEntry.on("end", () => { - Promise.all(streamToBufferPromises).then(() => resolve(zipContentsMap)); - }); - }); -}; - -const verifyPlugin = async (plugin: Buffer): Promise => { - const fromBuffer = (buffer: Buffer) => - new Promise((resolve, reject) => { - yauzl.fromBuffer(buffer, (err, zipfile) => { - if (err) { - reject(err); - } - resolve(zipfile); - }); - }); - const zipEntry = await fromBuffer(plugin); - const zipContentsMap = await readZipContents(zipEntry); - const contentZip = zipContentsMap.get("contents.zip"); - expect(contentZip).toBeDefined(); - if (contentZip === undefined) { - throw new Error("contentZip is undefined"); - } - const verifier = crypto.createVerify("RSA-SHA1"); - verifier.update(contentZip); - - const publicKey = zipContentsMap.get("PUBKEY"); - if (publicKey === undefined) { - throw new Error("PUBKEY is undefined"); - } - const signature = zipContentsMap.get("SIGNATURE"); - if (signature === undefined) { - throw new Error("SIGNATURE is undefined"); - } - expect(verifier.verify(derToPem(publicKey), signature)).toBe(true); -}; - -const derToPem = (der: Buffer) => { - const key = new RSA(der, "pkcs8-public-der"); - return key.exportKey("pkcs1-public-pem"); -}; diff --git a/packages/plugin-packer/test/sourcelist.spec.ts b/packages/plugin-packer/test/sourcelist.spec.ts deleted file mode 100644 index 1f2705dd9d..0000000000 --- a/packages/plugin-packer/test/sourcelist.spec.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { sourceList } from "../dist/sourcelist"; - -describe("sourcelist", () => { - let manifest: any; - beforeEach(() => { - manifest = { - icon: "image/icon.png", - desktop: { - js: ["js/desktop.js", "js/lib.js"], - css: ["css/desktop.css", "css/lib.css"], - }, - mobile: { - js: ["js/mobile.js"], - }, - config: { - js: ["js/config.js"], - css: ["css/config.css"], - html: "html/config.html", - }, - }; - }); - it("should return a file list including the manifest", () => { - expect(sourceList(manifest)).toStrictEqual([ - "js/desktop.js", - "js/lib.js", - "css/desktop.css", - "css/lib.css", - "js/mobile.js", - "js/config.js", - "css/config.css", - "html/config.html", - "manifest.json", - "image/icon.png", - ]); - }); - it("should filter http(s) path", () => { - manifest.desktop.js.push("https://example.com/foo.js"); - manifest.desktop.css.push("https://example.com/foo.css"); - manifest.mobile.js.push("https://example.com/foo.js"); - manifest.config.js.push("https://example.com/foo.js"); - manifest.config.css.push("https://example.com/foo.css"); - // This file should be added the list. - manifest.desktop.js.push("js/external.js"); - expect(sourceList(manifest)).toStrictEqual([ - "js/desktop.js", - "js/lib.js", - "js/external.js", - "css/desktop.css", - "css/lib.css", - "js/mobile.js", - "js/config.js", - "css/config.css", - "html/config.html", - "manifest.json", - "image/icon.png", - ]); - }); - it("should make the file list unique", () => { - manifest.desktop.js.push("js/desktop.js"); - manifest.desktop.css.push("css/desktop.css"); - manifest.mobile.js.push("js/mobile.js"); - manifest.config.js.push("js/config.js"); - manifest.config.css.push("css/config.css"); - // This file should be added the list. - manifest.desktop.js.push("js/external.js"); - expect(sourceList(manifest)).toStrictEqual([ - "js/desktop.js", - "js/lib.js", - "js/external.js", - "css/desktop.css", - "css/lib.css", - "js/mobile.js", - "js/config.js", - "css/config.css", - "html/config.html", - "manifest.json", - "image/icon.png", - ]); - }); -}); diff --git a/packages/plugin-packer/tsconfig.json b/packages/plugin-packer/tsconfig.json deleted file mode 100644 index 775d728f08..0000000000 --- a/packages/plugin-packer/tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "rootDir": "src", - "outDir": "dist", - "resolveJsonModule": true - }, - "exclude": ["site/**", "test/**", "dist/**", "vitest.config.ts"], - "references": [ - { "path": "../plugin-manifest-validator" } - ] -} diff --git a/packages/plugin-packer/tsconfig.test.json b/packages/plugin-packer/tsconfig.test.json deleted file mode 100644 index 683dafccb1..0000000000 --- a/packages/plugin-packer/tsconfig.test.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "noEmit": true, - "types": ["vitest/globals", "node"] - }, - "include": ["src", "test"], - "exclude": [] -} diff --git a/packages/plugin-packer/vitest.config.ts b/packages/plugin-packer/vitest.config.ts deleted file mode 100644 index 835c732de5..0000000000 --- a/packages/plugin-packer/vitest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - test: { - include: ["test/**/*.spec.ts"], - exclude: ["site/**"], - environment: "node", - testTimeout: 30000, - globals: true, - }, -}); diff --git a/packages/plugin-packer/webpack.config.js b/packages/plugin-packer/webpack.config.js deleted file mode 100644 index fa69d252d8..0000000000 --- a/packages/plugin-packer/webpack.config.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict"; - -const path = require("path"); -const webpack = require("webpack"); - -module.exports = { - entry: "./site/index.js", - output: { - path: path.resolve(__dirname, "docs", "dist"), - filename: "bundle.js", - }, - devServer: { - devMiddleware: { - publicPath: "/dist/", - }, - static: { - directory: path.resolve(__dirname, "docs"), - watch: true, - }, - open: true, - }, - resolve: { - fallback: { - assert: require.resolve("assert"), - fs: false, - util: require.resolve("util"), - path: require.resolve("path-browserify"), - crypto: require.resolve("crypto-browserify"), - zlib: require.resolve("browserify-zlib"), - stream: require.resolve("stream-browserify"), - constants: require.resolve("constants-browserify"), - vm: false, - }, - }, - plugins: [ - new webpack.DefinePlugin({ - "process.env.NODE_DEBUG": process.env.NODE_DEBUG, - }), - new webpack.ProvidePlugin({ - Buffer: ["buffer", "Buffer"], - process: "process", - }), - ], -}; diff --git a/packages/plugin-uploader/.editorconfig b/packages/plugin-uploader/.editorconfig deleted file mode 100644 index 728ad481d5..0000000000 --- a/packages/plugin-uploader/.editorconfig +++ /dev/null @@ -1,4 +0,0 @@ -root = true - -[*] -indent_size = 2 \ No newline at end of file diff --git a/packages/plugin-uploader/.gitignore b/packages/plugin-uploader/.gitignore deleted file mode 100644 index 8617652761..0000000000 --- a/packages/plugin-uploader/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -dist/ -.vscode/ diff --git a/packages/plugin-uploader/.prettierignore b/packages/plugin-uploader/.prettierignore deleted file mode 100644 index 7e1898b401..0000000000 --- a/packages/plugin-uploader/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -package.json -CHANGELOG.md \ No newline at end of file diff --git a/packages/plugin-uploader/CHANGELOG.md b/packages/plugin-uploader/CHANGELOG.md deleted file mode 100644 index a5702d4b1d..0000000000 --- a/packages/plugin-uploader/CHANGELOG.md +++ /dev/null @@ -1,736 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [8.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.10...@kintone/plugin-uploader@8.0.0) (2023-06-07) - -- build!: drop Node v14 support because of the EOL (#2124) ([ef0e004](https://github.com/kintone/js-sdk/commit/ef0e004b40a518a1b5a3aa5d82446c556c742f02)), closes [#2124](https://github.com/kintone/js-sdk/issues/2124) - -### BREAKING CHANGES - -- We dropped Node v14 support. Now supported versions are v16, v18, and v20. - -## [10.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@10.0.0...@kintone/plugin-uploader@10.0.1) (2026-04-08) - - -### Bug Fixes - -* pin dependency versions and remove unused core-js ([#3697](https://github.com/kintone/js-sdk/issues/3697)) ([5138e95](https://github.com/kintone/js-sdk/commit/5138e957cb2e85e054d555ab5524c3da5bf0740b)) - -## [10.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.5...@kintone/plugin-uploader@10.0.0) (2025-10-14) - - -### ⚠ BREAKING CHANGES - -* We dropped Node.js v18. The minimum Node.js version is now v20. - -### Miscellaneous Chores - -* bump minimum Node.js version to v20 ([#3431](https://github.com/kintone/js-sdk/issues/3431)) ([dbef119](https://github.com/kintone/js-sdk/commit/dbef11984d1d41099375f279640e7de13427c8c6)) - -## [9.1.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.4...@kintone/plugin-uploader@9.1.5) (2025-05-13) - - -### Bug Fixes - -* **dts-gen:** update axios ([#3284](https://github.com/kintone/js-sdk/issues/3284)) ([#3303](https://github.com/kintone/js-sdk/issues/3303)) ([edf7861](https://github.com/kintone/js-sdk/commit/edf78612a6ce06aee48bd5f409b764c7dab2337a)) -* **rest-api-client:** commit for release ([#3286](https://github.com/kintone/js-sdk/issues/3286)) ([fc1f211](https://github.com/kintone/js-sdk/commit/fc1f21193f3bcd920bfec8f9698e1c8d1daa6817)) - -## [9.1.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.3...@kintone/plugin-uploader@9.1.4) (2024-10-29) - - -### Bug Fixes - -* **plugin-uploader:** System ENV value check ([#3016](https://github.com/kintone/js-sdk/issues/3016)) ([1da8bb0](https://github.com/kintone/js-sdk/commit/1da8bb04976e2a6e2c9861f506b3f25ec476df56)) - -## [9.1.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.2...@kintone/plugin-uploader@9.1.3) (2024-09-09) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.13.1 ([#2821](https://github.com/kintone/js-sdk/issues/2821)) ([9358686](https://github.com/kintone/js-sdk/commit/9358686c48d6ecb02c852af894c934d2163d3b09)) - -## [9.1.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.1...@kintone/plugin-uploader@9.1.2) (2024-06-12) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.10.0 ([#2744](https://github.com/kintone/js-sdk/issues/2744)) ([c72e2f0](https://github.com/kintone/js-sdk/commit/c72e2f08f7885efa1baeeed50b3c80d2c27fe5a6)) -* **deps:** update dependency puppeteer to ^22.10.1 ([#2814](https://github.com/kintone/js-sdk/issues/2814)) ([296e50b](https://github.com/kintone/js-sdk/commit/296e50b2b5971b3221c970416a4e0255fd7ff650)) - -## [9.1.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.1.0...@kintone/plugin-uploader@9.1.1) (2024-05-15) - - -### Bug Fixes - -* **plugin-uploader:** exit-code should be non-zero when an error occurs ([#2759](https://github.com/kintone/js-sdk/issues/2759)) ([2586a7a](https://github.com/kintone/js-sdk/commit/2586a7ac8579402b4650386254cb1fa90e253c57)) - -## [9.1.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.7...@kintone/plugin-uploader@9.1.0) (2024-05-08) - - -### Features - -* **plugin-uploader:** support new Kintone UI ([#2711](https://github.com/kintone/js-sdk/issues/2711)) ([ca6ca58](https://github.com/kintone/js-sdk/commit/ca6ca58785d1982e23d9f9dad6005c9328d8c5b6)) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.7.0 ([#2722](https://github.com/kintone/js-sdk/issues/2722)) ([31235d4](https://github.com/kintone/js-sdk/commit/31235d41466f15dbebef01144dd2bb163fe59d04)) -* **deps:** update dependency puppeteer to ^22.7.1 ([#2728](https://github.com/kintone/js-sdk/issues/2728)) ([96a9417](https://github.com/kintone/js-sdk/commit/96a94170aadb75b90b7e971cd2974e5929bd9272)) - -## [9.0.7](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.6...@kintone/plugin-uploader@9.0.7) (2024-04-23) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.6.4 ([#2699](https://github.com/kintone/js-sdk/issues/2699)) ([9bab53b](https://github.com/kintone/js-sdk/commit/9bab53b2de012dce179a79ac72e8164624780546)) -* **deps:** update dependency puppeteer to ^22.6.5 ([#2706](https://github.com/kintone/js-sdk/issues/2706)) ([b7007f6](https://github.com/kintone/js-sdk/commit/b7007f679774cf4594331f5784050198561f1041)) - -## [9.0.6](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.5...@kintone/plugin-uploader@9.0.6) (2024-04-09) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.6.3 ([#2689](https://github.com/kintone/js-sdk/issues/2689)) ([7256a50](https://github.com/kintone/js-sdk/commit/7256a503aa5b8d22054679e5d9825954d34ed84a)) - -## [9.0.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.4...@kintone/plugin-uploader@9.0.5) (2024-04-02) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.6.2 ([#2677](https://github.com/kintone/js-sdk/issues/2677)) ([89f8052](https://github.com/kintone/js-sdk/commit/89f8052735fd6617a41a377fb7e9c7eaa8f1df93)) - -## [9.0.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.3...@kintone/plugin-uploader@9.0.4) (2024-03-27) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^22.6.1 ([#2658](https://github.com/kintone/js-sdk/issues/2658)) ([7ca1bf6](https://github.com/kintone/js-sdk/commit/7ca1bf61c7f77aa8f009d5260d9c6494a8825038)) -* **deps:** update dependency puppeteer to v22 ([#2552](https://github.com/kintone/js-sdk/issues/2552)) ([0c03142](https://github.com/kintone/js-sdk/commit/0c03142cda0c56f0bbd484e2b0d62844f5bfb444)) - -## [9.0.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.2...@kintone/plugin-uploader@9.0.3) (2024-01-17) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^21.7.0 ([#2379](https://github.com/kintone/js-sdk/issues/2379)) ([b33cd4d](https://github.com/kintone/js-sdk/commit/b33cd4dd16be8a19b03d5e51c459d94f29c655e9)) - -## [9.0.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.1...@kintone/plugin-uploader@9.0.2) (2023-12-19) - - -### Bug Fixes - -* **deps:** update dependency prettier to v3 ([#2457](https://github.com/kintone/js-sdk/issues/2457)) ([5a0b859](https://github.com/kintone/js-sdk/commit/5a0b859807530564732caa194e9251f37268b164)) - -## [9.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@9.0.0...@kintone/plugin-uploader@9.0.1) (2023-10-24) - - -### Bug Fixes - -* **deps:** update dependency puppeteer to ^21.4.0 ([#2229](https://github.com/kintone/js-sdk/issues/2229)) ([c2722cb](https://github.com/kintone/js-sdk/commit/c2722cb35a726bcc84bdf730422cb087ef74a80e)) -* **deps:** update dependency puppeteer to ^21.4.1 ([#2356](https://github.com/kintone/js-sdk/issues/2356)) ([96f7abe](https://github.com/kintone/js-sdk/commit/96f7abe64be7dd4294deb97721326385513e4960)) - -## [9.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@8.0.1...@kintone/plugin-uploader@9.0.0) (2023-10-03) - - -### ⚠ BREAKING CHANGES - -* We dropped Node v16 support. Now supported versions are v18 and v20. - -### Build System - -* Drop Node v16 support version ([#2294](https://github.com/kintone/js-sdk/issues/2294)) ([767d657](https://github.com/kintone/js-sdk/commit/767d65749be66b6c2509bb737d8f45085814cc44)) - -## [8.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@8.0.0...@kintone/plugin-uploader@8.0.1) (2023-09-26) - - -### Bug Fixes - -* **deps:** update dependency inquirer to ^8.2.6 ([#2201](https://github.com/kintone/js-sdk/issues/2201)) ([7a85f2f](https://github.com/kintone/js-sdk/commit/7a85f2f0e8683a05d5aa04b94c06d12516bb80d4)) -* **deps:** update dependency puppeteer to ^21.0.1 ([#2205](https://github.com/kintone/js-sdk/issues/2205)) ([6ad4855](https://github.com/kintone/js-sdk/commit/6ad485586570d061ab092f31305b3db232670831)) -* **deps:** update dependency puppeteer to ^21.0.2 ([#2210](https://github.com/kintone/js-sdk/issues/2210)) ([8cbb80a](https://github.com/kintone/js-sdk/commit/8cbb80aeff2e5fca7d63e357d8ab7d83600505e7)) -* **deps:** update dependency puppeteer to ^21.0.3 ([#2218](https://github.com/kintone/js-sdk/issues/2218)) ([156fe3c](https://github.com/kintone/js-sdk/commit/156fe3c3c75bfbcf0ea68ffd6ca210acb9e1a362)) -* **deps:** update dependency puppeteer to v21 ([#2200](https://github.com/kintone/js-sdk/issues/2200)) ([c4fa789](https://github.com/kintone/js-sdk/commit/c4fa789ced39a1465f75798c9cdef6d5a6847b33)) -* Ignore warning message in puppeteer ([#2212](https://github.com/kintone/js-sdk/issues/2212)) ([cd69d59](https://github.com/kintone/js-sdk/commit/cd69d59f3fb19aba18c5bf979f96420c855a9a0a)) - -## [7.1.10](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.9...@kintone/plugin-uploader@7.1.10) (2023-03-22) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v19 ([#1787](https://github.com/kintone/js-sdk/issues/1787)) ([8d1a3fd](https://github.com/kintone/js-sdk/commit/8d1a3fd48cd7516ef8c73c997326e21ee9089a0d)) - -## [7.1.9](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.8...@kintone/plugin-uploader@7.1.9) (2023-02-22) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.8](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.7...@kintone/plugin-uploader@7.1.8) (2022-12-21) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.7](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.6...@kintone/plugin-uploader@7.1.7) (2022-11-16) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.6](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.5...@kintone/plugin-uploader@7.1.6) (2022-11-09) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.4...@kintone/plugin-uploader@7.1.5) (2022-10-26) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.5 ([#1807](https://github.com/kintone/js-sdk/issues/1807)) ([b760c60](https://github.com/kintone/js-sdk/commit/b760c60d566845fa34ab6a1deb0d894d44ef42c6)) - -## [7.1.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.3...@kintone/plugin-uploader@7.1.4) (2022-10-19) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.2...@kintone/plugin-uploader@7.1.3) (2022-10-05) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.1...@kintone/plugin-uploader@7.1.2) (2022-08-17) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [7.1.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.1.0...@kintone/plugin-uploader@7.1.1) (2022-08-10) - -**Note:** Version bump only for package @kintone/plugin-uploader - -# [7.1.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.0.1...@kintone/plugin-uploader@7.1.0) (2022-07-22) - -### Features - -- add `--puppeteer-ignore-default-args` option ([#1624](https://github.com/kintone/js-sdk/issues/1624)) ([154a7c6](https://github.com/kintone/js-sdk/commit/154a7c6d4bc44c7f0de52598fd824fa06451b5c0)) - -## [7.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@7.0.0...@kintone/plugin-uploader@7.0.1) (2022-06-29) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^15.0.2 ([#1584](https://github.com/kintone/js-sdk/issues/1584)) ([8ac3381](https://github.com/kintone/js-sdk/commit/8ac3381a9ec89a50e83353884a100560e37ae923)) -- **deps:** update dependency puppeteer to ^15.1.1 ([#1586](https://github.com/kintone/js-sdk/issues/1586)) ([08e2541](https://github.com/kintone/js-sdk/commit/08e2541d79ec9cda4c5e13b112978d2c59adc84e)) -- **deps:** update dependency puppeteer to v14 ([#1489](https://github.com/kintone/js-sdk/issues/1489)) ([f7e078f](https://github.com/kintone/js-sdk/commit/f7e078f9a1e1aafe4c0f5177daa9562c216d5588)) -- **deps:** update dependency puppeteer to v15 ([#1581](https://github.com/kintone/js-sdk/issues/1581)) ([4c8771c](https://github.com/kintone/js-sdk/commit/4c8771cdec88f74c203e6b146ecfb9acd4e88738)) - -# [7.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.17...@kintone/plugin-uploader@7.0.0) (2022-05-13) - -- chore!: drop Node v12 support because of the EOL (BREAKING CHANGE) (#1493) ([0d9dae1](https://github.com/kintone/js-sdk/commit/0d9dae10582fc40d89a1af8db4a2efc1d776a456)), closes [#1493](https://github.com/kintone/js-sdk/issues/1493) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.4 ([#1468](https://github.com/kintone/js-sdk/issues/1468)) ([8a5316d](https://github.com/kintone/js-sdk/commit/8a5316d7a6492cfe7e07842bf4095f4ab25eebd2)) -- **deps:** update dependency puppeteer to ^13.7.0 ([#1469](https://github.com/kintone/js-sdk/issues/1469)) ([2743e5c](https://github.com/kintone/js-sdk/commit/2743e5c143b253b008a00da0b99b4063821f87a5)) - -### BREAKING CHANGES - -- drop Node v12 support because of the EOL. - -- ci: update Node version 14 -> 16 - -- ci: remove Node 18.x from test workflow - -## [6.0.17](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.16...@kintone/plugin-uploader@6.0.17) (2022-04-28) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.2 ([#1435](https://github.com/kintone/js-sdk/issues/1435)) ([afa0e6a](https://github.com/kintone/js-sdk/commit/afa0e6a4b7f941a2e0744716da3810cec0366a51)) -- **deps:** update dependency inquirer to ^8.2.3 ([#1461](https://github.com/kintone/js-sdk/issues/1461)) ([f4d8f87](https://github.com/kintone/js-sdk/commit/f4d8f87571e9ca6ed014b71c8ebdf45ab42f9ef5)) -- **deps:** update dependency puppeteer to ^13.6.0 ([#1395](https://github.com/kintone/js-sdk/issues/1395)) ([97d263d](https://github.com/kintone/js-sdk/commit/97d263d663b9a3cd9403ad4b8a5f2247cb742c69)) - -## [6.0.16](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.15...@kintone/plugin-uploader@6.0.16) (2022-04-08) - -### Bug Fixes - -- **customize-uploader,plugin-uploader:** fix typo in error messages ([#1422](https://github.com/kintone/js-sdk/issues/1422)) ([f46cbae](https://github.com/kintone/js-sdk/commit/f46cbae011d92cdc45561d5c7bf5895cb99153f8)) - -## [6.0.15](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.14...@kintone/plugin-uploader@6.0.15) (2022-03-18) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.1 ([#1398](https://github.com/kintone/js-sdk/issues/1398)) ([e6ff25d](https://github.com/kintone/js-sdk/commit/e6ff25d13c6b718d4b8fa4bbce2c20060cc7e065)) - -## [6.0.14](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.13...@kintone/plugin-uploader@6.0.14) (2022-03-04) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^13.4.1 ([#1372](https://github.com/kintone/js-sdk/issues/1372)) ([79981d2](https://github.com/kintone/js-sdk/commit/79981d244e35a2b498749fd9ce0c1810dee0a861)) - -## 6.0.13 (2022-02-14) - -### Bug Fixes - -- **deps:** update dependency @kintone/rest-api-client to ^2.0.34 ([#1341](https://github.com/kintone/js-sdk/issues/1341)) ([0e01847](https://github.com/kintone/js-sdk/commit/0e018475d77c68f42d414d563377aef56a7a1d41)) - -## 6.0.12 (2022-02-04) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## 6.0.11 (2022-01-18) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## 6.0.10 (2022-01-11) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## 6.0.9 (2021-12-24) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## 6.0.8 (2021-12-24) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [6.0.7](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.6...@kintone/plugin-uploader@6.0.7) (2021-12-21) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [6.0.6](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.5...@kintone/plugin-uploader@6.0.6) (2021-12-15) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v13 ([#1249](https://github.com/kintone/js-sdk/issues/1249)) ([1846150](https://github.com/kintone/js-sdk/commit/18461507ce0e38fcbc41ec602c1b877142905505)) - -## [6.0.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.4...@kintone/plugin-uploader@6.0.5) (2021-10-13) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.2.0 ([#1140](https://github.com/kintone/js-sdk/issues/1140)) ([c494498](https://github.com/kintone/js-sdk/commit/c49449830b9e85783a96aa10fb8cb78c1d10fb3c)) - -## [6.0.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.3...@kintone/plugin-uploader@6.0.4) (2021-09-29) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^10.4.0 ([#1116](https://github.com/kintone/js-sdk/issues/1116)) ([29e9505](https://github.com/kintone/js-sdk/commit/29e95057dedcfcd6ec4ead49cc20ee294a1e9577)) - -## [6.0.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.2...@kintone/plugin-uploader@6.0.3) (2021-09-22) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.4 ([#1107](https://github.com/kintone/js-sdk/issues/1107)) ([b4a0476](https://github.com/kintone/js-sdk/commit/b4a04764d47831fe3427d38662eb7b22e2c88689)) -- **deps:** update dependency inquirer to ^8.1.5 ([#1108](https://github.com/kintone/js-sdk/issues/1108)) ([6c09561](https://github.com/kintone/js-sdk/commit/6c0956164737b7a31c09a2e34f5774d2a914464e)) - -## [6.0.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.1...@kintone/plugin-uploader@6.0.2) (2021-09-15) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.3 ([#1104](https://github.com/kintone/js-sdk/issues/1104)) ([d333fd4](https://github.com/kintone/js-sdk/commit/d333fd46273d108cbe97f71aa5514831afb607f4)) - -## [6.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@6.0.0...@kintone/plugin-uploader@6.0.1) (2021-09-08) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^10.2.0 ([#1052](https://github.com/kintone/js-sdk/issues/1052)) ([63a8344](https://github.com/kintone/js-sdk/commit/63a83442ec2eb02987a1737634a4149c6631f337)) - -# [6.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.8...@kintone/plugin-uploader@6.0.0) (2021-08-18) - -- feat(plugin-uploader)!: remove `--domain` option and `KINTONE_DOMAIN` (BREAKING CHANGE) (#1046) ([e66c7b6](https://github.com/kintone/js-sdk/commit/e66c7b6d21e9d19343b2c8d8a36598e3b8c56a28)), closes [#1046](https://github.com/kintone/js-sdk/issues/1046) - -### BREAKING CHANGES - -- remove `--domain` option and `KINTONE_DOMAIN` - -Co-authored-by: shintaroNagata - -## [5.0.8](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.7...@kintone/plugin-uploader@5.0.8) (2021-08-04) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.2 ([#1040](https://github.com/kintone/js-sdk/issues/1040)) ([ca03817](https://github.com/kintone/js-sdk/commit/ca03817936ed9b9413186a14bf676a1e6af57304)) - -## [5.0.7](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.6...@kintone/plugin-uploader@5.0.7) (2021-07-28) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [5.0.6](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.5...@kintone/plugin-uploader@5.0.6) (2021-07-21) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.2 ([#1012](https://github.com/kintone/js-sdk/issues/1012)) ([20df6cf](https://github.com/kintone/js-sdk/commit/20df6cf179d381748f305fc122b95ee43a10d301)) -- **plugin-uploader:** change the way of clicking the "Import" button ([#1018](https://github.com/kintone/js-sdk/issues/1018)) ([af008e7](https://github.com/kintone/js-sdk/commit/af008e73d7a2818272ba4a87b9ba54e32db5883f)) - -## [5.0.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.4...@kintone/plugin-uploader@5.0.5) (2021-07-12) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [5.0.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.3...@kintone/plugin-uploader@5.0.4) (2021-06-29) - -**Note:** Version bump only for package @kintone/plugin-uploader - -## [5.0.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.2...@kintone/plugin-uploader@5.0.3) (2021-06-22) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^8.1.1 ([#957](https://github.com/kintone/js-sdk/issues/957)) ([39e0b92](https://github.com/kintone/js-sdk/commit/39e0b920e553be9d80a4ec159d7afe5ea9a99a1a)) - -## [5.0.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.1...@kintone/plugin-uploader@5.0.2) (2021-05-25) - -### Bug Fixes - -- **deps:** pin puppeteer version to v8 ([#889](https://github.com/kintone/js-sdk/issues/889)) ([8a8b951](https://github.com/kintone/js-sdk/commit/8a8b95102ec0417bed6b838f80d59b9c70d54459)) -- **deps:** update dependency inquirer to ^8.0.1 ([#902](https://github.com/kintone/js-sdk/issues/902)) ([8e67f71](https://github.com/kintone/js-sdk/commit/8e67f71b43793d857128a38bc96bdb41e90b8d6c)) -- **deps:** update dependency inquirer to ^8.1.0 ([#904](https://github.com/kintone/js-sdk/issues/904)) ([9de640f](https://github.com/kintone/js-sdk/commit/9de640feb214adf9e03ba9623d50df5c2af46111)) - -## [5.0.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@5.0.0...@kintone/plugin-uploader@5.0.1) (2021-05-18) - -**Note:** Version bump only for package @kintone/plugin-uploader - -# [5.0.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.3.1...@kintone/plugin-uploader@5.0.0) (2021-05-11) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v9.1.1 ([#858](https://github.com/kintone/js-sdk/issues/858)) ([40125ba](https://github.com/kintone/js-sdk/commit/40125ba049a34e5083d3d2b57f3435368f75b9ae)) - -### chore - -- drop Node v10 support ([#870](https://github.com/kintone/js-sdk/issues/870)) ([5263389](https://github.com/kintone/js-sdk/commit/526338928e5a89a1f24c7458fc0c7c2452e36cc1)) - -### BREAKING CHANGES - -- drop Node v10 support because of the EOL. - -## [4.3.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.3.0...@kintone/plugin-uploader@4.3.1) (2021-04-27) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.1 ([1750dff](https://github.com/kintone/js-sdk/commit/1750dff45fe19f82dab074d547da541086fc3791)) -- **deps:** update dependency puppeteer to v9 ([#826](https://github.com/kintone/js-sdk/issues/826)) ([f3e688c](https://github.com/kintone/js-sdk/commit/f3e688c5805d5b79d6c6588952c66d548a92a7e5)) - -# [4.3.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.5...@kintone/plugin-uploader@4.3.0) (2021-03-09) - -### Bug Fixes - -- **deps:** update dependency inquirer to v8 ([#721](https://github.com/kintone/js-sdk/issues/721)) ([ee63882](https://github.com/kintone/js-sdk/commit/ee6388295a9408addcb3cb94e58d52b83ebb7ac1)) - -### Features - -- **plugin-uploader:** print a deprecated message with warning ([#697](https://github.com/kintone/js-sdk/issues/697)) ([fe71b77](https://github.com/kintone/js-sdk/commit/fe71b77c096d9f78a7007ba53560988fd3f67901)) - -## [4.2.5](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.4...@kintone/plugin-uploader@4.2.5) (2021-03-02) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v8 ([#722](https://github.com/kintone/js-sdk/issues/722)) ([d7dc119](https://github.com/kintone/js-sdk/commit/d7dc1198fd65623599f57c2408ab5734b31f2c88)) - -## [4.2.4](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.3...@kintone/plugin-uploader@4.2.4) (2021-02-17) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v7.1.0 ([#686](https://github.com/kintone/js-sdk/issues/686)) ([29c2655](https://github.com/kintone/js-sdk/commit/29c26551ce4a65d0e800617a8d5852784551a2e8)) - -## [4.2.3](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.2...@kintone/plugin-uploader@4.2.3) (2021-02-09) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v7 ([#665](https://github.com/kintone/js-sdk/issues/665)) ([d240b48](https://github.com/kintone/js-sdk/commit/d240b48379d1c3b82be69b0d4c0c19feac8a542c)) - -## [4.2.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.1...@kintone/plugin-uploader@4.2.2) (2021-02-02) - -### Bug Fixes - -- **deps:** update dependency meow to v9 ([#637](https://github.com/kintone/js-sdk/issues/637)) ([09132c6](https://github.com/kintone/js-sdk/commit/09132c6fd16abb1798ca6bc6d569d4365fcb1968)) - -## [4.2.1](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.2.0...@kintone/plugin-uploader@4.2.1) (2021-01-19) - -### Bug Fixes - -- Fixed deprecated waitFor () ([#605](https://github.com/kintone/js-sdk/issues/605)) ([6bb1bf9](https://github.com/kintone/js-sdk/commit/6bb1bf93ba818908d2fd007a38b69925f7048c06)) - -# [4.2.0](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.1.2...@kintone/plugin-uploader@4.2.0) (2020-12-16) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v5.5.0 ([#535](https://github.com/kintone/js-sdk/issues/535)) ([27fef79](https://github.com/kintone/js-sdk/commit/27fef79df9d6de086937a5e8ce0c8331c194f4b2)) -- description for Options of plugin-uploader ([#544](https://github.com/kintone/js-sdk/issues/544)) ([db97cc8](https://github.com/kintone/js-sdk/commit/db97cc8457c55ddd2ccf04cd220b3e76358d16d8)) -- should not ask base-url if use domain option ([#538](https://github.com/kintone/js-sdk/issues/538)) ([9821570](https://github.com/kintone/js-sdk/commit/98215706d3f4947ad6f63940ce0388cfa7fe0177)) -- **deps:** update dependency meow to v8 ([#510](https://github.com/kintone/js-sdk/issues/510)) ([b064c79](https://github.com/kintone/js-sdk/commit/b064c79b056a8ca2365a33c12d4d6c8e8b419eaf)) -- **deps:** update dependency puppeteer to v5.4.1 ([#492](https://github.com/kintone/js-sdk/issues/492)) ([f330e34](https://github.com/kintone/js-sdk/commit/f330e3478997f8f465e22ff8237f5c22405a5c26)) - -### Features - -- support environment variable for base URL of plugin-uploader ([#534](https://github.com/kintone/js-sdk/issues/534)) ([4d78388](https://github.com/kintone/js-sdk/commit/4d783888d548c551236ccb05e8849803e343c162)) - -## [4.1.2](https://github.com/kintone/js-sdk/compare/@kintone/plugin-uploader@4.1.1...@kintone/plugin-uploader@4.1.2) (2020-10-12) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v5.3.1 ([#435](https://github.com/kintone/js-sdk/issues/435)) ([9a824f6](https://github.com/kintone/js-sdk/commit/9a824f6c9f1e86d63be1d8c5d4b048b2fef7fa7a)) -- failed tests ([f635558](https://github.com/kintone/js-sdk/commit/f6355581d1a651685af107df4d40e20f439dec24)) -- **deps:** update dependency inquirer to ^7.3.3 ([#308](https://github.com/kintone/js-sdk/issues/308)) ([ebe40a6](https://github.com/kintone/js-sdk/commit/ebe40a6622c657a8034207f20d824b8b02ffea44)) -- **deps:** update dependency meow to ^7.1.0 ([#321](https://github.com/kintone/js-sdk/issues/321)) ([07672fe](https://github.com/kintone/js-sdk/commit/07672fed841b1686b0b525a1af9499e64424148e)) -- **deps:** update dependency meow to ^7.1.1 ([c768803](https://github.com/kintone/js-sdk/commit/c7688038ad43662bcb91e64555fce27e52bbf5c8)) -- **deps:** update dependency puppeteer to v5 ([#309](https://github.com/kintone/js-sdk/issues/309)) ([c3b6539](https://github.com/kintone/js-sdk/commit/c3b6539b3dfccca34e29fb7adad1c4443ed0f9a1)) - -# Changelog - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -### [4.1.1](https://github.com/kintone/plugin-uploader/compare/v4.1.0...v4.1.1) (2020-07-29) - -### Bug Fixes - -- ease timeout ([#316](https://github.com/kintone/plugin-uploader/issues/316)) ([80c5272](https://github.com/kintone/plugin-uploader/commit/80c527225f1dfb4cb733a8a22a3732aa341a4cde)) -- **deps:** update dependency puppeteer to v4.0.1 ([026bafa](https://github.com/kintone/plugin-uploader/commit/026bafa49eb16d3b3388adfd1aa19493286b36ee)) - -## [4.1.0](https://github.com/kintone/plugin-uploader/compare/v4.0.4...v4.1.0) (2020-06-22) - -### Features - -- support Basic Authentication ([#303](https://github.com/kintone/plugin-uploader/issues/303)) ([3334e61](https://github.com/kintone/plugin-uploader/commit/3334e6177eb4ad9583a5419eccaf539fe6605105)) - -### Bug Fixes - -- **deps:** update dependency chalk to ^4.1.0 ([#300](https://github.com/kintone/plugin-uploader/issues/300)) ([66a7556](https://github.com/kintone/plugin-uploader/commit/66a755621f88f2f4b9c2a3c81ba813bed6eed47a)) -- **deps:** update dependency inquirer to ^7.2.0 ([#301](https://github.com/kintone/plugin-uploader/issues/301)) ([daab984](https://github.com/kintone/plugin-uploader/commit/daab9849c1f5071ba0fbae0325669c02dedafcef)) -- **deps:** update dependency puppeteer to v3 ([#286](https://github.com/kintone/plugin-uploader/issues/286)) ([ab8308c](https://github.com/kintone/plugin-uploader/commit/ab8308cb0ff0b9227df7a12b1e840687da83e3d6)) -- **deps:** update dependency puppeteer to v4 ([#302](https://github.com/kintone/plugin-uploader/issues/302)) ([3925b59](https://github.com/kintone/plugin-uploader/commit/3925b590594675517daf75706114fb231e1cf2f8)) - -### [4.0.4](https://github.com/kintone/plugin-uploader/compare/v4.0.3...v4.0.4) (2020-06-02) - -### Bug Fixes - -- **deps:** update dependency meow to ^6.1.1 ([ef81653](https://github.com/kintone/plugin-uploader/commit/ef816530517054aaf4d468740d1f5a03bee6bd19)) -- **deps:** update dependency meow to v7 ([#293](https://github.com/kintone/plugin-uploader/issues/293)) ([a00aae5](https://github.com/kintone/plugin-uploader/commit/a00aae57fa3479259546951c5ddc6ce52209b7d3)) - -### [4.0.3](https://github.com/kintone/plugin-uploader/compare/v4.0.2...v4.0.3) (2020-04-28) - -### Bug Fixes - -- **deps:** update dependency chalk to v4 ([#285](https://github.com/kintone/plugin-uploader/issues/285)) ([39f8fcd](https://github.com/kintone/plugin-uploader/commit/39f8fcdff179c6437e7f2c8b336c1d7d3136c6c9)) - -### [4.0.2](https://github.com/kintone/plugin-uploader/compare/v4.0.1...v4.0.2) (2020-03-24) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.5 ([3f4c514](https://github.com/kintone/plugin-uploader/commit/3f4c514b09990f56ece2b76c4fea2cfcaa89a86a)) -- **deps:** update dependency inquirer to ^7.0.6 ([575227a](https://github.com/kintone/plugin-uploader/commit/575227a89df9ca3b8d1c1b41c52884e269281de3)) -- **deps:** update dependency inquirer to ^7.1.0 ([#275](https://github.com/kintone/plugin-uploader/issues/275)) ([a75cb39](https://github.com/kintone/plugin-uploader/commit/a75cb39e6b96f4f81e400a11228ce710e8beb0b0)) -- **deps:** update dependency meow to ^6.0.1 ([09dda7a](https://github.com/kintone/plugin-uploader/commit/09dda7aeb5703486ee6782a3aea792857c1cbd94)) -- **deps:** update dependency os-locale to v5 ([#281](https://github.com/kintone/plugin-uploader/issues/281)) ([b73c4e4](https://github.com/kintone/plugin-uploader/commit/b73c4e43fdf71478ff9cefcb7c6845ce4355f2b9)) - -### [4.0.1](https://github.com/kintone/plugin-uploader/compare/v4.0.0...v4.0.1) (2020-02-10) - -### Bug Fixes - -- pinned puppeteer version v1 ([#266](https://github.com/kintone/plugin-uploader/issues/266)) ([620712f](https://github.com/kintone/plugin-uploader/commit/620712fcf83a94c15ff33ee6bc0ac1a9809c0b99)) - -## [4.0.0](https://github.com/kintone/plugin-uploader/compare/v3.0.7...v4.0.0) (2020-01-28) - -### ⚠ BREAKING CHANGES - -- drop node 8 support - -- chore: drop node 8 support -- fix: format - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.2 ([e261241](https://github.com/kintone/plugin-uploader/commit/e2612413cd582fb745164f6a002e6bc52456b701)) -- **deps:** update dependency inquirer to ^7.0.3 ([8e5378c](https://github.com/kintone/plugin-uploader/commit/8e5378c1e816f1746f0eb5d55f3da839fc279995)) -- **deps:** update dependency inquirer to ^7.0.4 ([3597441](https://github.com/kintone/plugin-uploader/commit/3597441ce19391edd3cccd67a11a1f5a3a48e005)) - -- drop node 8 support ([#262](https://github.com/kintone/plugin-uploader/issues/262)) ([fa1ea43](https://github.com/kintone/plugin-uploader/commit/fa1ea431c00e0604e467329eded19c1498986391)) - -### [3.0.7](https://github.com/kintone/plugin-uploader/compare/v3.0.6...v3.0.7) (2019-12-24) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^7.0.1 ([76021cf](https://github.com/kintone/plugin-uploader/commit/76021cff40abfd1a26b30b1a323051eec8394819)) -- avoid validation error of minimist-options ([#252](https://github.com/kintone/plugin-uploader/issues/252)) ([1b5aff1](https://github.com/kintone/plugin-uploader/commit/1b5aff1cc087ac1154266e685b4446b7ea5c7174)) -- **deps:** update dependency chalk to v3 ([#245](https://github.com/kintone/plugin-uploader/issues/245)) ([cc26d53](https://github.com/kintone/plugin-uploader/commit/cc26d537a0d2092d29ef5378c72c9cf3795a416d)) -- **deps:** update dependency meow to v6 ([#251](https://github.com/kintone/plugin-uploader/issues/251)) ([555356e](https://github.com/kintone/plugin-uploader/commit/555356eb3de82ffb851ec1480567984b43ff8b37)) - -### [3.0.6](https://github.com/kintone/plugin-uploader/compare/v3.0.5...v3.0.6) (2019-11-26) - -### Bug Fixes - -- **deps:** update dependency puppeteer to v2 ([#237](https://github.com/kintone/plugin-uploader/issues/237)) ([51c0abf](https://github.com/kintone/plugin-uploader/commit/51c0abf33c1ea9a1f3a116e453591b9cb39f0758)) - -### [3.0.5](https://github.com/kintone/plugin-uploader/compare/v3.0.4...v3.0.5) (2019-10-23) - -### [3.0.4](https://github.com/kintone/plugin-uploader/compare/v3.0.3...v3.0.4) (2019-09-24) - -### [3.0.3](https://github.com/kintone/plugin-uploader/compare/v3.0.2...v3.0.3) (2019-08-27) - -### Bug Fixes - -- **deps:** update dependency inquirer to v7 ([#223](https://github.com/kintone/plugin-uploader/issues/223)) ([12fee60](https://github.com/kintone/plugin-uploader/commit/12fee60)) -- **deps:** update dependency os-locale to v4 ([#207](https://github.com/kintone/plugin-uploader/issues/207)) ([529f867](https://github.com/kintone/plugin-uploader/commit/529f867)) -- **deps:** update dependency puppeteer to ^1.19.0 ([#215](https://github.com/kintone/plugin-uploader/issues/215)) ([6feee46](https://github.com/kintone/plugin-uploader/commit/6feee46)) - -## [3.0.2](https://github.com/kintone/plugin-uploader/compare/v3.0.1...v3.0.2) (2019-07-23) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^1.18.1 ([#194](https://github.com/kintone/plugin-uploader/issues/194)) ([e0286d9](https://github.com/kintone/plugin-uploader/commit/e0286d9)) - -## [3.0.1](https://github.com/kintone/plugin-uploader/compare/v3.0.0...v3.0.1) (2019-06-25) - -# [3.0.0](https://github.com/kintone/plugin-uploader/compare/v2.4.8...v3.0.0) (2019-06-11) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.3.1 ([#189](https://github.com/kintone/plugin-uploader/issues/189)) ([a6af6c3](https://github.com/kintone/plugin-uploader/commit/a6af6c3)) -- missing a type annotation ([bb4797f](https://github.com/kintone/plugin-uploader/commit/bb4797f)) - -### Continuous Integration - -- drop Node v6 and add Node v12 as supporting versions ([#201](https://github.com/kintone/plugin-uploader/issues/201)) ([5a813b6](https://github.com/kintone/plugin-uploader/commit/5a813b6)) - -### BREAKING CHANGES - -- drop Node v6 support - -## [2.4.8](https://github.com/kintone/plugin-uploader/compare/v2.4.7...v2.4.8) (2019-04-23) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^1.14.0 ([#174](https://github.com/kintone/plugin-uploader/issues/174)) ([5c3e2f2](https://github.com/kintone/plugin-uploader/commit/5c3e2f2)) - -## [2.4.7](https://github.com/kintone/plugin-uploader/compare/v2.4.6...v2.4.7) (2019-03-26) - -### Bug Fixes - -- **deps:** Fix script ([86284ee](https://github.com/kintone/plugin-uploader/commit/86284ee)) - -## [2.4.6](https://github.com/kintone/plugin-uploader/compare/v2.4.5...v2.4.6) (2019-02-26) - -### Bug Fixes - -- **deps:** update dependency chalk to ^2.4.2 ([68c5ad3](https://github.com/kintone/plugin-uploader/commit/68c5ad3)) -- **deps:** update dependency inquirer to ^6.2.2 ([51ec652](https://github.com/kintone/plugin-uploader/commit/51ec652)) -- **deps:** update dependency os-locale to ^3.1.0 ([#151](https://github.com/kintone/plugin-uploader/issues/151)) ([ed64687](https://github.com/kintone/plugin-uploader/commit/ed64687)) -- **deps:** update dependency puppeteer to ^1.12.2 ([#162](https://github.com/kintone/plugin-uploader/issues/162)) ([ee4031d](https://github.com/kintone/plugin-uploader/commit/ee4031d)) - - - -## [2.4.5](https://github.com/kintone/plugin-uploader/compare/v2.4.4...v2.4.5) (2018-12-26) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.2.1 ([c2cb1e7](https://github.com/kintone/plugin-uploader/commit/c2cb1e7)) -- **deps:** update dependency puppeteer to ^1.11.0 ([#146](https://github.com/kintone/plugin-uploader/issues/146)) ([f9ab79b](https://github.com/kintone/plugin-uploader/commit/f9ab79b)) - - - -## [2.4.4](https://github.com/kintone/plugin-uploader/compare/v2.4.3...v2.4.4) (2018-11-20) - -### Bug Fixes - -- improve messages in English ([#124](https://github.com/kintone/plugin-uploader/issues/124)) ([af4caf5](https://github.com/kintone/plugin-uploader/commit/af4caf5)) -- improve messages in English ([#125](https://github.com/kintone/plugin-uploader/issues/125)) ([8afb98b](https://github.com/kintone/plugin-uploader/commit/8afb98b)) -- **deps:** update dependency puppeteer to ^1.10.0 ([#133](https://github.com/kintone/plugin-uploader/issues/133)) ([dfff71c](https://github.com/kintone/plugin-uploader/commit/dfff71c)) - - - -## [2.4.3](https://github.com/kintone/plugin-uploader/compare/v2.4.2...v2.4.3) (2018-10-10) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^1.9.0 ([#118](https://github.com/kintone/plugin-uploader/issues/118)) ([aad7d5e](https://github.com/kintone/plugin-uploader/commit/aad7d5e)) - - - -## [2.4.2](https://github.com/kintone/plugin-uploader/compare/v2.4.1...v2.4.2) (2018-09-12) - -### Bug Fixes - -- **deps:** update dependency inquirer to ^6.1.0 ([#97](https://github.com/kintone/plugin-uploader/issues/97)) ([1095886](https://github.com/kintone/plugin-uploader/commit/1095886)) -- **deps:** update dependency inquirer to ^6.2.0 ([#103](https://github.com/kintone/plugin-uploader/issues/103)) ([194d275](https://github.com/kintone/plugin-uploader/commit/194d275)) -- **deps:** update dependency os-locale to ^3.0.1 ([594105a](https://github.com/kintone/plugin-uploader/commit/594105a)) -- **deps:** update dependency os-locale to v3 ([#95](https://github.com/kintone/plugin-uploader/issues/95)) ([d81ef00](https://github.com/kintone/plugin-uploader/commit/d81ef00)) -- **deps:** update dependency puppeteer to ^1.7.0 ([#99](https://github.com/kintone/plugin-uploader/issues/99)) ([d3dda39](https://github.com/kintone/plugin-uploader/commit/d3dda39)) -- **deps:** update dependency puppeteer to ^1.8.0 ([#111](https://github.com/kintone/plugin-uploader/issues/111)) ([65f36bd](https://github.com/kintone/plugin-uploader/commit/65f36bd)) - - - -## [2.4.1](https://github.com/kintone/plugin-uploader/compare/v2.4.0...v2.4.1) (2018-08-07) - -### Bug Fixes - -- **deps:** update dependency puppeteer to ^1.6.0 ([#84](https://github.com/kintone/plugin-uploader/issues/84)) ([dbff1f4](https://github.com/kintone/plugin-uploader/commit/dbff1f4)) -- **deps:** update dependency puppeteer to ^1.6.1 ([6a772f2](https://github.com/kintone/plugin-uploader/commit/6a772f2)) -- **deps:** update dependency puppeteer to ^1.6.2 ([6c783c8](https://github.com/kintone/plugin-uploader/commit/6c783c8)) - - - -# [2.4.0](https://github.com/kintone/plugin-uploader/compare/v2.3.0...v2.4.0) (2018-06-13) - -### Features - -- add an error message for domain ([#72](https://github.com/kintone/plugin-uploader/issues/72)) ([55aa8a8](https://github.com/kintone/plugin-uploader/commit/55aa8a8)) - - - -# [2.3.0](https://github.com/kintone/plugin-uploader/compare/v2.2.1...v2.3.0) (2018-06-13) - -### Features - -- add error messages for login and admin privilege ([#70](https://github.com/kintone/plugin-uploader/issues/70)) ([4c7d4ca](https://github.com/kintone/plugin-uploader/commit/4c7d4ca)) -- support messages in Japanese ([#71](https://github.com/kintone/plugin-uploader/issues/71)) ([a6642db](https://github.com/kintone/plugin-uploader/commit/a6642db)) - - - -## [2.2.1](https://github.com/kintone/plugin-uploader/compare/v2.2.0...v2.2.1) (2018-05-30) - - - -# [2.2.0](https://github.com/kintone/plugin-uploader/compare/v2.1.0...v2.2.0) (2018-05-29) - -### Features - -- **cli:** add --waiting-dialog-ms option ([#55](https://github.com/kintone/plugin-uploader/issues/55)) ([cc6f994](https://github.com/kintone/plugin-uploader/commit/cc6f994)) - - - -# [2.1.0](https://github.com/kintone/plugin-uploader/compare/v2.0.1...v2.1.0) (2018-05-29) - -### Features - -- **cli:** Interactive input for username, password, domain ([#51](https://github.com/kintone/plugin-uploader/issues/51)) ([61ab6d9](https://github.com/kintone/plugin-uploader/commit/61ab6d9)) - - - -## [2.0.1](https://github.com/kintone/plugin-uploader/compare/v2.0.0...v2.0.1) (2018-05-11) - - - -# [2.0.0](https://github.com/kintone/plugin-uploader/compare/v1.0.4...v2.0.0) (2018-05-09) - -### Chores - -- transfer [@koba04](https://github.com/koba04)/kintone-plugin-uploader to [@kintone](https://github.com/kintone)/plugin-uploader ([#31](https://github.com/kintone/plugin-uploader/issues/31)) ([64ba7d2](https://github.com/kintone/plugin-uploader/commit/64ba7d2)) - -### BREAKING CHANGES - -- The GitHub repository and the npm package are now kintone from koba04 - - - -## [1.0.4](https://github.com/koba04/kintone-plugin-uploader/compare/v1.0.3...v1.0.4) (2018-04-23) - -### Bug Fixes - -- retry for a disconnecting error ([#16](https://github.com/koba04/kintone-plugin-uploader/issues/16)) ([f77a4da](https://github.com/koba04/kintone-plugin-uploader/commit/f77a4da)) -- use a URL turned off SAML for login ([c04cbe8](https://github.com/koba04/kintone-plugin-uploader/commit/c04cbe8)), closes [#15](https://github.com/koba04/kintone-plugin-uploader/issues/15) - - - -## [1.0.3](https://github.com/koba04/kintone-plugin-uploader/compare/v1.0.2...v1.0.3) (2018-04-20) - -### Bug Fixes - -- **windows:** duplicate uploading on Windows ([#11](https://github.com/koba04/kintone-plugin-uploader/issues/11)) ([72d135b](https://github.com/koba04/kintone-plugin-uploader/commit/72d135b)) - - - -## [1.0.2](https://github.com/koba04/kintone-plugin-uploader/compare/v1.0.1...v1.0.2) (2018-04-03) - -### Bug Fixes - -- cannot find dist/index ([8199c16](https://github.com/koba04/kintone-plugin-uploader/commit/8199c16)) - - - -## 1.0.1 (2018-04-03) diff --git a/packages/plugin-uploader/LICENSE b/packages/plugin-uploader/LICENSE deleted file mode 100644 index 8f4c908783..0000000000 --- a/packages/plugin-uploader/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ - -MIT License - -Copyright (c) 2018 Cybozu, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/packages/plugin-uploader/README.md b/packages/plugin-uploader/README.md deleted file mode 100644 index b190953e1c..0000000000 --- a/packages/plugin-uploader/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# @kintone/plugin-uploader - -[![npm version](https://badge.fury.io/js/%40kintone%2Fplugin-uploader.svg)](https://badge.fury.io/js/%40kintone%2Fplugin-uploader) -![Node.js version](https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/kintone/js-sdk/main/packages/plugin-uploader/package.json&label=node&query=$.engines.node&colorB=blue) -![License](https://img.shields.io/npm/l/@kintone/plugin-uploader.svg) - -A kintone plugin uploader using [puppeteer](https://github.com/GoogleChrome/puppeteer) - -## Usage - -``` -% npm install @kintone/plugin-uploader -% ./node_modules/.bin/kintone-plugin-uploader ---base-url ${yourKintoneBaseUrl} \ ---username ${yourLoginName} \ ---password ${yourPassword} \ -${pluginZipPath} -``` - -or - -``` -% npm install -g @kintone/plugin-uploader -% kintone-plugin-uploader \ ---base-url ${yourKintoneBaseUrl} \ ---username ${yourLoginName} \ ---password ${yourPassword} \ -${pluginZipPath} -``` - -If you want to upload the plugin automatically when the plugin is updated, you can use `--watch` option. - -``` -% kintone-plugin-uploader \ ---base-url ${yourKintoneBaseUrl} \ ---username ${yourLoginName} \ ---password ${yourPassword} \ ---watch \ -${pluginZipPath} -``` - -It works fine with [@kintone/plugin-packer](https://github.com/kintone/js-sdk/tree/main/packages/plugin-packer). -You can create a project based on `@kintone/plugin-packer` using [@kintone/create-plugin](https://github.com/kintone/js-sdk/tree/main/packages/create-plugin) :). - -## Options - -``` - Usage - $ kintone-plugin-uploader - Options - --base-url Base-url of your kintone - --username Login username - --password User's password - --proxy Proxy server - --basic-auth-username username for Basic Authentication - --basic-auth-password password for Basic Authentication - --watch Watch the changes of plugin zip and re-run - --waiting-dialog-ms The waiting time for showing the input dialog in milliseconds - --lang Using language (en or ja) - --puppeteer-ignore-default-args Ignore default arguments of puppeteer - - You can set the values through environment variables - base-url: KINTONE_BASE_URL - username: KINTONE_USERNAME - password: KINTONE_PASSWORD - basic-auth-username: KINTONE_BASIC_AUTH_USERNAME - basic-auth-password: KINTONE_BASIC_AUTH_PASSWORD - proxy: HTTPS_PROXY or HTTP_PROXY -``` - -If you ommit the options, you can input the options interactively. - -``` -% kintone-plugin-uploader plugin.zip -? Input your username: hoge -? Input your password: [hidden] -? Input your kintone's base URL: https://example.cybozu.com -``` - -If you encounter an error with the following message while uploading a plugin, chrome group policies in Windows might cause it: - -> Error: Failed to launch the browser process! -> -> TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md - -The chrome group policy configured in Windows can enforce to install certain chrome extensions on browsers. The puppeteer fails to launch chrome when these policies are enabled. See [puppeteer document](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md) for more detail. -To avoid this issue, the plugin-uploader provides the `--puppeteer-ignore-default-args` option. Try to run plugin-uploader with the following option: - -```console -$ kintone-plugin-uploader \ - .... - --puppeteer-ignore-default-args="--disable-extensions" -``` - -## LICENSE - -MIT License diff --git a/packages/plugin-uploader/bin/cli.js b/packages/plugin-uploader/bin/cli.js deleted file mode 100755 index da3b616e49..0000000000 --- a/packages/plugin-uploader/bin/cli.js +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node -"use strict"; -require("../dist/cli"); diff --git a/packages/plugin-uploader/eslint.config.mjs b/packages/plugin-uploader/eslint.config.mjs deleted file mode 100644 index 72529c21b4..0000000000 --- a/packages/plugin-uploader/eslint.config.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import rootConfig from "../../eslint.config.mjs"; -// eslint-disable-next-line n/no-extraneous-import -import presetsPrettier from "@cybozu/eslint-config/flat/presets/prettier.js"; - -/** @type {import("eslint").Linter.Config[]} */ -export default [ - ...presetsPrettier, - ...rootConfig, - { - rules: { - /* ref - * - https://github.com/eslint/eslint/issues/11899 - * - https://github.com/eslint/eslint/issues/11954 - */ - "require-atomic-updates": "off", - }, - }, -]; diff --git a/packages/plugin-uploader/package.json b/packages/plugin-uploader/package.json deleted file mode 100644 index 973ac63b34..0000000000 --- a/packages/plugin-uploader/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@kintone/plugin-uploader", - "version": "10.0.1", - "description": "A kintone plugin uploader using puppeteer", - "keywords": [ - "kintone" - ], - "homepage": "https://github.com/kintone/js-sdk/tree/main/packages/plugin-uploader#readme", - "bugs": { - "url": "https://github.com/kintone/js-sdk/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/kintone/js-sdk.git", - "directory": "packages/plugin-uploader" - }, - "license": "MIT", - "author": { - "name": "Cybozu, Inc.", - "url": "https://cybozu.co.jp" - }, - "main": "dist/index.js", - "bin": { - "kintone-plugin-uploader": "bin/cli.js" - }, - "files": [ - "bin", - "dist" - ], - "scripts": { - "prebuild": "pnpm clean", - "build": "tsc --build --force", - "clean": "rimraf dist", - "fix": "pnpm lint --fix", - "lint": "eslint 'src/**/*.ts' 'bin/*.js' --max-warnings 0", - "start": "pnpm build --watch", - "test": "echo 'no test'", - "test:ci": "pnpm test" - }, - "dependencies": { - "@inquirer/prompts": "5.5.0", - "chalk": "4.1.2", - "meow": "9.0.0", - "os-locale": "5.0.0", - "puppeteer": "25.3.0" - }, - "devDependencies": { - "@types/inquirer": "9.0.10" - }, - "engines": { - "node": ">=20" - } -} diff --git a/packages/plugin-uploader/src/cli.ts b/packages/plugin-uploader/src/cli.ts deleted file mode 100644 index b953cee8bd..0000000000 --- a/packages/plugin-uploader/src/cli.ts +++ /dev/null @@ -1,145 +0,0 @@ -import osLocale from "os-locale"; -import meow from "meow"; - -import { inquireParams } from "./params"; -import type { Lang } from "./lang"; -import { getDefaultLang } from "./lang"; -import { getMessage } from "./messages"; -import { run } from "./index"; - -const { - HTTP_PROXY, - HTTPS_PROXY, - KINTONE_BASE_URL, - KINTONE_USERNAME, - KINTONE_PASSWORD, - KINTONE_BASIC_AUTH_USERNAME, - KINTONE_BASIC_AUTH_PASSWORD, -} = process.env; - -const cli = meow( - ` - Usage - $ kintone-plugin-uploader - Options - --base-url Base-url of your kintone - --username Login username - --password User's password - --proxy Proxy server - --basic-auth-username username for Basic Authentication - --basic-auth-password password for Basic Authentication - --watch Watch the changes of plugin zip and re-run - --waiting-dialog-ms The waiting time for showing the input dialog in milliseconds - --lang Using language (en or ja) - --puppeteer-ignore-default-args Ignore default arguments of puppeteer - - You can set the values through environment variables - base-url: KINTONE_BASE_URL - username: KINTONE_USERNAME - password: KINTONE_PASSWORD - basic-auth-username: KINTONE_BASIC_AUTH_USERNAME - basic-auth-password: KINTONE_BASIC_AUTH_PASSWORD - proxy: HTTPS_PROXY or HTTP_PROXY -`, - { - flags: { - baseUrl: { - type: "string", - default: KINTONE_BASE_URL || "", - }, - username: { - type: "string", - default: KINTONE_USERNAME || "", - }, - password: { - type: "string", - default: KINTONE_PASSWORD || "", - }, - proxy: { - type: "string", - default: HTTPS_PROXY || HTTP_PROXY || "", - }, - basicAuthUsername: { - type: "string", - default: KINTONE_BASIC_AUTH_USERNAME || "", - }, - basicAuthPassword: { - type: "string", - default: KINTONE_BASIC_AUTH_PASSWORD || "", - }, - watch: { - type: "boolean", - default: false, - }, - waitingDialogMs: { - type: "number", - default: 0, - }, - lang: { - type: "string", - default: getDefaultLang(osLocale.sync()), - }, - puppeteerIgnoreDefaultArgs: { - type: "string", - }, - }, - }, -); - -const pluginPath = cli.input[0]; -const { - username, - password, - baseUrl, - proxy, - basicAuthUsername, - basicAuthPassword, - watch, - waitingDialogMs, - lang, - puppeteerIgnoreDefaultArgs, -} = cli.flags; - -const isLang = (_lang: string): _lang is Lang => { - return ["ja", "en"].includes(_lang); -}; - -if (!isLang(lang)) { - throw new Error( - getMessage(getDefaultLang(osLocale.sync()), "Error_invalidLang"), - ); -} - -const basicAuth = - basicAuthUsername !== "" && basicAuthPassword !== "" - ? { - username: basicAuthUsername, - password: basicAuthPassword, - } - : undefined; -const options = { - watch, - lang, - proxyServer: proxy !== "" ? proxy : undefined, - basicAuth, - puppeteerIgnoreDefaultArgs: puppeteerIgnoreDefaultArgs?.split(" "), -}; - -if (!pluginPath) { - console.error(getMessage(lang, "Error_requiredZipPath")); - cli.showHelp(); -} - -const wait = (ms: number) => new Promise((r) => setTimeout(r, ms)); - -wait(waitingDialogMs) - .then(() => inquireParams({ username, password, baseUrl, lang })) - .then((answers) => { - run( - answers.baseUrl, - answers.username, - answers.password, - pluginPath, - options, - ); - }); diff --git a/packages/plugin-uploader/src/controllers/ControllerBase.ts b/packages/plugin-uploader/src/controllers/ControllerBase.ts deleted file mode 100644 index 4b6b43421e..0000000000 --- a/packages/plugin-uploader/src/controllers/ControllerBase.ts +++ /dev/null @@ -1,103 +0,0 @@ -import type { Browser, Page } from "puppeteer"; -import puppeteer from "puppeteer"; -import chalk from "chalk"; -import type { BoundMessage } from "../messages"; - -const TIMEOUT_MS = 10000; - -export interface BasicAuth { - username: string; - password: string; -} - -export abstract class ControllerBase { - private _browser?: Browser; - private _page?: Page; - - public get browser() { - if (this._browser === undefined) { - throw new Error( - "Browser is not launched yet. Please call launchBrowser() first.", - ); - } - return this._browser; - } - - public set browser(value) { - this._browser = value; - } - - public get page() { - if (this._page === undefined) { - throw new Error( - "Page is not opened yet. Please call openNewPage() first.", - ); - } - return this._page; - } - - public set page(value) { - this._page = value; - } - - public async launchBrowser( - options: { - proxy?: string; - ignoreDefaultArgs?: string[]; - } = {}, - ) { - const args = options.proxy ? [`--proxy-server=${options.proxy}`] : []; - this._browser = await puppeteer.launch({ - args, - ignoreDefaultArgs: options.ignoreDefaultArgs, - headless: "shell", - }); - } - - public async closeBrowser() { - return this.browser.close(); - } - - public async openNewPage() { - this._page = await this.browser.newPage(); - } - - protected async login(options: { - baseUrl: string; - userName: string; - password: string; - boundMessage: BoundMessage; - basicAuth?: BasicAuth; - }): Promise { - const { baseUrl, userName, password, boundMessage, basicAuth } = options; - const loginUrl = `${baseUrl}/login?saml=off`; - - if (basicAuth) { - await this.page.authenticate(basicAuth); - } - - console.log(`Open ${loginUrl}`); - await this.page.goto(loginUrl); - try { - await this.page.waitForSelector(".form-username-slash", { - timeout: TIMEOUT_MS, - }); - } catch (e) { - throw chalk.red(boundMessage("Error_cannotOpenLogin")); - } - - console.log("Trying to log in..."); - await this.page.type(".form-username-slash > input.form-text", userName); - await this.page.type(".form-password-slash > input.form-text", password); - await this.page.click(".login-button"); - - try { - await this.page.waitForNavigation({ - timeout: TIMEOUT_MS, - waitUntil: "domcontentloaded", - }); - } catch (e) { - throw chalk.red(boundMessage("Error_failedLogin")); - } - } -} diff --git a/packages/plugin-uploader/src/controllers/PluginSystemController.ts b/packages/plugin-uploader/src/controllers/PluginSystemController.ts deleted file mode 100644 index 61df774ae7..0000000000 --- a/packages/plugin-uploader/src/controllers/PluginSystemController.ts +++ /dev/null @@ -1,86 +0,0 @@ -import type { Lang } from "../lang"; -import chalk from "chalk"; -import { getBoundMessage } from "../messages"; -import { ReactPluginSystemPage } from "../pages/ReactPluginSystemPage"; -import type { PluginSystemPageInterface } from "../pages/PluginSystemPageInterface"; -import { - IMPORT_BUTTON_SELECTOR, - OldPluginSystemPage, -} from "../pages/OldPluginSystemPage"; -import { ControllerBase } from "./ControllerBase"; - -const DETECT_PAGE_TIMEOUT_MS = 10000; -const NO_PRIVILEGE_STATUS_CODE = "CB_NO02"; - -export interface BasicAuth { - username: string; - password: string; -} - -export default class PluginSystemController extends ControllerBase { - private ui?: PluginSystemPageInterface; - - private async getUI() { - if (this.ui) { - return this.ui; - } - - const isReactPage = await this.isReactPage(); - this.ui = isReactPage - ? new ReactPluginSystemPage() - : new OldPluginSystemPage(); - - return this.ui; - } - - private async isReactPage(): Promise { - try { - await this.page.waitForSelector(IMPORT_BUTTON_SELECTOR, { - timeout: DETECT_PAGE_TIMEOUT_MS, - }); - return false; - } catch (e) { - return true; - } - } - - protected async goToPluginSystemPage(baseUrl: string) { - const pluginSystemPageUri = `${baseUrl}/k/admin/system/plugin/`; - console.log(`Navigate to ${pluginSystemPageUri}`); - return this.page.goto(pluginSystemPageUri); - } - - public async readyForUpload(options: { - baseUrl: string; - userName: string; - password: string; - lang: Lang; - basicAuth?: BasicAuth; - }): Promise { - const { baseUrl, userName, password, lang, basicAuth } = options; - const boundMessage = getBoundMessage(lang); - - await this.login({ - baseUrl, - userName, - password, - boundMessage, - basicAuth, - }); - - const response = await this.goToPluginSystemPage(baseUrl); - if ( - !response || - (response.headers()["x-cybozu-error"] && - response.headers()["x-cybozu-error"] === NO_PRIVILEGE_STATUS_CODE) - ) { - throw chalk.red(boundMessage("Error_adminPrivilege")); - } - - await (await this.getUI()).readyForImportButton(this.page, boundMessage); - } - - public async upload(pluginPath: string, lang: Lang): Promise { - await (await this.getUI()).upload(this.page, pluginPath, lang); - } -} diff --git a/packages/plugin-uploader/src/index.ts b/packages/plugin-uploader/src/index.ts deleted file mode 100644 index c5a10c0889..0000000000 --- a/packages/plugin-uploader/src/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -import fs from "fs"; -import { getBoundMessage } from "./messages"; -import type { BasicAuth } from "./controllers/ControllerBase"; -import PluginSystemController from "./controllers/PluginSystemController"; -import type { Lang } from "./lang"; - -interface Option { - proxyServer?: string; - watch?: boolean; - lang: Lang; - basicAuth?: BasicAuth; - puppeteerIgnoreDefaultArgs?: string[]; -} - -export const run = async ( - baseUrl: string, - userName: string, - password: string, - pluginPath: string, - options: Option, -): Promise => { - const { lang, basicAuth } = options; - const boundMessage = getBoundMessage(lang); - - const browserOptions = { - proxy: options.proxyServer, - ignoreDefaultArgs: options.puppeteerIgnoreDefaultArgs, - }; - const pluginSystemController = new PluginSystemController(); - await pluginSystemController.launchBrowser(browserOptions); - - try { - await pluginSystemController.openNewPage(); - await pluginSystemController.readyForUpload({ - baseUrl, - userName, - password, - lang, - basicAuth, - }); - await pluginSystemController.upload(pluginPath, lang); - if (options.watch) { - let uploading = false; - fs.watch(pluginPath, async () => { - if (uploading) { - return; - } - try { - uploading = true; - await pluginSystemController.upload(pluginPath, lang); - } catch (e) { - console.log(e); - console.log(boundMessage("Error_retry")); - await pluginSystemController.closeBrowser(); - await pluginSystemController.launchBrowser(browserOptions); - await pluginSystemController.openNewPage(); - await pluginSystemController.readyForUpload({ - baseUrl, - userName, - password, - lang, - basicAuth, - }); - await pluginSystemController.upload(pluginPath, lang); - } finally { - uploading = false; - } - }); - } else { - await pluginSystemController.closeBrowser(); - } - } catch (e) { - console.error(boundMessage("Error"), e); - await pluginSystemController.closeBrowser(); - - // eslint-disable-next-line n/no-process-exit - process.exit(1); - } -}; diff --git a/packages/plugin-uploader/src/lang.ts b/packages/plugin-uploader/src/lang.ts deleted file mode 100644 index 6908f29f3f..0000000000 --- a/packages/plugin-uploader/src/lang.ts +++ /dev/null @@ -1,9 +0,0 @@ -export type Lang = "ja" | "en"; - -/** - * Get a default language based on LANG environment value - * @param lang - */ -export const getDefaultLang = (lang?: string): Lang => { - return lang && lang.startsWith("ja") ? "ja" : "en"; -}; diff --git a/packages/plugin-uploader/src/messages.ts b/packages/plugin-uploader/src/messages.ts deleted file mode 100644 index 1b856ec59a..0000000000 --- a/packages/plugin-uploader/src/messages.ts +++ /dev/null @@ -1,77 +0,0 @@ -import type { Lang } from "./lang"; - -type LangMap = { [lang in Lang]: string }; -type MessageMap = { [key in keyof typeof messages]: LangMap }; - -export type BoundMessage = (key: keyof MessageMap) => string; - -const messages = { - Q_BaseUrl: { - en: "Input your kintone's base URL (https://example.cybozu.com):", - ja: "kintoneのベースURLを入力してください (https://example.cybozu.com):", - }, - Q_UserName: { - en: "Input your username:", - ja: "ログイン名を入力してください:", - }, - Q_Password: { - en: "Input your password:", - ja: "パスワードを入力してください:", - }, - Error: { - en: "An error occurred", - ja: "エラーが発生しました", - }, - Error_retry: { - en: "An error occurred, retry with a new browser", - ja: "エラーが発生しました。リトライします", - }, - Error_invalidLang: { - en: "Lang should be 'ja' or 'en'", - ja: "langオプションは'ja'か'en'のみ指定可能です", - }, - Error_requiredZipPath: { - en: "Please specify the path of the Kintone plug-in zip file", - ja: "kintoneプラグインのzipへのパスを指定してください", - }, - Error_failedLogin: { - en: "Login failed, please confirm your username and password", - ja: "kintoneへのログインに失敗しました。ログイン名とパスワードを確認してください。", - }, - Error_cannotOpenLogin: { - en: "Login failed, please confirm the base URL", - ja: "kintoneへのログインに失敗しました。ベースURLを確認してください。", - }, - Error_adminPrivilege: { - en: "Cannot navigate to the plug-ins page, please retry with an account with administrator privileges", - ja: "kintone管理者権限のあるユーザーで実行してください", - }, - Error_notDisplayImportButton: { - en: "Import Button is not displayed.", - ja: "「読み込む」ボタンが表示されていません。", - }, - Uploaded: { - en: "has been uploaded!", - ja: "をアップロードしました!", - }, -}; - -/** - * Returns a message for the passed lang and key - * @param lang - * @param key - */ -export const getMessage = ( - lang: keyof LangMap, - key: keyof MessageMap, -): string => { - return messages[key][lang]; -}; - -/** - * Returns a function bound lang to getMessage - * @param lang - */ -export const getBoundMessage = (lang: keyof LangMap): BoundMessage => { - return getMessage.bind(null, lang); -}; diff --git a/packages/plugin-uploader/src/pages/OldPluginSystemPage.ts b/packages/plugin-uploader/src/pages/OldPluginSystemPage.ts deleted file mode 100644 index 4af667db2d..0000000000 --- a/packages/plugin-uploader/src/pages/OldPluginSystemPage.ts +++ /dev/null @@ -1,64 +0,0 @@ -import type { Page } from "puppeteer"; -import type { BoundMessage } from "../messages"; -import { getBoundMessage } from "../messages"; -import chalk from "chalk"; -import type { Lang } from "../lang"; -import type { PluginSystemPageInterface } from "./PluginSystemPageInterface"; - -const TIMEOUT_MS = 10000; -const UPLOAD_TIMEOUT_MS = 60000; - -export const IMPORT_BUTTON_SELECTOR = - "#page-admin-system-plugin-index-addplugin"; -const IMPORT_PLUGIN_DIALOG_SELECTOR = ".ocean-ui-dialog"; -const FILE_SELECTOR = '.plupload > input[type="file"]'; - -export class OldPluginSystemPage implements PluginSystemPageInterface { - public async readyForImportButton( - page: Page, - boundMessage: BoundMessage, - ): Promise { - try { - await page.waitForSelector(IMPORT_BUTTON_SELECTOR, { - timeout: TIMEOUT_MS, - }); - } catch (e) { - throw chalk.red(boundMessage("Error_notDisplayImportButton")); - } - } - - public async upload( - page: Page, - pluginPath: string, - lang: Lang, - ): Promise { - const boundMessage = getBoundMessage(lang); - console.log(`Trying to upload ${pluginPath}`); - await page.click(IMPORT_BUTTON_SELECTOR); - await page.waitForSelector(IMPORT_PLUGIN_DIALOG_SELECTOR, { - timeout: TIMEOUT_MS, - }); - const file = await page.$(FILE_SELECTOR); - if (file === null) { - throw new Error('input[type="file"] is not found'); - } - await file.uploadFile(pluginPath); - // HACK: `page.click` does not work as expected, so we use `page.evaluate` instead. - // ref: https://github.com/puppeteer/puppeteer/pull/7097#issuecomment-850348366 - await page.evaluate(() => { - const button = - document.querySelector('button[name="ok"]'); - if (button) { - button.click(); - } else { - throw new Error('button[name="ok"] is not found'); - } - }); - - await page.waitForSelector(".ocean-ui-dialog", { - hidden: true, - timeout: UPLOAD_TIMEOUT_MS, - }); - console.log(`${pluginPath} ${boundMessage("Uploaded")}`); - } -} diff --git a/packages/plugin-uploader/src/pages/PluginSystemPageInterface.ts b/packages/plugin-uploader/src/pages/PluginSystemPageInterface.ts deleted file mode 100644 index b69e0738e7..0000000000 --- a/packages/plugin-uploader/src/pages/PluginSystemPageInterface.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { BoundMessage } from "../messages"; -import type { Page } from "puppeteer"; -import type { Lang } from "../lang"; - -export interface PluginSystemPageInterface { - readyForImportButton(page: Page, m: BoundMessage): Promise; - upload(page: Page, pluginPath: string, lang: Lang): Promise; -} diff --git a/packages/plugin-uploader/src/pages/ReactPluginSystemPage.ts b/packages/plugin-uploader/src/pages/ReactPluginSystemPage.ts deleted file mode 100644 index ece12e0ffb..0000000000 --- a/packages/plugin-uploader/src/pages/ReactPluginSystemPage.ts +++ /dev/null @@ -1,56 +0,0 @@ -import type { Page } from "puppeteer"; -import type { BoundMessage } from "../messages"; -import { getBoundMessage } from "../messages"; -import chalk from "chalk"; -import type { Lang } from "../lang"; -import type { PluginSystemPageInterface } from "./PluginSystemPageInterface"; - -const TIMEOUT_MS = 10000; -const UPLOAD_TIMEOUT_MS = 60000; - -const IMPORT_BUTTON_SELECTOR = "button[data-testid='PluginImportButton']"; -const IMPORT_PLUGIN_DIALOG_SELECTOR = - "//div[@data-testid='ImportDialog']//div[contains(@class,'_dialogContent')]"; -const FILE_SELECTOR = "label[data-testid='FileSelector'] > input[type='file']"; -const IMPORT_BUTTON_IN_DIALOG_SELECTOR = - "//div[@data-testid='ImportDialog']//div[contains(@class,'_footer')]//button[1]"; - -export class ReactPluginSystemPage implements PluginSystemPageInterface { - public async readyForImportButton( - page: Page, - boundMessage: BoundMessage, - ): Promise { - try { - await page.waitForSelector(IMPORT_BUTTON_SELECTOR, { - timeout: TIMEOUT_MS, - }); - } catch (e) { - throw chalk.red(boundMessage("Error_notDisplayImportButton")); - } - } - - public async upload( - page: Page, - pluginPath: string, - lang: Lang, - ): Promise { - const boundMessage = getBoundMessage(lang); - console.log(`Trying to upload ${pluginPath}`); - await page.click(IMPORT_BUTTON_SELECTOR); - await page.waitForSelector(`xpath/${IMPORT_PLUGIN_DIALOG_SELECTOR}`, { - timeout: TIMEOUT_MS, - }); - const file = await page.$(FILE_SELECTOR); - if (file === null) { - throw new Error('input[type="file"] is not found'); - } - - await file.uploadFile(pluginPath); - await page.click(`xpath/${IMPORT_BUTTON_IN_DIALOG_SELECTOR}`); - await page.waitForSelector(`xpath/${IMPORT_BUTTON_IN_DIALOG_SELECTOR}`, { - hidden: true, - timeout: UPLOAD_TIMEOUT_MS, - }); - console.log(`${pluginPath} ${boundMessage("Uploaded")}`); - } -} diff --git a/packages/plugin-uploader/src/params.ts b/packages/plugin-uploader/src/params.ts deleted file mode 100644 index 7f255c9c14..0000000000 --- a/packages/plugin-uploader/src/params.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { Lang } from "./lang"; -import { getBoundMessage } from "./messages"; -import { - promptForBaseUrl, - promptForPassword, - promptForUsername, -} from "./prompts/params"; - -interface Params { - username: string; - password: string; - baseUrl: string; - lang: Lang; -} - -const isSet = (v: string | null | undefined) => typeof v === "string" && v; - -export const inquireParams = async ({ - username, - password, - baseUrl, - lang, -}: Params): Promise<{ - username: string; - password: string; - baseUrl: string; -}> => { - const m = getBoundMessage(lang); - - const _baseUrl = isSet(baseUrl) ? baseUrl : await promptForBaseUrl(m); - const _username = isSet(username) ? username : await promptForUsername(m); - const _password = isSet(password) ? password : await promptForPassword(m); - - return { - baseUrl: _baseUrl, - username: _username, - password: _password, - }; -}; diff --git a/packages/plugin-uploader/src/prompts/params.ts b/packages/plugin-uploader/src/prompts/params.ts deleted file mode 100644 index 136ae10fef..0000000000 --- a/packages/plugin-uploader/src/prompts/params.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { input } from "@inquirer/prompts"; -import type { BoundMessage } from "../messages"; - -const validateForString = (v: string) => !!v; - -export const promptForBaseUrl = async ( - m: BoundMessage, - defaultAnswer?: string, -) => { - return input({ - message: m("Q_BaseUrl"), - default: defaultAnswer, - validate: validateForString, - }); -}; - -export const promptForUsername = async ( - m: BoundMessage, - defaultAnswer?: string, -) => { - return input({ - message: m("Q_UserName"), - default: defaultAnswer, - validate: validateForString, - }); -}; - -export const promptForPassword = async ( - m: BoundMessage, - defaultAnswer?: string, -) => { - return input({ - message: m("Q_Password"), - default: defaultAnswer, - validate: validateForString, - }); -}; diff --git a/packages/plugin-uploader/tsconfig.json b/packages/plugin-uploader/tsconfig.json deleted file mode 100644 index 6ba9581d4f..0000000000 --- a/packages/plugin-uploader/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../tsconfig-base.json", - "compilerOptions": { - "lib": ["es2015", "dom"], - "outDir": "./dist", - "rootDir": "./src", - }, - "references": [] -} diff --git a/packages/tsconfig.json b/packages/tsconfig.json index 646283cc89..eabb19da34 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -2,13 +2,9 @@ "files": [], "include": [], "references": [ - { "path": "./create-plugin"}, - { "path": "./customize-uploader"}, { "path": "./dts-gen"}, { "path": "./eslint-plugin"}, - { "path": "./plugin-packer"}, { "path": "./plugin-manifest-validator"}, - { "path": "./plugin-uploader"}, { "path": "./profile-loader"}, // { "path": "./rest" }, // using Vite to build { "path": "./rest-api-client" }, diff --git a/packages/webpack-plugin-kintone-plugin/tsconfig.json b/packages/webpack-plugin-kintone-plugin/tsconfig.json index 4eec208d06..3eb3c147f0 100644 --- a/packages/webpack-plugin-kintone-plugin/tsconfig.json +++ b/packages/webpack-plugin-kintone-plugin/tsconfig.json @@ -9,8 +9,5 @@ "types" ] }, - "exclude": ["**/__tests__/**", "**/*.test.ts", "**/*.spec.ts", "vitest.config.ts"], - "references": [ - { "path": "../plugin-packer" } - ] + "exclude": ["**/__tests__/**", "**/*.test.ts", "**/*.spec.ts", "vitest.config.ts"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 475e36367e..8d17fe7240 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,89 +93,6 @@ importers: specifier: 4.1.11 version: 4.1.11(@types/node@18.19.130)(jsdom@29.1.1)(msw@2.15.0(@types/node@18.19.130)(typescript@5.9.3))(vite@7.3.1(@types/node@18.19.130)(terser@5.46.1)(tsx@4.23.12)(yaml@2.8.3)) - packages/create-plugin: - dependencies: - '@inquirer/prompts': - specifier: 5.5.0 - version: 5.5.0 - chalk: - specifier: 4.1.2 - version: 4.1.2 - glob: - specifier: 13.0.6 - version: 13.0.6 - lodash: - specifier: 4.18.1 - version: 4.18.1 - meow: - specifier: 9.0.0 - version: 9.0.0 - node-rsa: - specifier: 1.1.1 - version: 1.1.1 - normalize-path: - specifier: 3.0.0 - version: 3.0.0 - os-locale: - specifier: 5.0.0 - version: 5.0.0 - prettier: - specifier: 3.8.5 - version: 3.8.5 - rimraf: - specifier: 6.1.3 - version: 6.1.3 - sort-package-json: - specifier: 3.7.1 - version: 3.7.1 - devDependencies: - '@types/glob': - specifier: 8.1.0 - version: 8.1.0 - '@types/inquirer': - specifier: 9.0.10 - version: 9.0.10 - '@types/lodash': - specifier: 4.17.25 - version: 4.17.25 - '@types/node-rsa': - specifier: 1.1.4 - version: 1.1.4 - '@types/normalize-path': - specifier: 3.0.2 - version: 3.0.2 - cross-env: - specifier: 10.1.0 - version: 10.1.0 - - packages/customize-uploader: - dependencies: - '@inquirer/prompts': - specifier: 5.5.0 - version: 5.5.0 - '@kintone/rest-api-client': - specifier: 6.2.1 - version: 6.2.1 - chokidar: - specifier: 3.6.0 - version: 3.6.0 - meow: - specifier: 9.0.0 - version: 9.0.0 - mkdirp: - specifier: 3.0.1 - version: 3.0.1 - os-locale: - specifier: 5.0.0 - version: 5.0.0 - rimraf: - specifier: 6.1.3 - version: 6.1.3 - devDependencies: - '@types/inquirer': - specifier: 9.0.10 - version: 9.0.10 - packages/dts-gen: dependencies: '@cybozu/eslint-config': @@ -212,6 +129,9 @@ importers: cross-env: specifier: 10.1.0 version: 10.1.0 + process: + specifier: 0.11.10 + version: 0.11.10 ts-loader: specifier: 9.6.2 version: 9.6.2(typescript@5.9.3)(webpack@5.105.4) @@ -278,161 +198,6 @@ importers: specifier: 15.0.4 version: 15.0.4 - packages/plugin-packer: - dependencies: - '@kintone/plugin-manifest-validator': - specifier: 11.3.0 - version: 11.3.0 - chokidar: - specifier: 3.6.0 - version: 3.6.0 - debug: - specifier: 4.4.3 - version: 4.4.3(supports-color@10.2.2) - denodeify: - specifier: 1.2.1 - version: 1.2.1 - meow: - specifier: 9.0.0 - version: 9.0.0 - mkdirp: - specifier: 3.0.1 - version: 3.0.1 - node-rsa: - specifier: 1.1.1 - version: 1.1.1 - stream-buffers: - specifier: 3.0.3 - version: 3.0.3 - yauzl: - specifier: 3.4.0 - version: 3.4.0 - yazl: - specifier: 2.5.1 - version: 2.5.1 - devDependencies: - '@reduxjs/toolkit': - specifier: 2.12.0 - version: 2.12.0 - '@types/debug': - specifier: 4.1.13 - version: 4.1.13 - '@types/node-rsa': - specifier: 1.1.4 - version: 1.1.4 - '@types/stream-buffers': - specifier: 3.0.8 - version: 3.0.8 - '@types/yauzl': - specifier: 3.4.0 - version: 3.4.0 - '@types/yazl': - specifier: 2.4.6 - version: 2.4.6 - ajv: - specifier: 8.20.0 - version: 8.20.0 - array-flatten: - specifier: 3.0.0 - version: 3.0.0 - assert: - specifier: 2.1.0 - version: 2.1.0 - babel-plugin-replace-ts-export-assignment: - specifier: 0.0.2 - version: 0.0.2 - browserify-zlib: - specifier: 0.2.0 - version: 0.2.0 - buffer: - specifier: 6.0.3 - version: 6.0.3 - constants-browserify: - specifier: 1.0.0 - version: 1.0.0 - crypto-browserify: - specifier: 3.12.1 - version: 3.12.1 - cssnano: - specifier: 8.0.5 - version: 8.0.5(postcss@8.5.26) - execa: - specifier: 5.1.1 - version: 5.1.1 - glob: - specifier: 13.0.6 - version: 13.0.6 - globals: - specifier: 16.5.0 - version: 16.5.0 - jsdom: - specifier: 29.1.1 - version: 29.1.1 - normalize.css: - specifier: 8.0.1 - version: 8.0.1 - path-browserify: - specifier: 1.0.1 - version: 1.0.1 - postcss: - specifier: 8.5.26 - version: 8.5.26 - postcss-cli: - specifier: 11.0.1 - version: 11.0.1(postcss@8.5.26)(tsx@4.23.12) - process: - specifier: 0.11.10 - version: 0.11.10 - redux-logger: - specifier: 3.0.6 - version: 3.0.6 - redux-thunk: - specifier: 3.1.0 - version: 3.1.0(redux@5.0.1) - rimraf: - specifier: 6.1.3 - version: 6.1.3 - setimmediate: - specifier: 1.0.5 - version: 1.0.5 - stream-browserify: - specifier: 3.0.0 - version: 3.0.0 - util: - specifier: 0.12.5 - version: 0.12.5 - webpack: - specifier: 5.105.4 - version: 5.105.4(webpack-cli@7.2.2) - webpack-cli: - specifier: 7.2.2 - version: 7.2.2(js-yaml@5.2.3)(json5@2.2.3)(toml@4.3.0)(webpack-dev-server@5.2.6)(webpack@5.105.4) - webpack-dev-server: - specifier: 5.2.6 - version: 5.2.6(debug@4.4.3)(tslib@2.8.1)(webpack-cli@7.2.2)(webpack@5.105.4) - - packages/plugin-uploader: - dependencies: - '@inquirer/prompts': - specifier: 5.5.0 - version: 5.5.0 - chalk: - specifier: 4.1.2 - version: 4.1.2 - meow: - specifier: 9.0.0 - version: 9.0.0 - os-locale: - specifier: 5.0.0 - version: 5.0.0 - puppeteer: - specifier: 25.3.0 - version: 25.3.0(yauzl@3.4.0) - devDependencies: - '@types/inquirer': - specifier: 9.0.10 - version: 9.0.10 - packages/profile-loader: dependencies: toml: @@ -1157,9 +922,6 @@ packages: resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} hasBin: true - '@colordx/core@5.5.0': - resolution: {integrity: sha512-3PxTH8itZzltK0U9jTwVVnjLXvnDYuq3m+QXsHkENxWiPRh4WaoLcs1SQjqgZ55kS+QyirpH5BVwzP2gMVG6EQ==} - '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -1777,10 +1539,6 @@ packages: resolution: {integrity: sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/checkbox@2.5.0': - resolution: {integrity: sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==} - engines: {node: '>=18'} - '@inquirer/checkbox@4.3.2': resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} engines: {node: '>=18'} @@ -1790,10 +1548,6 @@ packages: '@types/node': optional: true - '@inquirer/confirm@3.2.0': - resolution: {integrity: sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==} - engines: {node: '>=18'} - '@inquirer/confirm@5.1.21': resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} engines: {node: '>=18'} @@ -1830,14 +1584,6 @@ packages: '@types/node': optional: true - '@inquirer/core@9.2.1': - resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} - engines: {node: '>=18'} - - '@inquirer/editor@2.2.0': - resolution: {integrity: sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==} - engines: {node: '>=18'} - '@inquirer/editor@4.2.23': resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} engines: {node: '>=18'} @@ -1847,10 +1593,6 @@ packages: '@types/node': optional: true - '@inquirer/expand@2.3.0': - resolution: {integrity: sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==} - engines: {node: '>=18'} - '@inquirer/expand@4.0.23': resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} engines: {node: '>=18'} @@ -1877,10 +1619,6 @@ packages: resolution: {integrity: sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/input@2.3.0': - resolution: {integrity: sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==} - engines: {node: '>=18'} - '@inquirer/input@4.3.1': resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} engines: {node: '>=18'} @@ -1890,10 +1628,6 @@ packages: '@types/node': optional: true - '@inquirer/number@1.1.0': - resolution: {integrity: sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==} - engines: {node: '>=18'} - '@inquirer/number@3.0.23': resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} engines: {node: '>=18'} @@ -1903,10 +1637,6 @@ packages: '@types/node': optional: true - '@inquirer/password@2.2.0': - resolution: {integrity: sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==} - engines: {node: '>=18'} - '@inquirer/password@4.0.23': resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} engines: {node: '>=18'} @@ -1916,10 +1646,6 @@ packages: '@types/node': optional: true - '@inquirer/prompts@5.5.0': - resolution: {integrity: sha512-BHDeL0catgHdcHbSFFUddNzvx/imzJMft+tWDPwTm3hfu8/tApk1HrooNngB2Mb4qY+KaRWF+iZqoVUPeslEog==} - engines: {node: '>=18'} - '@inquirer/prompts@7.10.1': resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} engines: {node: '>=18'} @@ -1929,10 +1655,6 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@2.3.0': - resolution: {integrity: sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==} - engines: {node: '>=18'} - '@inquirer/rawlist@4.1.11': resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} engines: {node: '>=18'} @@ -1942,10 +1664,6 @@ packages: '@types/node': optional: true - '@inquirer/search@1.1.0': - resolution: {integrity: sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==} - engines: {node: '>=18'} - '@inquirer/search@3.2.2': resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} engines: {node: '>=18'} @@ -1955,10 +1673,6 @@ packages: '@types/node': optional: true - '@inquirer/select@2.5.0': - resolution: {integrity: sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==} - engines: {node: '>=18'} - '@inquirer/select@4.4.2': resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} engines: {node: '>=18'} @@ -1968,14 +1682,6 @@ packages: '@types/node': optional: true - '@inquirer/type@1.5.5': - resolution: {integrity: sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==} - engines: {node: '>=18'} - - '@inquirer/type@2.0.0': - resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} - engines: {node: '>=18'} - '@inquirer/type@3.0.10': resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} engines: {node: '>=18'} @@ -2326,19 +2032,6 @@ packages: resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} engines: {node: '>=18'} - '@puppeteer/browsers@3.0.6': - resolution: {integrity: sha512-B/gKoqlFkzhvzsI6jo9K1cZz9o5ypviVv/xu8CwA4grZzyVwN+XfkT+tu8T1zrauuEXv6VhS2oGX+6NL95WcKA==} - engines: {node: '>=22.12.0'} - hasBin: true - peerDependencies: - proxy-agent: '>=8.0.1' - yauzl: ^2.10.0 || ^3.4.0 - peerDependenciesMeta: - proxy-agent: - optional: true - yauzl: - optional: true - '@redocly/ajv@8.11.2': resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} @@ -2349,17 +2042,6 @@ packages: resolution: {integrity: sha512-V09ayfnb5GyysmvARbt+voFZAjGcf7hSYxOYxSkCc4fbH/DTfq5YWoec8cflvmHHqyIFbqvmGKmYFzqhr9zxDg==} engines: {node: '>=18.17.0', npm: '>=9.5.0'} - '@reduxjs/toolkit@2.12.0': - resolution: {integrity: sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==} - peerDependencies: - react: ^16.9.0 || ^17.0.0 || ^18 || ^19 - react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 - peerDependenciesMeta: - react: - optional: true - react-redux: - optional: true - '@rollup/plugin-babel@6.1.0': resolution: {integrity: sha512-dFZNuFD2YRcoomP4oYf+DvQNSUA9ih+A3vUqopQx5EdtPGo3WBnQcI/S8pwpz91UsGfL0HsMSOlaMld8HrbubA==} engines: {node: '>=14.0.0'} @@ -2740,9 +2422,6 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@standard-schema/utils@0.3.0': - resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - '@stylistic/eslint-plugin-ts@3.1.0': resolution: {integrity: sha512-ExsbaLmPTt3Y9bWN64nw+hpsnLAScLH25ncPxrV16FG2Lvg5wn6aRfMqldUGpu+YdqVmFFU1zehgFh6RIHT6YA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2800,9 +2479,6 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/debug@4.1.13': - resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} - '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -2824,18 +2500,12 @@ packages: '@types/express@4.17.25': resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - '@types/glob@8.1.0': - resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} - '@types/http-errors@2.0.5': resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} '@types/http-proxy@1.17.17': resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} - '@types/inquirer@9.0.10': - resolution: {integrity: sha512-vFW2WbXwO9eZpRT5GJGFJ/shgyMNnYozmnjakt9jCQSS1lvqX8pZEQMjJ9RdDPct/YxwciQ8+V8OYn9euIrZDA==} - '@types/js-base64@3.3.1': resolution: {integrity: sha512-Zw33oQNAvDdAN9b0IE5stH0y2MylYvtU7VVTKEJPxhyM2q57CVaNJhtJW258ah24NRtaiA23tptUmVn3dmTKpw==} deprecated: This is a stub types definition. js-base64 provides its own type definitions, so you do not need this installed. @@ -2852,39 +2522,15 @@ packages: '@types/mime@3.0.4': resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} - '@types/minimatch@5.1.2': - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - - '@types/mute-stream@0.0.4': - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - - '@types/node-rsa@1.1.4': - resolution: {integrity: sha512-dB0ECel6JpMnq5ULvpUTunx3yNm8e/dIkv8Zu9p2c8me70xIRUUG3q+qXRwcSf9rN3oqamv4116iHy90dJGRpA==} - '@types/node@18.19.130': resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@22.19.17': - resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} - '@types/node@22.20.1': resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} '@types/node@25.5.0': resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/normalize-path@3.0.2': - resolution: {integrity: sha512-DO++toKYPaFn0Z8hQ7Tx+3iT9t77IJo/nDiqTXilgEP+kPNIYdpS9kh3fXuc53ugqwp9pxC1PVjCpV1tQDyqMA==} - '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2918,24 +2564,9 @@ packages: '@types/statuses@2.0.6': resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} - '@types/stream-buffers@3.0.8': - resolution: {integrity: sha512-J+7VaHKNvlNPJPEJXX/fKa9DZtR/xPMwuIbe+yNOwp1YB+ApUOBv2aUpEoBJEi8nJgbgs1x8e73ttg0r1rSUdw==} - - '@types/through@0.0.33': - resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} - - '@types/wrap-ansi@3.0.0': - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@types/yauzl@3.4.0': - resolution: {integrity: sha512-NRPn5w6h8dhcnmx3YIRQcqMywY/+nND/uOkJessedcrowO3C0AssHp3tMJpxKAwOhFOo0OV1y9VtsC5hbKKBAw==} - - '@types/yazl@2.4.6': - resolution: {integrity: sha512-/ifFjQtcKaoZOjl5NNCQRR0fAKafB3Foxd7J/WvFPTMea46zekapcR30uzkwIkKAAuq5T6d0dkwz754RFH27hg==} - '@typescript-eslint/eslint-plugin@8.57.2': resolution: {integrity: sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3330,10 +2961,6 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-escapes@7.3.0: resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} @@ -3391,9 +3018,6 @@ packages: resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} engines: {node: '>=0.10.0'} - array-flatten@3.0.0: - resolution: {integrity: sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==} - array-includes@3.1.9: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} @@ -3425,16 +3049,6 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - - asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} - - asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} - asn1js@3.0.7: resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==} engines: {node: '>=12.0.0'} @@ -3493,9 +3107,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-replace-ts-export-assignment@0.0.2: - resolution: {integrity: sha512-BiTEG2Ro+O1spuheL5nB289y37FFmz0ISE6GjpNCG2JuA/WNcuEHSYw01+vN8quGf208sID3FnZFDwVyqX18YQ==} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3503,9 +3114,6 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.10.10: resolution: {integrity: sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==} engines: {node: '>=6.0.0'} @@ -3516,11 +3124,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - baseline-browser-mapping@2.11.12: - resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==} - engines: {node: '>=6.0.0'} - hasBin: true - batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} @@ -3534,12 +3137,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bn.js@4.12.3: - resolution: {integrity: sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==} - - bn.js@5.2.3: - resolution: {integrity: sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==} - body-parser@2.3.0: resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} engines: {node: '>=18'} @@ -3547,9 +3144,6 @@ packages: bonjour-service@1.3.0: resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@1.1.16: resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==} @@ -3564,29 +3158,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - - browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - - browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - - browserify-rsa@4.1.1: - resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} - engines: {node: '>= 0.10'} - - browserify-sign@4.2.5: - resolution: {integrity: sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==} - engines: {node: '>= 0.10'} - - browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} - browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3597,11 +3168,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - browserslist@4.28.8: - resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -3615,12 +3181,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -3649,26 +3209,12 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - caniuse-api@4.0.0: - resolution: {integrity: sha512-B0hQ1OLyJuHTQSOWXvwibWqM6DCoqJdvBA6X1S/53bd4XU7LJ1yurIPlrsouol3mw1jh9pGI4ivubSpmJeIqCA==} - caniuse-lite@1.0.30001781: resolution: {integrity: sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==} caniuse-lite@1.0.30001788: resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==} - caniuse-lite@1.0.30001809: - resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} - chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -3692,9 +3238,6 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} @@ -3714,16 +3257,6 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - chromium-bidi@16.0.1: - resolution: {integrity: sha512-J63PGu/9PpeCwLIcKYyzWP6yaVL5pxuBc0shlYCYM8BaAkmlwiQboXO1iNbOgSDbVklEyYFfNEcHD8oOAWacUA==} - engines: {node: '>=20.19.0 <22.0.0 || >=22.12.0'} - peerDependencies: - devtools-protocol: '*' - - cipher-base@1.0.7: - resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} - engines: {node: '>= 0.10'} - cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} @@ -3782,10 +3315,6 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -3838,9 +3367,6 @@ packages: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} - constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - content-disposition@1.0.1: resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} engines: {node: '>=18'} @@ -3877,15 +3403,6 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -3898,52 +3415,10 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crypto-browserify@3.12.1: - resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} - engines: {node: '>= 0.10'} - - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - css-tree@3.2.1: resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - cssnano-preset-default@8.0.5: - resolution: {integrity: sha512-R9O+oRNnKcVBf7GZZ7nfBcOiBZZwi3kR1HtKirBHel/gTtHLMHOCsL2H3QGy1161CPystJV4EiKniC7XyUKfcw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - cssnano-utils@6.0.3: - resolution: {integrity: sha512-HskzChO3gRkXBQSWg68DfwoVfptRUV2GvuiQBvt+C7mUw4VB0CvPjkC4iF4JSf7yW1/66Hsc6WJtqNqD5Ydt2Q==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - cssnano@8.0.5: - resolution: {integrity: sha512-Yigb8Apuqi/jWwii1XFmZwgAPZ2RHDUx/ANodBZsEQusYIFryChhwOQNKco0A7V6zgFqDDy3LqefGK6OnniGMA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - csv-parse@5.6.0: resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} @@ -3989,21 +3464,9 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - deep-diff@0.3.8: - resolution: {integrity: sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -4035,9 +3498,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - denodeify@1.2.1: - resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} - depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -4046,13 +3506,6 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dependency-graph@1.0.0: - resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==} - engines: {node: '>=4'} - - des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} - detect-indent@7.0.2: resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} engines: {node: '>=12.20'} @@ -4064,9 +3517,6 @@ packages: detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - devtools-protocol@0.0.1638949: - resolution: {integrity: sha512-mXwg4Fqnv0WR4iuAT/gYUmctNkjILwXFHyZ+m7Ty1dfr0ezZt2U3gnrrJTfRobJTHoXf+IbuFvFITzLrLFjwJA==} - diff@4.0.4: resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} @@ -4075,9 +3525,6 @@ packages: resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} engines: {node: '>=0.3.1'} - diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -4090,19 +3537,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -4119,12 +3553,6 @@ packages: electron-to-chromium@1.5.341: resolution: {integrity: sha512-1sZTssferjgDgaqRTc0ieP+ozzpOy7LQTPTtEW3yQFn4+ORdIAZWV5BthXPyHF7YqLvFJCUPhNhdAJQYlYUgiw==} - electron-to-chromium@1.5.402: - resolution: {integrity: sha512-/oOpMaPT6Yg+6/1XQhyIPlzgj7Ye9zf+nNM2Uh6OcE2G2oNptWazFa+qB2Pdqqbsc9KnIDzgAntoYN0dbwOXwA==} - - elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -4141,17 +3569,10 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.20.1: resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} engines: {node: '>=10.13.0'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - entities@7.0.1: resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} @@ -4432,17 +3853,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - expect-type@1.3.0: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} @@ -4454,10 +3864,6 @@ packages: exsolve@1.0.8: resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - fast-content-type-parse@3.0.0: resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} @@ -4619,14 +4025,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -4706,10 +4104,6 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} @@ -4737,17 +4131,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hash-base@3.0.5: - resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} - engines: {node: '>= 0.10'} - - hash-base@3.1.2: - resolution: {integrity: sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==} - engines: {node: '>= 0.8'} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -4766,16 +4149,9 @@ packages: highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} @@ -4818,29 +4194,14 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - hyperdyperid@1.2.0: resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} engines: {node: '>=10.18'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.7.3: resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -4849,9 +4210,6 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - immer@11.1.4: - resolution: {integrity: sha512-XREFCPo6ksxVzP4E0ekD5aMdf8WMwmdNaz6vuvxgI40UaEiu6q3p8X52aU6GdyvLY3XXX/8R7JOTXStz/nBbRw==} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -4869,10 +4227,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - index-to-position@1.2.0: resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} engines: {node: '>=18'} @@ -4888,10 +4242,6 @@ packages: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - invert-kv@3.0.1: - resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} - engines: {node: '>=8'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -5003,10 +4353,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} @@ -5040,10 +4386,6 @@ packages: resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -5196,21 +4538,10 @@ packages: launch-editor@2.14.1: resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} - lcid@3.1.1: - resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==} - engines: {node: '>=8'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -5278,18 +4609,6 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} - - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - marked-terminal@7.3.0: resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} engines: {node: '>=16.0.0'} @@ -5305,12 +4624,6 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - mdn-data@2.23.0: resolution: {integrity: sha512-786vq1+4079JSeu2XdcDjrhi/Ry7BWtjDl9WtGPWLiIHb2T66GvIVflZTBoSNZ5JqTtJGYEVMuFA/lbQlMOyDQ==} @@ -5321,10 +4634,6 @@ packages: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} - mem@5.1.1: - resolution: {integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==} - engines: {node: '>=8'} - memfs@4.57.1: resolution: {integrity: sha512-WvzrWPwMQT+PtbX2Et64R4qXKK0fj/8pO85MrUCzymX3twwCiJCdvntW3HdhG1teLJcHDDLIKx5+c3HckWYZtQ==} peerDependencies: @@ -5334,10 +4643,6 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} - merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} @@ -5353,10 +4658,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -5378,20 +4679,9 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.2.3: resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==} engines: {node: 18 || 20 || >=22} @@ -5411,10 +4701,6 @@ packages: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -5426,9 +4712,6 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} @@ -5437,10 +4720,6 @@ packages: mlly@1.8.2: resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} - modern-tar@0.7.6: - resolution: {integrity: sha512-sweCIVXzx1aIGTCdzcMlSZt1h8k5Tmk08VNAuRk3IU28XamGiOH5ypi11g6De2CH7PhYqSSnGy2A/EFhbWnVKg==} - engines: {node: '>=18.0.0'} - moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} @@ -5471,10 +4750,6 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -5525,36 +4800,18 @@ packages: node-releases@2.0.36: resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} - node-releases@2.0.53: - resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} - engines: {node: '>=18'} - - node-rsa@1.1.1: - resolution: {integrity: sha512-Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==} - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize.css@8.0.1: - resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} - npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} engines: {node: '>= 4'} hasBin: true - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - npm@11.19.1: resolution: {integrity: sha512-ztsxKxt/kkIaAs+2i0GU6I+DRmUdrNasxTZKJe9TCdSjKxlhah/4r/hl5ygMD6XAg1qZ9c2TNomR4qgOydp10g==} engines: {node: ^20.17.0 || >=22.9.0} @@ -5626,9 +4883,6 @@ packages: - validate-npm-package-name - which - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -5678,10 +4932,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} @@ -5702,14 +4952,6 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - os-locale@5.0.0: - resolution: {integrity: sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==} - engines: {node: '>=10'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} @@ -5717,14 +4959,6 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - p-defer@1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - - p-is-promise@2.1.0: - resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==} - engines: {node: '>=6'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5776,25 +5010,14 @@ packages: resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==} engines: {node: '>=12'} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-asn1@5.1.9: - resolution: {integrity: sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==} - engines: {node: '>= 0.10'} - parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - parse-json@8.3.0: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} engines: {node: '>=18'} @@ -5858,10 +5081,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pbkdf2@3.1.5: - resolution: {integrity: sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==} - engines: {node: '>= 0.10'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -5881,10 +5100,6 @@ packages: engines: {node: '>=0.10'} hasBin: true - pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - pify@3.0.0: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} @@ -5915,207 +5130,6 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss-calc@10.1.1: - resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} - engines: {node: ^18.12 || ^20.9 || >=22.0} - peerDependencies: - postcss: ^8.4.38 - - postcss-cli@11.0.1: - resolution: {integrity: sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - postcss: ^8.0.0 - - postcss-colormin@8.0.3: - resolution: {integrity: sha512-kypgzYcOcrKsrAZyId3TMumHtIiwZxgK1h5B33S4RjQNV02RHKrXCWP8ndyx5S0R5mk4pkcIfJ95o3BwIN8r2Q==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-convert-values@8.0.3: - resolution: {integrity: sha512-14lU1u5MeX8oGQ4zMhiMYhFcav9ebgmjjxTYwk77pmZ5A9Rq8hr5X/XZaTfffvbIGMOoLK82YDsLxA+1hFGbbA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-discard-comments@8.0.3: - resolution: {integrity: sha512-oDe4ITEfp1/113ebPi/ujyfWX2E9+vbHhY0dPnypgHwIgw8LBQ7MczmtAbccw8gUs+Zlmgt80qtTKS0t8eCi+Q==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-discard-duplicates@8.0.3: - resolution: {integrity: sha512-6f6ZVBozciZ0nG7nurrHk+K2yNeBgEoOjZvj5JwFThK982tSPyOjtClbkTYgqwDuSFjBvtu5C9Iz/2QEPvUg+Q==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-discard-empty@8.0.3: - resolution: {integrity: sha512-IpqNmuH9djHODVELb5c4tC6274pxjEWqrpGtTu7BR8TtOz3beqTv7JjE9xSuGOacphh9XZbbyEebvfMxYC5PTA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-discard-overridden@8.0.3: - resolution: {integrity: sha512-G2Ksn7kkNsNlsYsgfVn0YFfcGewJTuc1KOENvoVtwu2bSEyR28+GaomozkV4DPUBbKF8Nvco/9rLyKkgf/TY6w==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-load-config@5.1.0: - resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - - postcss-merge-longhand@8.0.3: - resolution: {integrity: sha512-/Byag1rLsEffmnidL+8HGwr0AsQWiaY2gpChEKwKP4+YcBtzz44rKVxAJLdhQtRLFrpGiBoLzCdCfH/ZTkozuA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-merge-rules@8.0.3: - resolution: {integrity: sha512-gBnrjp2ebQyrBNDqxORirC6ZM6g4cHKglAwGf1JiuKmDPjUJbNM6WhxYMYkHf+hxysnZfq27+TtxGrYESv3GMQ==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-minify-font-values@8.0.3: - resolution: {integrity: sha512-kAXxTCIVub5LZvyKTr9AObrRxri0WtWpNVsG6R9NdBKHDHYu5WNAnZRntgOforsKeFeZRZvOOXnTqOANQeyzKg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-minify-gradients@8.0.3: - resolution: {integrity: sha512-0O9UDPjIB4OikREx/aOwPY3pco23txEpXpdTlzfoSrVQllNh5j9GaCkThA5ylsKcDWz5sunV3tFW9+zlHFWUww==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-minify-params@8.0.3: - resolution: {integrity: sha512-DuSZEJbWxUX7wvIkz6K4qN8zs5unI/MSg7gcH4AXXA3524OcI4BOBUhR8B8OIBIi9FfcBbfgHYlATVhMeDBXNg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-minify-selectors@8.0.4: - resolution: {integrity: sha512-+rqBW9gYNLq2RNBwfVx2QdElj2cTiqbNwah+bw1XvyhCnRe4uFLNW2kny0VspFyYR7OGuVyWZaz2K4DbX5J9sw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-charset@8.0.3: - resolution: {integrity: sha512-losd0Uu4XVpiKN5tcGh32QxpB9t3S09PMQaW6I2GszKl9wOR0I34DY0a8ApO50jzfBC52lv8jPpkvh5ltbgajg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-display-values@8.0.3: - resolution: {integrity: sha512-IaCp/Rp7bg0e8Hv0Wc4G+niuuA61iGOSzhGBUeo6P6qyoumyFbOzYbYWZSkzMNsC4o2gfHAj3q2VbQfds8Huzw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-positions@8.0.3: - resolution: {integrity: sha512-OA/n9pI6W66Sv1vki0MLv/0QpDECV8i3UHwlXPVnv3XewsBjx310NQDV+ybMx2ZZQc/RHS7Uf8ES+oxLVhd0iA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-repeat-style@8.0.3: - resolution: {integrity: sha512-lMCbxiLBd7awGEoRM1WD02R08XpEGDHg3x7z9VSWnZibgSGHNJ+k7aheucuLBcxPAHWPudwc8O65sYD2FDx0Hg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-string@8.0.3: - resolution: {integrity: sha512-F8jkemEEIGDjerUzTa5w18CQc4GfhpJdEk78LdtwOjLjG1DlaDZyCdec+PyxCHjSY7vsbULXhlk24vSA+eUtIg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-timing-functions@8.0.3: - resolution: {integrity: sha512-6MO4j7ySljCmhPKx6GLkIpDdV6nOhb5UaB8j/0i0EbfooH1NeVQG60Zt7qAQ9h21HUwV6kQDIbWGqU78DhPHtw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-unicode@8.0.3: - resolution: {integrity: sha512-gfMC9A0z8d1HrS792ZFIUMZeTysN/GrtQEiyV/aSJPBwqOOak9BTGTSUp1VHozNuEeQs4MUoO+fBQzDXpRX28A==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-url@8.0.3: - resolution: {integrity: sha512-ksA0HgWATlnIzDaB9gFPslXxJkTa7aHZK3jWSbbyJdFJuRIY0BOL0eNMRrZNpe6//g4Af/iB00ETbT0cNmCzKQ==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-normalize-whitespace@8.0.3: - resolution: {integrity: sha512-Hz/IeeZXk1686EZtnCKKIkU8Mu+PGTxPhkuXnKxJZCD8lkVgD9blIhymu3I/itL4FoOyFTWzh7hQvIri8SbrXg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-ordered-values@8.0.3: - resolution: {integrity: sha512-Sp62UbMrsCNcPvtnme1Kz+nNJK3tqCqRvGiKdL7ugYgu3/m8buMlFy3QO/BJ0dJQHHJP2u6CESrw4xhKFJTvvA==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-reduce-initial@8.0.3: - resolution: {integrity: sha512-z2cMLQtjr+gXd4QIg2O6c21xGsk1QV2HNKaiYVvxZYRrvyuAqPAHFfRSo+7zbGc/n7rilzEFkljJN5WihG99AQ==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-reduce-transforms@8.0.3: - resolution: {integrity: sha512-MKebqhCviCaOlz9ZnlQxviw0R94q3POvxv3m2Xk1IEyBrk2lsNiKBJsuwXLWHWkQB3y+pQDE0FA26J4+NYhzLg==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-reporter@7.1.0: - resolution: {integrity: sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.1.0 - - postcss-selector-parser@7.1.4: - resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} - engines: {node: '>=4'} - - postcss-selector-parser@7.1.5: - resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} - engines: {node: '>=4'} - - postcss-svgo@8.0.4: - resolution: {integrity: sha512-cmxRK3zz5BLFO/r/crOHy4QosyNCHpyAG9fOjtOSAEKkajcAK5xyURRWcotPOXcz88VbzIrYJCWVAGjrX4GeJw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-unique-selectors@8.0.3: - resolution: {integrity: sha512-uKwlnCNyKmny7yFPOnQJAN82Er0WzGQbSlpZHTKTqlTQsvZF+skA4ANMHqKh+68jQYet6IotH3dtxs1VdyBdxw==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.26: resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} engines: {node: ^10 || ^12 || >=14} @@ -6141,10 +5155,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - process-es6@0.11.6: resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} @@ -6166,30 +5176,15 @@ packages: resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} engines: {node: '>=10'} - public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - publint@0.3.24: resolution: {integrity: sha512-9zS56KrKBoqi5Qt8h92uMP8TTM9AYZSgnmCo4u2priMqkOZvQnTsziZ2p5LJ2ywbYkAjoCDp2jda9u4cgFefIw==} engines: {node: '>=18'} hasBin: true - pump@3.0.4: - resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@25.3.0: - resolution: {integrity: sha512-fm+wpUr2oigH1PXZvwgATrM2tYWHMDG8ASzTEe9uukCye4X5Ldx1K5BTHPFKITrIWvQQAQ256d1NpbEveBcKjA==} - engines: {node: '>=22.12.0'} - - puppeteer@25.3.0: - resolution: {integrity: sha512-O1tx8S315aw8eI99HZ5ZNcVEzJ9+jKF//eO5UvfZ3cXJ6okZ5sX3Y50u7DJaM+ewEK4LqXP068tBhfRaWikj+g==} - engines: {node: '>=22.12.0'} - hasBin: true - pvtsutils@1.3.6: resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} @@ -6207,16 +5202,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -6228,21 +5216,10 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -6262,21 +5239,6 @@ packages: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - - redux-logger@3.0.6: - resolution: {integrity: sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg==} - - redux-thunk@3.1.0: - resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} - peerDependencies: - redux: ^5.0.0 - - redux@5.0.1: - resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} @@ -6317,9 +5279,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - reselect@5.1.1: - resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} - resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -6361,10 +5320,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - ripemd160@2.0.3: - resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} - engines: {node: '>= 0.8'} - rollup-plugin-ecma-version-validator@0.2.13: resolution: {integrity: sha512-J2k5xcLrJG4rInAFtJSzsjeE5WspXF/hgrheRm+A1pzdfar+lrbprzHVv+OKicF2yOgKF3mJlo3abBthIO8AwA==} engines: {node: '>=14'} @@ -6415,9 +5370,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -6443,10 +5395,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} - saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} @@ -6510,17 +5458,9 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sha.js@2.4.12: - resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} - engines: {node: '>= 0.10'} - hasBin: true - shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -6568,9 +5508,6 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -6583,10 +5520,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - smob@1.6.1: resolution: {integrity: sha512-KAkBqZl3c2GvNgNhcoyJae1aKldDW0LO279wF9bk1PnluRTETKBq0WyzRXxEhoQLk56yHaOY4JCBEKDuJIET5g==} engines: {node: '>=20.0.0'} @@ -6678,13 +5611,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} - - stream-buffers@3.0.3: - resolution: {integrity: sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==} - engines: {node: '>= 0.10.0'} - strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} @@ -6749,24 +5675,10 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - stylehacks@8.0.3: - resolution: {integrity: sha512-cHciVnyMEuLOYt6AGCTyzRjEvBTvA+0H/QThOFgKTI9uuFK4RA34gLVEt/Uuz11rtSPvZHjMWLjTazF9pLMPog==} - engines: {node: ^22.11.0 || ^24.11.0 || >=26.0} - peerDependencies: - postcss: ^8.5.26 - supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -6791,11 +5703,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svgo@4.0.2: - resolution: {integrity: sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==} - engines: {node: '>=16'} - hasBin: true - symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -6836,9 +5743,6 @@ packages: engines: {node: '>=10'} hasBin: true - thenby@1.3.4: - resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -6881,14 +5785,6 @@ packages: resolution: {integrity: sha512-A3BDQBeeukYPzB4QdQ1DtdlUmp4x2OCH8n5UVhEWbyANxNep8GavottKzd1xYKFJKjUgMyPT7EzOfnBO55s8Sg==} hasBin: true - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - to-buffer@1.2.2: - resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} - engines: {node: '>= 0.4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -6915,10 +5811,6 @@ packages: peerDependencies: tslib: '2' - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - ts-api-utils@1.4.3: resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -6980,22 +5872,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -7024,9 +5900,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typed-query-selector@2.12.2: - resolution: {integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==} - typescript-eslint@8.57.2: resolution: {integrity: sha512-VEPQ0iPgWO/sBaZOU1xo4nuNdODVOajPnTIbog2GKYr31nIlZ0fWPoCQgGfF3ETyBl1vn63F/p50Um9Z4J8O8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -7112,12 +5985,6 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-browserslist-db@1.3.1: - resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - uri-js-replace@1.0.1: resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} @@ -7302,9 +6169,6 @@ packages: wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - webdriver-bidi-protocol@0.4.2: - resolution: {integrity: sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA==} - webidl-conversions@8.0.1: resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} @@ -7501,10 +6365,6 @@ packages: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - yargs@17.7.3: resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} engines: {node: '>=12'} @@ -7517,13 +6377,6 @@ packages: resolution: {integrity: sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==} engines: {node: '>=12'} - yauzl@3.4.0: - resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} - engines: {node: '>=12'} - - yazl@2.5.1: - resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} - yazl@3.3.1: resolution: {integrity: sha512-BbETDVWG+VcMUle37k5Fqp//7SDOK2/1+T7X8TD96M3D9G8jK5VLUdQVdVjGi8im7FGkazX7kk5hkU8X4L5Bng==} @@ -7543,9 +6396,6 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - snapshots: '@altano/repository-tools@2.0.3': {} @@ -7586,6 +6436,7 @@ snapshots: '@csstools/css-color-parser': 4.1.8(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + optional: true '@asamuzakjp/dom-selector@7.1.1': dependencies: @@ -7594,10 +6445,13 @@ snapshots: bidi-js: 1.0.3 css-tree: 3.2.1 is-potential-custom-element-name: 1.0.1 + optional: true - '@asamuzakjp/generational-cache@1.0.1': {} + '@asamuzakjp/generational-cache@1.0.1': + optional: true - '@asamuzakjp/nwsapi@2.3.9': {} + '@asamuzakjp/nwsapi@2.3.9': + optional: true '@babel/code-frame@7.29.7': dependencies: @@ -8311,8 +7165,7 @@ snapshots: '@bramus/specificity@2.4.2': dependencies: css-tree: 3.2.1 - - '@colordx/core@5.5.0': {} + optional: true '@colors/colors@1.5.0': optional: true @@ -8321,12 +7174,14 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@csstools/color-helpers@6.0.2': {} + '@csstools/color-helpers@6.0.2': + optional: true '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + optional: true '@csstools/css-color-parser@4.1.8(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: @@ -8334,16 +7189,20 @@ snapshots: '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 + optional: true '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-tokenizer': 4.0.0 + optional: true '@csstools/css-syntax-patches-for-csstree@1.1.5(css-tree@3.2.1)': optionalDependencies: css-tree: 3.2.1 + optional: true - '@csstools/css-tokenizer@4.0.0': {} + '@csstools/css-tokenizer@4.0.0': + optional: true '@cybozu/eslint-config@24.3.0(@types/eslint@9.6.1)(@typescript-eslint/utils@8.57.2(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(prettier@3.8.5)(typescript@5.9.3)': dependencies: @@ -8693,7 +7552,8 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@exodus/bytes@1.15.1': {} + '@exodus/bytes@1.15.1': + optional: true '@humanfs/core@0.19.1': {} @@ -8710,14 +7570,6 @@ snapshots: '@inquirer/ansi@2.0.7': {} - '@inquirer/checkbox@2.5.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 1.5.5 - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.3 - '@inquirer/checkbox@4.3.2(@types/node@25.5.0)': dependencies: '@inquirer/ansi': 1.0.2 @@ -8728,11 +7580,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/confirm@3.2.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - '@inquirer/confirm@5.1.21(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8793,27 +7640,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/core@9.2.1': - dependencies: - '@inquirer/figures': 1.0.15 - '@inquirer/type': 2.0.0 - '@types/mute-stream': 0.0.4 - '@types/node': 22.20.1 - '@types/wrap-ansi': 3.0.0 - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - mute-stream: 1.0.0 - signal-exit: 4.1.0 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - - '@inquirer/editor@2.2.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - external-editor: 3.1.0 - '@inquirer/editor@4.2.23(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8822,12 +7648,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/expand@2.3.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - yoctocolors-cjs: 2.1.3 - '@inquirer/expand@4.0.23(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8847,11 +7667,6 @@ snapshots: '@inquirer/figures@2.0.7': {} - '@inquirer/input@2.3.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - '@inquirer/input@4.3.1(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8859,11 +7674,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/number@1.1.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - '@inquirer/number@3.0.23(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8871,12 +7681,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/password@2.2.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - ansi-escapes: 4.3.2 - '@inquirer/password@4.0.23(@types/node@25.5.0)': dependencies: '@inquirer/ansi': 1.0.2 @@ -8885,19 +7689,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/prompts@5.5.0': - dependencies: - '@inquirer/checkbox': 2.5.0 - '@inquirer/confirm': 3.2.0 - '@inquirer/editor': 2.2.0 - '@inquirer/expand': 2.3.0 - '@inquirer/input': 2.3.0 - '@inquirer/number': 1.1.0 - '@inquirer/password': 2.2.0 - '@inquirer/rawlist': 2.3.0 - '@inquirer/search': 1.1.0 - '@inquirer/select': 2.5.0 - '@inquirer/prompts@7.10.1(@types/node@25.5.0)': dependencies: '@inquirer/checkbox': 4.3.2(@types/node@25.5.0) @@ -8913,13 +7704,7 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/rawlist@2.3.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/type': 1.5.5 - yoctocolors-cjs: 2.1.3 - - '@inquirer/rawlist@4.1.11(@types/node@25.5.0)': + '@inquirer/rawlist@4.1.11(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) '@inquirer/type': 3.0.10(@types/node@25.5.0) @@ -8927,13 +7712,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/search@1.1.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 1.5.5 - yoctocolors-cjs: 2.1.3 - '@inquirer/search@3.2.2(@types/node@25.5.0)': dependencies: '@inquirer/core': 10.3.2(@types/node@25.5.0) @@ -8943,14 +7721,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/select@2.5.0': - dependencies: - '@inquirer/core': 9.2.1 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 1.5.5 - ansi-escapes: 4.3.2 - yoctocolors-cjs: 2.1.3 - '@inquirer/select@4.4.2(@types/node@25.5.0)': dependencies: '@inquirer/ansi': 1.0.2 @@ -8961,14 +7731,6 @@ snapshots: optionalDependencies: '@types/node': 25.5.0 - '@inquirer/type@1.5.5': - dependencies: - mute-stream: 1.0.0 - - '@inquirer/type@2.0.0': - dependencies: - mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@25.5.0)': optionalDependencies: '@types/node': 25.5.0 @@ -9031,26 +7793,32 @@ snapshots: '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-core@4.57.1(tslib@2.8.1)': dependencies: @@ -9058,6 +7826,7 @@ snapshots: '@jsonjoy.com/fs-node-utils': 4.57.1(tslib@2.8.1) thingies: 2.6.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-fsa@4.57.1(tslib@2.8.1)': dependencies: @@ -9066,10 +7835,12 @@ snapshots: '@jsonjoy.com/fs-node-utils': 4.57.1(tslib@2.8.1) thingies: 2.6.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-node-builtins@4.57.1(tslib@2.8.1)': dependencies: tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-node-to-fsa@4.57.1(tslib@2.8.1)': dependencies: @@ -9077,11 +7848,13 @@ snapshots: '@jsonjoy.com/fs-node-builtins': 4.57.1(tslib@2.8.1) '@jsonjoy.com/fs-node-utils': 4.57.1(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-node-utils@4.57.1(tslib@2.8.1)': dependencies: '@jsonjoy.com/fs-node-builtins': 4.57.1(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-node@4.57.1(tslib@2.8.1)': dependencies: @@ -9093,12 +7866,14 @@ snapshots: glob-to-regex.js: 1.2.0(tslib@2.8.1) thingies: 2.6.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-print@4.57.1(tslib@2.8.1)': dependencies: '@jsonjoy.com/fs-node-utils': 4.57.1(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/fs-snapshot@4.57.1(tslib@2.8.1)': dependencies: @@ -9107,6 +7882,7 @@ snapshots: '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': dependencies: @@ -9119,6 +7895,7 @@ snapshots: thingies: 2.6.0(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/json-pack@17.67.0(tslib@2.8.1)': dependencies: @@ -9131,29 +7908,34 @@ snapshots: thingies: 2.6.0(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': dependencies: '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/json-pointer@17.67.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@jsonjoy.com/util@17.67.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) tslib: 2.8.1 + optional: true '@kintone/cli@1.21.1(@types/node@25.5.0)': dependencies: @@ -9192,7 +7974,8 @@ snapshots: - debug - supports-color - '@leichtgewicht/ip-codec@2.0.5': {} + '@leichtgewicht/ip-codec@2.0.5': + optional: true '@loaderkit/resolve@1.0.4': dependencies: @@ -9253,7 +8036,8 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@noble/hashes@1.4.0': {} + '@noble/hashes@1.4.0': + optional: true '@nodelib/fs.scandir@2.1.5': dependencies: @@ -9350,6 +8134,7 @@ snapshots: '@peculiar/asn1-x509-attr': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-csr@2.6.1': dependencies: @@ -9357,6 +8142,7 @@ snapshots: '@peculiar/asn1-x509': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-ecc@2.6.1': dependencies: @@ -9364,6 +8150,7 @@ snapshots: '@peculiar/asn1-x509': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-pfx@2.6.1': dependencies: @@ -9373,6 +8160,7 @@ snapshots: '@peculiar/asn1-schema': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-pkcs8@2.6.1': dependencies: @@ -9380,6 +8168,7 @@ snapshots: '@peculiar/asn1-x509': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-pkcs9@2.6.1': dependencies: @@ -9391,6 +8180,7 @@ snapshots: '@peculiar/asn1-x509-attr': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-rsa@2.6.1': dependencies: @@ -9398,12 +8188,14 @@ snapshots: '@peculiar/asn1-x509': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-schema@2.6.0': dependencies: asn1js: 3.0.7 pvtsutils: 1.3.6 tslib: 2.8.1 + optional: true '@peculiar/asn1-x509-attr@2.6.1': dependencies: @@ -9411,6 +8203,7 @@ snapshots: '@peculiar/asn1-x509': 2.6.1 asn1js: 3.0.7 tslib: 2.8.1 + optional: true '@peculiar/asn1-x509@2.6.1': dependencies: @@ -9418,6 +8211,7 @@ snapshots: asn1js: 3.0.7 pvtsutils: 1.3.6 tslib: 2.8.1 + optional: true '@peculiar/x509@1.14.3': dependencies: @@ -9432,6 +8226,7 @@ snapshots: reflect-metadata: 0.2.2 tslib: 2.8.1 tsyringe: 4.10.0 + optional: true '@pkgjs/parseargs@0.11.0': optional: true @@ -9442,13 +8237,6 @@ snapshots: dependencies: tinyexec: 1.3.0 - '@puppeteer/browsers@3.0.6(yauzl@3.4.0)': - dependencies: - modern-tar: 0.7.6 - yargs: 18.0.0 - optionalDependencies: - yauzl: 3.4.0 - '@redocly/ajv@8.11.2': dependencies: fast-deep-equal: 3.1.3 @@ -9472,15 +8260,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@reduxjs/toolkit@2.12.0': - dependencies: - '@standard-schema/spec': 1.1.0 - '@standard-schema/utils': 0.3.0 - immer: 11.1.4 - redux: 5.0.1 - redux-thunk: 3.1.0(redux@5.0.1) - reselect: 5.1.1 - '@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@4.63.0)': dependencies: '@babel/core': 7.29.7 @@ -9736,8 +8515,6 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@standard-schema/utils@0.3.0': {} - '@stylistic/eslint-plugin-ts@3.1.0(eslint@9.39.5)(typescript@5.9.3)': dependencies: '@typescript-eslint/utils': 8.57.2(eslint@9.39.5)(typescript@5.9.3) @@ -9796,10 +8573,12 @@ snapshots: dependencies: '@types/connect': 3.4.38 '@types/node': 22.20.1 + optional: true '@types/bonjour@3.5.13': dependencies: '@types/node': 22.20.1 + optional: true '@types/bytes@3.1.6': {} @@ -9812,14 +8591,12 @@ snapshots: dependencies: '@types/express-serve-static-core': 4.19.8 '@types/node': 22.20.1 + optional: true '@types/connect@3.4.38': dependencies: '@types/node': 22.20.1 - - '@types/debug@4.1.13': - dependencies: - '@types/ms': 2.1.0 + optional: true '@types/deep-eql@4.0.2': {} @@ -9843,6 +8620,7 @@ snapshots: '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 + optional: true '@types/express@4.17.25': dependencies: @@ -9850,22 +8628,15 @@ snapshots: '@types/express-serve-static-core': 4.19.8 '@types/qs': 6.15.1 '@types/serve-static': 1.15.10 + optional: true - '@types/glob@8.1.0': - dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 22.19.17 - - '@types/http-errors@2.0.5': {} + '@types/http-errors@2.0.5': + optional: true '@types/http-proxy@1.17.17': dependencies: '@types/node': 22.20.1 - - '@types/inquirer@9.0.10': - dependencies: - '@types/through': 0.0.33 - rxjs: 7.8.2 + optional: true '@types/js-base64@3.3.1': dependencies: @@ -9875,32 +8646,15 @@ snapshots: '@types/lodash@4.17.25': {} - '@types/mime@1.3.5': {} + '@types/mime@1.3.5': + optional: true '@types/mime@3.0.4': {} - '@types/minimatch@5.1.2': {} - - '@types/minimist@1.2.5': {} - - '@types/ms@2.1.0': {} - - '@types/mute-stream@0.0.4': - dependencies: - '@types/node': 22.20.1 - - '@types/node-rsa@1.1.4': - dependencies: - '@types/node': 22.19.17 - '@types/node@18.19.130': dependencies: undici-types: 5.26.5 - '@types/node@22.19.17': - dependencies: - undici-types: 6.21.0 - '@types/node@22.20.1': dependencies: undici-types: 6.21.0 @@ -9910,36 +8664,38 @@ snapshots: undici-types: 7.18.2 optional: true - '@types/normalize-package-data@2.4.4': {} - - '@types/normalize-path@3.0.2': {} - '@types/qs@6.15.1': {} - '@types/range-parser@1.2.7': {} + '@types/range-parser@1.2.7': + optional: true '@types/resolve@1.20.2': {} - '@types/retry@0.12.2': {} + '@types/retry@0.12.2': + optional: true '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 '@types/node': 22.20.1 + optional: true '@types/send@1.2.1': dependencies: '@types/node': 22.20.1 + optional: true '@types/serve-index@1.9.4': dependencies: '@types/express': 4.17.25 + optional: true '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 '@types/node': 22.20.1 '@types/send': 0.17.6 + optional: true '@types/set-cookie-parser@2.4.10': dependencies: @@ -9948,30 +8704,14 @@ snapshots: '@types/sockjs@0.3.36': dependencies: '@types/node': 22.20.1 + optional: true '@types/statuses@2.0.6': {} - '@types/stream-buffers@3.0.8': - dependencies: - '@types/node': 22.20.1 - - '@types/through@0.0.33': - dependencies: - '@types/node': 22.20.1 - - '@types/wrap-ansi@3.0.0': {} - '@types/ws@8.18.1': dependencies: '@types/node': 22.20.1 - - '@types/yauzl@3.4.0': - dependencies: - '@types/node': 22.20.1 - - '@types/yazl@2.4.6': - dependencies: - '@types/node': 22.20.1 + optional: true '@typescript-eslint/eslint-plugin@8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3)': dependencies: @@ -10346,11 +9086,13 @@ snapshots: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 + optional: true accepts@2.0.0: dependencies: mime-types: 3.0.2 negotiator: 1.0.0 + optional: true acorn-import-phases@1.0.4(acorn@8.16.0): dependencies: @@ -10424,15 +9166,12 @@ snapshots: ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-escapes@7.3.0: dependencies: environment: 1.1.0 - ansi-html-community@0.0.8: {} + ansi-html-community@0.0.8: + optional: true ansi-regex@5.0.1: {} @@ -10472,8 +9211,6 @@ snapshots: array-find-index@1.0.2: {} - array-flatten@3.0.0: {} - array-includes@3.1.9: dependencies: call-bind: 1.0.8 @@ -10530,23 +9267,12 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - arrify@1.0.1: {} - - asn1.js@4.10.1: - dependencies: - bn.js: 4.12.3 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - - asn1@0.2.6: - dependencies: - safer-buffer: 2.1.2 - asn1js@3.0.7: dependencies: pvtsutils: 1.3.6 pvutils: 1.1.5 tslib: 2.8.1 + optional: true assert@2.1.0: dependencies: @@ -10572,7 +9298,7 @@ snapshots: axios@1.18.1: dependencies: - follow-redirects: 1.16.0(debug@4.4.3) + follow-redirects: 1.16.0 form-data: 4.0.6 https-proxy-agent: 5.0.1 proxy-from-env: 2.1.0 @@ -10613,34 +9339,26 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-replace-ts-export-assignment@0.0.2: {} - balanced-match@1.0.2: {} balanced-match@4.0.4: {} - base64-js@1.5.1: {} - baseline-browser-mapping@2.10.10: {} baseline-browser-mapping@2.10.20: {} - baseline-browser-mapping@2.11.12: {} - - batch@0.6.1: {} + batch@0.6.1: + optional: true before-after-hook@4.0.0: {} bidi-js@1.0.3: dependencies: require-from-string: 2.0.2 + optional: true binary-extensions@2.3.0: {} - bn.js@4.12.3: {} - - bn.js@5.2.3: {} - body-parser@2.3.0: dependencies: bytes: 3.1.2 @@ -10654,13 +9372,13 @@ snapshots: type-is: 2.1.0 transitivePeerDependencies: - supports-color + optional: true bonjour-service@1.3.0: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 - - boolbase@1.0.0: {} + optional: true brace-expansion@1.1.16: dependencies: @@ -10679,52 +9397,6 @@ snapshots: dependencies: fill-range: 7.1.1 - brorand@1.1.0: {} - - browserify-aes@1.2.0: - dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.7 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-cipher@1.0.1: - dependencies: - browserify-aes: 1.2.0 - browserify-des: 1.0.2 - evp_bytestokey: 1.0.3 - - browserify-des@1.0.2: - dependencies: - cipher-base: 1.0.7 - des.js: 1.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - browserify-rsa@4.1.1: - dependencies: - bn.js: 5.2.3 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - - browserify-sign@4.2.5: - dependencies: - bn.js: 5.2.3 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - create-hmac: 1.1.7 - elliptic: 6.6.1 - inherits: 2.0.4 - parse-asn1: 5.1.9 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - - browserify-zlib@0.2.0: - dependencies: - pako: 1.0.11 - browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.10.10 @@ -10741,14 +9413,6 @@ snapshots: node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.2) - browserslist@4.28.8: - dependencies: - baseline-browser-mapping: 2.11.12 - caniuse-lite: 1.0.30001809 - electron-to-chromium: 1.5.402 - node-releases: 2.0.53 - update-browserslist-db: 1.3.1(browserslist@4.28.8) - buffer-crc32@0.2.13: {} buffer-crc32@1.0.0: {} @@ -10757,20 +9421,15 @@ snapshots: buffer-from@1.1.2: {} - buffer-xor@1.0.3: {} - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 + optional: true bytes@3.1.2: {} - bytestreamjs@2.0.1: {} + bytestreamjs@2.0.1: + optional: true call-bind-apply-helpers@1.0.2: dependencies: @@ -10791,25 +9450,10 @@ snapshots: callsites@3.1.0: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - - camelcase@5.3.1: {} - - caniuse-api@4.0.0: - dependencies: - browserslist: 4.28.8 - caniuse-lite: 1.0.30001809 - caniuse-lite@1.0.30001781: {} caniuse-lite@1.0.30001788: {} - caniuse-lite@1.0.30001809: {} - chai@6.2.2: {} chalk@2.4.2: @@ -10829,8 +9473,6 @@ snapshots: char-regex@1.0.2: {} - chardet@0.7.0: {} - chardet@2.1.1: {} chokidar@3.6.0: @@ -10853,18 +9495,6 @@ snapshots: chrome-trace-event@1.0.4: {} - chromium-bidi@16.0.1(devtools-protocol@0.0.1638949): - dependencies: - devtools-protocol: 0.0.1638949 - mitt: 3.0.1 - zod: 3.25.76 - - cipher-base@1.0.7: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 - cjs-module-lexer@1.4.3: {} cli-highlight@2.1.11: @@ -10922,7 +9552,8 @@ snapshots: colorette@1.4.0: {} - colorette@2.0.20: {} + colorette@2.0.20: + optional: true combined-stream@1.0.8: dependencies: @@ -10930,8 +9561,6 @@ snapshots: commander@10.0.1: {} - commander@11.1.0: {} - commander@12.1.0: {} commander@14.0.3: {} @@ -10956,6 +9585,7 @@ snapshots: compressible@2.0.18: dependencies: mime-db: 1.54.0 + optional: true compression@1.8.1: dependencies: @@ -10968,6 +9598,7 @@ snapshots: vary: 1.1.2 transitivePeerDependencies: - supports-color + optional: true concat-map@0.0.1: {} @@ -10975,21 +9606,25 @@ snapshots: confbox@0.2.4: {} - connect-history-api-fallback@2.0.0: {} - - constants-browserify@1.0.0: {} + connect-history-api-fallback@2.0.0: + optional: true - content-disposition@1.0.1: {} + content-disposition@1.0.1: + optional: true - content-type@1.0.5: {} + content-type@1.0.5: + optional: true - content-type@2.0.0: {} + content-type@2.0.0: + optional: true convert-source-map@2.0.0: {} - cookie-signature@1.2.2: {} + cookie-signature@1.2.2: + optional: true - cookie@0.7.2: {} + cookie@0.7.2: + optional: true cookie@1.1.1: {} @@ -10999,29 +9634,8 @@ snapshots: core-js@3.49.0: {} - core-util-is@1.0.3: {} - - create-ecdh@4.0.4: - dependencies: - bn.js: 4.12.3 - elliptic: 6.6.1 - - create-hash@1.2.0: - dependencies: - cipher-base: 1.0.7 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.3 - sha.js: 2.4.12 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.7 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 + core-util-is@1.0.3: + optional: true create-require@1.1.1: {} @@ -11036,89 +9650,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-browserify@3.12.1: - dependencies: - browserify-cipher: 1.0.1 - browserify-sign: 4.2.5 - create-ecdh: 4.0.4 - create-hash: 1.2.0 - create-hmac: 1.1.7 - diffie-hellman: 5.0.3 - hash-base: 3.0.5 - inherits: 2.0.4 - pbkdf2: 3.1.5 - public-encrypt: 4.0.3 - randombytes: 2.1.0 - randomfill: 1.0.4 - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - css-tree@3.2.1: dependencies: mdn-data: 2.27.1 source-map-js: 1.2.1 - - css-what@6.2.2: {} - - cssesc@3.0.0: {} - - cssnano-preset-default@8.0.5(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - cssnano-utils: 6.0.3(postcss@8.5.26) - postcss: 8.5.26 - postcss-calc: 10.1.1(postcss@8.5.26) - postcss-colormin: 8.0.3(postcss@8.5.26) - postcss-convert-values: 8.0.3(postcss@8.5.26) - postcss-discard-comments: 8.0.3(postcss@8.5.26) - postcss-discard-duplicates: 8.0.3(postcss@8.5.26) - postcss-discard-empty: 8.0.3(postcss@8.5.26) - postcss-discard-overridden: 8.0.3(postcss@8.5.26) - postcss-merge-longhand: 8.0.3(postcss@8.5.26) - postcss-merge-rules: 8.0.3(postcss@8.5.26) - postcss-minify-font-values: 8.0.3(postcss@8.5.26) - postcss-minify-gradients: 8.0.3(postcss@8.5.26) - postcss-minify-params: 8.0.3(postcss@8.5.26) - postcss-minify-selectors: 8.0.4(postcss@8.5.26) - postcss-normalize-charset: 8.0.3(postcss@8.5.26) - postcss-normalize-display-values: 8.0.3(postcss@8.5.26) - postcss-normalize-positions: 8.0.3(postcss@8.5.26) - postcss-normalize-repeat-style: 8.0.3(postcss@8.5.26) - postcss-normalize-string: 8.0.3(postcss@8.5.26) - postcss-normalize-timing-functions: 8.0.3(postcss@8.5.26) - postcss-normalize-unicode: 8.0.3(postcss@8.5.26) - postcss-normalize-url: 8.0.3(postcss@8.5.26) - postcss-normalize-whitespace: 8.0.3(postcss@8.5.26) - postcss-ordered-values: 8.0.3(postcss@8.5.26) - postcss-reduce-initial: 8.0.3(postcss@8.5.26) - postcss-reduce-transforms: 8.0.3(postcss@8.5.26) - postcss-svgo: 8.0.4(postcss@8.5.26) - postcss-unique-selectors: 8.0.3(postcss@8.5.26) - - cssnano-utils@6.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - - cssnano@8.0.5(postcss@8.5.26): - dependencies: - cssnano-preset-default: 8.0.5(postcss@8.5.26) - lilconfig: 3.1.3 - postcss: 8.5.26 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 + optional: true csv-parse@5.6.0: {} @@ -11132,6 +9668,7 @@ snapshots: whatwg-url: 16.0.1 transitivePeerDependencies: - '@noble/hashes' + optional: true data-view-buffer@1.0.2: dependencies: @@ -11156,6 +9693,7 @@ snapshots: debug@2.6.9: dependencies: ms: 2.0.0 + optional: true debug@4.4.3(supports-color@10.2.2): dependencies: @@ -11163,27 +9701,21 @@ snapshots: optionalDependencies: supports-color: 10.2.2 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - - decamelize@1.2.0: {} - - decimal.js@10.6.0: {} - - deep-diff@0.3.8: {} + decimal.js@10.6.0: + optional: true deep-is@0.1.4: {} deepmerge@4.3.1: {} - default-browser-id@5.0.1: {} + default-browser-id@5.0.1: + optional: true default-browser@5.5.0: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.1 + optional: true define-data-property@1.1.4: dependencies: @@ -11191,7 +9723,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - define-lazy-prop@3.0.0: {} + define-lazy-prop@3.0.0: + optional: true define-properties@1.2.1: dependencies: @@ -11201,37 +9734,23 @@ snapshots: delayed-stream@1.0.0: {} - denodeify@1.2.1: {} - - depd@1.1.2: {} - - depd@2.0.0: {} - - dependency-graph@1.0.0: {} + depd@1.1.2: + optional: true - des.js@1.1.0: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 + depd@2.0.0: + optional: true detect-indent@7.0.2: {} detect-newline@4.0.1: {} - detect-node@2.1.0: {} - - devtools-protocol@0.0.1638949: {} + detect-node@2.1.0: + optional: true diff@4.0.4: {} diff@8.0.4: {} - diffie-hellman@5.0.3: - dependencies: - bn.js: 4.12.3 - miller-rabin: 4.0.1 - randombytes: 2.1.0 - dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -11239,29 +9758,12 @@ snapshots: dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 + optional: true doctrine@2.1.0: dependencies: esutils: 2.0.3 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -11270,24 +9772,13 @@ snapshots: eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} + ee-first@1.1.1: + optional: true electron-to-chromium@1.5.323: {} electron-to-chromium@1.5.341: {} - electron-to-chromium@1.5.402: {} - - elliptic@6.6.1: - dependencies: - bn.js: 4.12.3 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} @@ -11296,22 +9787,18 @@ snapshots: emojilib@2.4.0: {} - encodeurl@2.0.0: {} - - end-of-stream@1.4.5: - dependencies: - once: 1.4.0 + encodeurl@2.0.0: + optional: true enhanced-resolve@5.20.1: dependencies: graceful-fs: 4.2.11 tapable: 2.3.2 - entities@4.5.0: {} - entities@7.0.1: {} - entities@8.0.0: {} + entities@8.0.0: + optional: true envinfo@7.21.0: {} @@ -11511,7 +9998,8 @@ snapshots: escalade@3.2.0: {} - escape-html@1.0.3: {} + escape-html@1.0.3: + optional: true escape-string-regexp@1.0.5: {} @@ -11754,41 +10242,14 @@ snapshots: esutils@2.0.3: {} - etag@1.8.1: {} + etag@1.8.1: + optional: true - eventemitter3@4.0.7: {} + eventemitter3@4.0.7: + optional: true events@3.3.0: {} - evp_bytestokey@1.0.3: - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - - execa@4.1.0: - dependencies: - cross-spawn: 7.0.6 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - expect-type@1.3.0: {} express@5.2.1: @@ -11823,15 +10284,10 @@ snapshots: vary: 1.1.2 transitivePeerDependencies: - supports-color + optional: true exsolve@1.0.8: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - fast-content-type-parse@3.0.0: {} fast-deep-equal@3.1.3: {} @@ -11869,6 +10325,7 @@ snapshots: faye-websocket@0.11.4: dependencies: websocket-driver: 0.7.4 + optional: true fdir@6.5.0(picomatch@4.0.4): optionalDependencies: @@ -11894,6 +10351,7 @@ snapshots: statuses: 2.0.2 transitivePeerDependencies: - supports-color + optional: true find-cache-dir@4.0.0: dependencies: @@ -11924,9 +10382,7 @@ snapshots: flatted@3.4.2: {} - follow-redirects@1.16.0(debug@4.4.3): - optionalDependencies: - debug: 4.4.3(supports-color@10.2.2) + follow-redirects@1.16.0: {} for-each@0.3.5: dependencies: @@ -11945,9 +10401,11 @@ snapshots: hasown: 2.0.4 mime-types: 2.1.35 - forwarded@0.2.0: {} + forwarded@0.2.0: + optional: true - fresh@2.0.0: {} + fresh@2.0.0: + optional: true fs-extra@11.3.4: dependencies: @@ -11997,12 +10455,6 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@5.2.0: - dependencies: - pump: 3.0.4 - - get-stream@6.0.1: {} - get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -12026,6 +10478,7 @@ snapshots: glob-to-regex.js@1.2.0(tslib@2.8.1): dependencies: tslib: 2.8.1 + optional: true glob-to-regexp@0.4.1: {} @@ -12081,9 +10534,8 @@ snapshots: graphql@16.14.2: {} - handle-thing@2.0.1: {} - - hard-rejection@2.1.0: {} + handle-thing@2.0.1: + optional: true has-bigints@1.1.0: {} @@ -12105,23 +10557,6 @@ snapshots: dependencies: has-symbols: 1.1.0 - hash-base@3.0.5: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - hash-base@3.1.2: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 - - hash.js@1.1.7: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -12139,32 +10574,25 @@ snapshots: highlight.js@10.7.3: {} - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - hosted-git-info@2.8.9: {} - hosted-git-info@4.1.0: - dependencies: - lru-cache: 6.0.0 - hpack.js@2.1.6: dependencies: inherits: 2.0.4 obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 + optional: true html-encoding-sniffer@6.0.0: dependencies: '@exodus/bytes': 1.15.1 transitivePeerDependencies: - '@noble/hashes' + optional: true - http-deceiver@1.2.7: {} + http-deceiver@1.2.7: + optional: true http-errors@1.8.1: dependencies: @@ -12173,6 +10601,7 @@ snapshots: setprototypeof: 1.2.0 statuses: 1.5.0 toidentifier: 1.0.1 + optional: true http-errors@2.0.1: dependencies: @@ -12181,13 +10610,15 @@ snapshots: setprototypeof: 1.2.0 statuses: 2.0.2 toidentifier: 1.0.1 + optional: true - http-parser-js@0.5.10: {} + http-parser-js@0.5.10: + optional: true - http-proxy-middleware@2.0.9(@types/express@4.17.25)(debug@4.4.3): + http-proxy-middleware@2.0.9(@types/express@4.17.25): dependencies: '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1(debug@4.4.3) + http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.8 @@ -12195,14 +10626,16 @@ snapshots: '@types/express': 4.17.25 transitivePeerDependencies: - debug + optional: true - http-proxy@1.18.1(debug@4.4.3): + http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.16.0(debug@4.4.3) + follow-redirects: 1.16.0 requires-port: 1.0.0 transitivePeerDependencies: - debug + optional: true https-proxy-agent@5.0.1: dependencies: @@ -12218,28 +10651,17 @@ snapshots: transitivePeerDependencies: - supports-color - human-signals@1.1.1: {} - - human-signals@2.1.0: {} - - hyperdyperid@1.2.0: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 + hyperdyperid@1.2.0: + optional: true iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 - ieee754@1.2.1: {} - ignore@5.3.2: {} ignore@7.0.5: {} - immer@11.1.4: {} - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -12254,8 +10676,6 @@ snapshots: imurmurhash@0.1.4: {} - indent-string@4.0.0: {} - index-to-position@1.2.0: {} inherits@2.0.4: {} @@ -12268,11 +10688,11 @@ snapshots: interpret@3.1.1: {} - invert-kv@3.0.1: {} - - ipaddr.js@1.9.1: {} + ipaddr.js@1.9.1: + optional: true - ipaddr.js@2.3.0: {} + ipaddr.js@2.3.0: + optional: true is-arguments@1.2.0: dependencies: @@ -12325,7 +10745,8 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-docker@3.0.0: {} + is-docker@3.0.0: + optional: true is-extglob@2.1.1: {} @@ -12350,6 +10771,7 @@ snapshots: is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 + optional: true is-map@2.0.3: {} @@ -12362,7 +10784,8 @@ snapshots: is-negative-zero@2.0.3: {} - is-network-error@1.3.1: {} + is-network-error@1.3.1: + optional: true is-node-process@1.2.0: {} @@ -12373,9 +10796,8 @@ snapshots: is-number@7.0.0: {} - is-plain-obj@1.1.0: {} - - is-plain-obj@3.0.0: {} + is-plain-obj@3.0.0: + optional: true is-plain-obj@4.1.0: {} @@ -12383,9 +10805,11 @@ snapshots: dependencies: isobject: 3.0.1 - is-potential-custom-element-name@1.0.1: {} + is-potential-custom-element-name@1.0.1: + optional: true - is-promise@4.0.0: {} + is-promise@4.0.0: + optional: true is-reference@1.2.1: dependencies: @@ -12404,8 +10828,6 @@ snapshots: dependencies: call-bound: 1.0.4 - is-stream@2.0.1: {} - is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -12435,8 +10857,10 @@ snapshots: is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 + optional: true - isarray@1.0.0: {} + isarray@1.0.0: + optional: true isarray@2.0.5: {} @@ -12508,6 +10932,7 @@ snapshots: xml-name-validator: 5.0.0 transitivePeerDependencies: - '@noble/hashes' + optional: true jsesc@3.1.0: {} @@ -12577,20 +11002,13 @@ snapshots: dependencies: picocolors: 1.1.1 shell-quote: 1.9.0 - - lcid@3.1.1: - dependencies: - invert-kv: 3.0.1 + optional: true levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 @@ -12654,14 +11072,6 @@ snapshots: make-error@1.3.6: {} - map-age-cleaner@0.1.3: - dependencies: - p-defer: 1.0.0 - - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - marked-terminal@7.3.0(marked@9.1.6): dependencies: ansi-escapes: 7.3.0 @@ -12677,25 +11087,13 @@ snapshots: math-intrinsics@1.1.0: {} - md5.js@1.3.5: - dependencies: - hash-base: 3.1.2 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - mdn-data@2.0.28: {} - mdn-data@2.23.0: {} - mdn-data@2.27.1: {} - - media-typer@1.1.0: {} + mdn-data@2.27.1: + optional: true - mem@5.1.1: - dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 2.1.0 - p-is-promise: 2.1.0 + media-typer@1.1.0: + optional: true memfs@4.57.1(tslib@2.8.1): dependencies: @@ -12713,25 +11111,12 @@ snapshots: thingies: 2.6.0(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 + optional: true memorystream@0.3.1: {} - meow@9.0.0: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize: 1.2.0 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - - merge-descriptors@2.0.0: {} + merge-descriptors@2.0.0: + optional: true merge-stream@2.0.0: {} @@ -12742,14 +11127,10 @@ snapshots: braces: 3.0.3 picomatch: 2.3.2 - miller-rabin@4.0.1: - dependencies: - bn.js: 4.12.3 - brorand: 1.1.0 - mime-db@1.52.0: {} - mime-db@1.54.0: {} + mime-db@1.54.0: + optional: true mime-types@2.1.35: dependencies: @@ -12758,16 +11139,12 @@ snapshots: mime-types@3.0.2: dependencies: mime-db: 1.54.0 + optional: true mime@3.0.0: {} - mimic-fn@2.1.0: {} - - min-indent@1.0.1: {} - - minimalistic-assert@1.0.1: {} - - minimalistic-crypto-utils@1.0.1: {} + minimalistic-assert@1.0.1: + optional: true minimatch@10.2.3: dependencies: @@ -12789,12 +11166,6 @@ snapshots: dependencies: brace-expansion: 2.1.2 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.8: {} minipass@7.1.3: {} @@ -12803,8 +11174,6 @@ snapshots: dependencies: minipass: 7.1.3 - mitt@3.0.1: {} - mkdirp@3.0.1: {} mlly@1.8.2: @@ -12814,13 +11183,12 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.3 - modern-tar@0.7.6: {} - moment@2.30.1: {} mri@1.2.0: {} - ms@2.0.0: {} + ms@2.0.0: + optional: true ms@2.1.3: {} @@ -12881,8 +11249,7 @@ snapshots: dependencies: dns-packet: 5.6.1 thunky: 1.1.0 - - mute-stream@1.0.0: {} + optional: true mute-stream@2.0.0: {} @@ -12900,11 +11267,14 @@ snapshots: natural-compare@1.4.0: {} - negotiator@0.6.3: {} + negotiator@0.6.3: + optional: true - negotiator@0.6.4: {} + negotiator@0.6.4: + optional: true - negotiator@1.0.0: {} + negotiator@1.0.0: + optional: true neo-async@2.6.2: {} @@ -12924,12 +11294,6 @@ snapshots: node-releases@2.0.36: {} - node-releases@2.0.53: {} - - node-rsa@1.1.1: - dependencies: - asn1: 0.2.6 - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -12937,17 +11301,8 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-package-data@3.0.3: - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.16.1 - semver: 7.7.4 - validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} - normalize.css@8.0.1: {} - npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 @@ -12960,16 +11315,8 @@ snapshots: shell-quote: 1.8.3 string.prototype.padend: 3.1.6 - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - npm@11.19.1: {} - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - object-assign@4.1.1: {} object-inspect@1.13.4: {} @@ -13011,23 +11358,23 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - obuf@1.1.2: {} + obuf@1.1.2: + optional: true obug@2.1.1: {} on-finished@2.4.1: dependencies: ee-first: 1.1.1 + optional: true - on-headers@1.1.0: {} + on-headers@1.1.0: + optional: true once@1.4.0: dependencies: wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 + optional: true open@10.2.0: dependencies: @@ -13035,6 +11382,7 @@ snapshots: define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 wsl-utils: 0.1.0 + optional: true openapi-fetch@0.13.8: dependencies: @@ -13061,14 +11409,6 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - os-locale@5.0.0: - dependencies: - execa: 4.1.0 - lcid: 3.1.1 - mem: 5.1.1 - - os-tmpdir@1.0.2: {} - outvariant@1.4.3: {} own-keys@1.0.1: @@ -13077,10 +11417,6 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - p-defer@1.0.0: {} - - p-is-promise@2.1.0: {} - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -13112,6 +11448,7 @@ snapshots: '@types/retry': 0.12.2 is-network-error: 1.3.1 retry: 0.13.1 + optional: true p-try@2.2.0: {} @@ -13127,32 +11464,15 @@ snapshots: package-name-regex@2.0.6: {} - pako@1.0.11: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-asn1@5.1.9: - dependencies: - asn1.js: 4.10.1 - browserify-aes: 1.2.0 - evp_bytestokey: 1.0.3 - pbkdf2: 3.1.5 - safe-buffer: 5.2.1 - parse-json@4.0.0: dependencies: error-ex: 1.3.4 json-parse-better-errors: 1.0.2 - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.29.7 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - parse-json@8.3.0: dependencies: '@babel/code-frame': 7.29.7 @@ -13170,8 +11490,10 @@ snapshots: parse5@8.0.1: dependencies: entities: 8.0.0 + optional: true - parseurl@1.3.3: {} + parseurl@1.3.3: + optional: true path-browserify@1.0.1: {} @@ -13195,7 +11517,8 @@ snapshots: path-to-regexp@6.3.0: {} - path-to-regexp@8.3.0: {} + path-to-regexp@8.3.0: + optional: true path-type@3.0.0: dependencies: @@ -13205,15 +11528,6 @@ snapshots: pathe@2.0.3: {} - pbkdf2@3.1.5: - dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.3 - safe-buffer: 5.2.1 - sha.js: 2.4.12 - to-buffer: 1.2.2 - pend@1.2.0: {} picocolors@1.1.1: {} @@ -13224,8 +11538,6 @@ snapshots: pidtree@0.3.1: {} - pify@2.3.0: {} - pify@3.0.0: {} pkg-dir@4.2.0: @@ -13256,231 +11568,36 @@ snapshots: pvtsutils: 1.3.6 pvutils: 1.1.5 tslib: 2.8.1 + optional: true pluralize@8.0.0: {} possible-typed-array-names@1.1.0: {} - postcss-calc@10.1.1(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-selector-parser: 7.1.4 - postcss-value-parser: 4.2.0 - - postcss-cli@11.0.1(postcss@8.5.26)(tsx@4.23.12): + postcss@8.5.26: dependencies: - chokidar: 3.6.0 - dependency-graph: 1.0.0 - fs-extra: 11.3.4 + nanoid: 3.3.18 picocolors: 1.1.1 - postcss: 8.5.26 - postcss-load-config: 5.1.0(postcss@8.5.26)(tsx@4.23.12) - postcss-reporter: 7.1.0(postcss@8.5.26) - pretty-hrtime: 1.0.3 - read-cache: 1.0.0 - slash: 5.1.0 - tinyglobby: 0.2.15 - yargs: 17.7.2 - transitivePeerDependencies: - - jiti - - tsx + source-map-js: 1.2.1 - postcss-colormin@8.0.3(postcss@8.5.26): - dependencies: - '@colordx/core': 5.5.0 - browserslist: 4.28.8 - caniuse-api: 4.0.0 - postcss: 8.5.26 - postcss-value-parser: 4.2.0 + prelude-ls@1.2.1: {} - postcss-convert-values@8.0.3(postcss@8.5.26): + prettier-linter-helpers@1.0.1: dependencies: - browserslist: 4.28.8 - postcss: 8.5.26 - postcss-value-parser: 4.2.0 + fast-diff: 1.3.0 - postcss-discard-comments@8.0.3(postcss@8.5.26): + prettier-plugin-packagejson@2.5.22(prettier@3.8.5): dependencies: - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 + sort-package-json: 3.6.0 + optionalDependencies: + prettier: 3.8.5 - postcss-discard-duplicates@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 + prettier@3.8.5: {} - postcss-discard-empty@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 + process-es6@0.11.6: {} - postcss-discard-overridden@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - - postcss-load-config@5.1.0(postcss@8.5.26)(tsx@4.23.12): - dependencies: - lilconfig: 3.1.3 - yaml: 2.8.3 - optionalDependencies: - postcss: 8.5.26 - tsx: 4.23.12 - - postcss-merge-longhand@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - stylehacks: 8.0.3(postcss@8.5.26) - - postcss-merge-rules@8.0.3(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - caniuse-api: 4.0.0 - cssnano-utils: 6.0.3(postcss@8.5.26) - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 - - postcss-minify-font-values@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-minify-gradients@8.0.3(postcss@8.5.26): - dependencies: - '@colordx/core': 5.5.0 - cssnano-utils: 6.0.3(postcss@8.5.26) - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-minify-params@8.0.3(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - cssnano-utils: 6.0.3(postcss@8.5.26) - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-minify-selectors@8.0.4(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - caniuse-api: 4.0.0 - cssesc: 3.0.0 - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 - - postcss-normalize-charset@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - - postcss-normalize-display-values@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-positions@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-repeat-style@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-string@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-timing-functions@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-unicode@8.0.3(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-url@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-normalize-whitespace@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-ordered-values@8.0.3(postcss@8.5.26): - dependencies: - cssnano-utils: 6.0.3(postcss@8.5.26) - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-reduce-initial@8.0.3(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - caniuse-api: 4.0.0 - postcss: 8.5.26 - - postcss-reduce-transforms@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - - postcss-reporter@7.1.0(postcss@8.5.26): - dependencies: - picocolors: 1.1.1 - postcss: 8.5.26 - thenby: 1.3.4 - - postcss-selector-parser@7.1.4: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-selector-parser@7.1.5: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-svgo@8.0.4(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-value-parser: 4.2.0 - svgo: 4.0.2 - - postcss-unique-selectors@8.0.3(postcss@8.5.26): - dependencies: - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 - - postcss-value-parser@4.2.0: {} - - postcss@8.5.26: - dependencies: - nanoid: 3.3.18 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - prelude-ls@1.2.1: {} - - prettier-linter-helpers@1.0.1: - dependencies: - fast-diff: 1.3.0 - - prettier-plugin-packagejson@2.5.22(prettier@3.8.5): - dependencies: - sort-package-json: 3.6.0 - optionalDependencies: - prettier: 3.8.5 - - prettier@3.8.5: {} - - pretty-hrtime@1.0.3: {} - - process-es6@0.11.6: {} - - process-nextick-args@2.0.1: {} + process-nextick-args@2.0.1: + optional: true process@0.11.10: {} @@ -13494,18 +11611,10 @@ snapshots: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + optional: true proxy-from-env@2.1.0: {} - public-encrypt@4.0.3: - dependencies: - bn.js: 4.12.3 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - parse-asn1: 5.1.9 - randombytes: 2.1.0 - safe-buffer: 5.2.1 - publint@0.3.24: dependencies: '@publint/pack': 0.1.7 @@ -13513,46 +11622,15 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 - pump@3.0.4: - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - punycode@2.3.1: {} - puppeteer-core@25.3.0(yauzl@3.4.0): - dependencies: - '@puppeteer/browsers': 3.0.6(yauzl@3.4.0) - chromium-bidi: 16.0.1(devtools-protocol@0.0.1638949) - devtools-protocol: 0.0.1638949 - typed-query-selector: 2.12.2 - webdriver-bidi-protocol: 0.4.2 - ws: 8.21.3 - transitivePeerDependencies: - - bufferutil - - proxy-agent - - utf-8-validate - - yauzl - - puppeteer@25.3.0(yauzl@3.4.0): - dependencies: - '@puppeteer/browsers': 3.0.6(yauzl@3.4.0) - chromium-bidi: 16.0.1(devtools-protocol@0.0.1638949) - devtools-protocol: 0.0.1638949 - lilconfig: 3.1.3 - puppeteer-core: 25.3.0(yauzl@3.4.0) - typed-query-selector: 2.12.2 - transitivePeerDependencies: - - bufferutil - - proxy-agent - - utf-8-validate - - yauzl - pvtsutils@1.3.6: dependencies: tslib: 2.8.1 + optional: true - pvutils@1.1.5: {} + pvutils@1.1.5: + optional: true qs@6.15.3: dependencies: @@ -13563,18 +11641,12 @@ snapshots: queue-microtask@1.2.3: {} - quick-lru@4.0.1: {} - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - randomfill@1.0.4: - dependencies: - randombytes: 2.1.0 - safe-buffer: 5.2.1 - - range-parser@1.2.1: {} + range-parser@1.2.1: + optional: true raw-body@3.0.2: dependencies: @@ -13582,32 +11654,16 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.3 unpipe: 1.0.0 + optional: true react-is@16.13.1: {} - read-cache@1.0.0: - dependencies: - pify: 2.3.0 - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -13617,12 +11673,14 @@ snapshots: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 + optional: true readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + optional: true readdirp@3.6.0: dependencies: @@ -13634,22 +11692,8 @@ snapshots: dependencies: resolve: 1.22.11 - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - - redux-logger@3.0.6: - dependencies: - deep-diff: 0.3.8 - - redux-thunk@3.1.0(redux@5.0.1): - dependencies: - redux: 5.0.1 - - redux@5.0.1: {} - - reflect-metadata@0.2.2: {} + reflect-metadata@0.2.2: + optional: true reflect.getprototypeof@1.0.10: dependencies: @@ -13696,9 +11740,8 @@ snapshots: require-from-string@2.0.2: {} - requires-port@1.0.0: {} - - reselect@5.1.1: {} + requires-port@1.0.0: + optional: true resolve-cwd@3.0.0: dependencies: @@ -13725,7 +11768,8 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - retry@0.13.1: {} + retry@0.13.1: + optional: true rettime@0.11.11: {} @@ -13736,11 +11780,6 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - ripemd160@2.0.3: - dependencies: - hash-base: 3.1.2 - inherits: 2.0.4 - rollup-plugin-ecma-version-validator@0.2.13(rollup@4.63.0): dependencies: acorn: 8.16.0 @@ -13864,17 +11903,15 @@ snapshots: path-to-regexp: 8.3.0 transitivePeerDependencies: - supports-color + optional: true - run-applescript@7.1.0: {} + run-applescript@7.1.0: + optional: true run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rxjs@7.8.2: - dependencies: - tslib: 2.8.1 - sade@1.8.1: dependencies: mri: 1.2.0 @@ -13887,7 +11924,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 - safe-buffer@5.1.2: {} + safe-buffer@5.1.2: + optional: true safe-buffer@5.2.1: {} @@ -13904,11 +11942,10 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.6.0: {} - saxes@6.0.0: dependencies: xmlchars: 2.2.0 + optional: true schema-utils@4.3.3: dependencies: @@ -13917,12 +11954,14 @@ snapshots: ajv-formats: 2.1.1(ajv@8.20.0) ajv-keywords: 5.1.0(ajv@8.20.0) - select-hose@2.0.0: {} + select-hose@2.0.0: + optional: true selfsigned@5.5.0: dependencies: '@peculiar/x509': 1.14.3 pkijs: 3.4.0 + optional: true semver@5.7.2: {} @@ -13949,6 +11988,7 @@ snapshots: statuses: 2.0.2 transitivePeerDependencies: - supports-color + optional: true serialize-javascript@6.0.2: dependencies: @@ -13965,6 +12005,7 @@ snapshots: parseurl: 1.3.3 transitivePeerDependencies: - supports-color + optional: true serve-static@2.2.1: dependencies: @@ -13974,6 +12015,7 @@ snapshots: send: 1.2.1 transitivePeerDependencies: - supports-color + optional: true set-cookie-parser@3.1.2: {} @@ -13999,15 +12041,8 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - setimmediate@1.0.5: {} - - setprototypeof@1.2.0: {} - - sha.js@2.4.12: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - to-buffer: 1.2.2 + setprototypeof@1.2.0: + optional: true shallow-clone@3.0.1: dependencies: @@ -14021,7 +12056,8 @@ snapshots: shell-quote@1.8.3: {} - shell-quote@1.9.0: {} + shell-quote@1.9.0: + optional: true side-channel-list@1.0.0: dependencies: @@ -14066,8 +12102,6 @@ snapshots: siginfo@2.0.0: {} - signal-exit@3.0.7: {} - signal-exit@4.1.0: {} skin-tone@2.0.0: @@ -14076,8 +12110,6 @@ snapshots: slash@3.0.0: {} - slash@5.1.0: {} - smob@1.6.1: {} sockjs@0.3.24: @@ -14085,6 +12117,7 @@ snapshots: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 + optional: true sort-object-keys@2.1.0: {} @@ -14161,6 +12194,7 @@ snapshots: wbuf: 1.7.3 transitivePeerDependencies: - supports-color + optional: true spdy@4.0.2: dependencies: @@ -14171,6 +12205,7 @@ snapshots: spdy-transport: 3.0.0 transitivePeerDependencies: - supports-color + optional: true sprintf-js@1.0.3: {} @@ -14178,7 +12213,8 @@ snapshots: stackback@0.0.2: {} - statuses@1.5.0: {} + statuses@1.5.0: + optional: true statuses@2.0.2: {} @@ -14189,13 +12225,6 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - stream-browserify@3.0.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - stream-buffers@3.0.3: {} - strict-event-emitter@0.5.1: {} string-argv@0.3.2: {} @@ -14278,10 +12307,12 @@ snapshots: string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 + optional: true string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 + optional: true strip-ansi@6.0.1: dependencies: @@ -14293,20 +12324,8 @@ snapshots: strip-bom@3.0.0: {} - strip-final-newline@2.0.0: {} - - strip-indent@3.0.0: - dependencies: - min-indent: 1.0.1 - strip-json-comments@3.1.1: {} - stylehacks@8.0.3(postcss@8.5.26): - dependencies: - browserslist: 4.28.8 - postcss: 8.5.26 - postcss-selector-parser: 7.1.5 - supports-color@10.2.2: {} supports-color@5.5.0: @@ -14328,17 +12347,8 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svgo@4.0.2: - dependencies: - commander: 11.1.0 - css-select: 5.2.2 - css-tree: 3.2.1 - css-what: 6.2.2 - csso: 5.0.5 - picocolors: 1.1.1 - sax: 1.6.0 - - symbol-tree@3.2.4: {} + symbol-tree@3.2.4: + optional: true synckit@0.11.12: dependencies: @@ -14371,8 +12381,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - thenby@1.3.4: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -14384,8 +12392,10 @@ snapshots: thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 + optional: true - thunky@1.1.0: {} + thunky@1.1.0: + optional: true tinybench@2.9.0: {} @@ -14406,21 +12416,12 @@ snapshots: dependencies: tldts-core: 7.4.3 - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - to-buffer@1.2.2: - dependencies: - isarray: 2.0.5 - safe-buffer: 5.2.1 - typed-array-buffer: 1.0.3 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} + toidentifier@1.0.1: + optional: true toml@4.3.0: {} @@ -14431,12 +12432,12 @@ snapshots: tr46@6.0.0: dependencies: punycode: 2.3.1 + optional: true tree-dump@1.1.0(tslib@2.8.1): dependencies: tslib: 2.8.1 - - trim-newlines@3.0.1: {} + optional: true ts-api-utils@1.4.3(typescript@5.9.3): dependencies: @@ -14477,9 +12478,11 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - tslib@1.14.1: {} + tslib@1.14.1: + optional: true - tslib@2.8.1: {} + tslib@2.8.1: + optional: true tsx@4.23.12: dependencies: @@ -14490,19 +12493,12 @@ snapshots: tsyringe@4.10.0: dependencies: tslib: 1.14.1 + optional: true type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-fest@0.18.1: {} - - type-fest@0.21.3: {} - - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - type-fest@4.41.0: {} type-fest@5.8.0: @@ -14514,6 +12510,7 @@ snapshots: content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 + optional: true typed-array-buffer@1.0.3: dependencies: @@ -14548,8 +12545,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typed-query-selector@2.12.2: {} - typescript-eslint@8.57.2(eslint@9.39.5)(typescript@5.9.3): dependencies: '@typescript-eslint/eslint-plugin': 8.57.2(@typescript-eslint/parser@8.57.2(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3) @@ -14602,7 +12597,8 @@ snapshots: universalify@2.0.1: {} - unpipe@1.0.0: {} + unpipe@1.0.0: + optional: true unrs-resolver@1.11.1: dependencies: @@ -14642,19 +12638,14 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-browserslist-db@1.3.1(browserslist@4.28.8): - dependencies: - browserslist: 4.28.8 - escalade: 3.2.0 - picocolors: 1.1.1 - uri-js-replace@1.0.1: {} uri-js@4.4.1: dependencies: punycode: 2.3.1 - util-deprecate@1.0.2: {} + util-deprecate@1.0.2: + optional: true util@0.12.5: dependencies: @@ -14664,7 +12655,8 @@ snapshots: is-typed-array: 1.1.15 which-typed-array: 1.1.20 - uuid@8.3.2: {} + uuid@8.3.2: + optional: true v8-compile-cache-lib@3.0.1: {} @@ -14677,7 +12669,8 @@ snapshots: validate-npm-package-name@7.0.2: {} - vary@1.1.2: {} + vary@1.1.2: + optional: true vite-plugin-dts@4.5.4(@types/node@25.5.0)(rollup@4.63.0)(typescript@5.9.3)(vite@5.4.21(@types/node@25.5.0)(terser@5.46.1)): dependencies: @@ -14774,6 +12767,7 @@ snapshots: w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 + optional: true watchpack@2.5.1: dependencies: @@ -14783,10 +12777,10 @@ snapshots: wbuf@1.7.3: dependencies: minimalistic-assert: 1.0.1 + optional: true - webdriver-bidi-protocol@0.4.2: {} - - webidl-conversions@8.0.1: {} + webidl-conversions@8.0.1: + optional: true webpack-cli@7.2.2(js-yaml@5.2.3)(json5@2.2.3)(toml@4.3.0)(webpack-dev-server@5.2.6)(webpack@5.105.4): dependencies: @@ -14803,7 +12797,7 @@ snapshots: js-yaml: 5.2.3 json5: 2.2.3 toml: 4.3.0 - webpack-dev-server: 5.2.6(debug@4.4.3)(tslib@2.8.1)(webpack-cli@7.2.2)(webpack@5.105.4) + webpack-dev-server: 5.2.6(tslib@2.8.1)(webpack-cli@7.2.2)(webpack@5.105.4) webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.105.4): dependencies: @@ -14817,8 +12811,9 @@ snapshots: webpack: 5.105.4(webpack-cli@7.2.2) transitivePeerDependencies: - tslib + optional: true - webpack-dev-server@5.2.6(debug@4.4.3)(tslib@2.8.1)(webpack-cli@7.2.2)(webpack@5.105.4): + webpack-dev-server@5.2.6(tslib@2.8.1)(webpack-cli@7.2.2)(webpack@5.105.4): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -14836,7 +12831,7 @@ snapshots: connect-history-api-fallback: 2.0.0 express: 5.2.1 graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25)(debug@4.4.3) + http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.3.0 launch-editor: 2.14.1 open: 10.2.0 @@ -14857,6 +12852,7 @@ snapshots: - supports-color - tslib - utf-8-validate + optional: true webpack-merge@6.0.1: dependencies: @@ -14905,10 +12901,13 @@ snapshots: http-parser-js: 0.5.10 safe-buffer: 5.2.1 websocket-extensions: 0.1.4 + optional: true - websocket-extensions@0.1.4: {} + websocket-extensions@0.1.4: + optional: true - whatwg-mimetype@5.0.0: {} + whatwg-mimetype@5.0.0: + optional: true whatwg-url@16.0.1: dependencies: @@ -14917,6 +12916,7 @@ snapshots: webidl-conversions: 8.0.1 transitivePeerDependencies: - '@noble/hashes' + optional: true which-boxed-primitive@1.1.1: dependencies: @@ -14996,17 +12996,22 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.2.0 - wrappy@1.0.2: {} + wrappy@1.0.2: + optional: true - ws@8.21.3: {} + ws@8.21.3: + optional: true wsl-utils@0.1.0: dependencies: is-wsl: 3.1.1 + optional: true - xml-name-validator@5.0.0: {} + xml-name-validator@5.0.0: + optional: true - xmlchars@2.2.0: {} + xmlchars@2.2.0: + optional: true y18n@5.0.8: {} @@ -15018,7 +13023,8 @@ snapshots: yaml-ast-parser@0.0.43: {} - yaml@2.8.3: {} + yaml@2.8.3: + optional: true yargs-parser@20.2.9: {} @@ -15036,16 +13042,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - yargs@17.7.3: dependencies: cliui: 8.0.1 @@ -15070,14 +13066,6 @@ snapshots: buffer-crc32: 0.2.13 pend: 1.2.0 - yauzl@3.4.0: - dependencies: - pend: 1.2.0 - - yazl@2.5.1: - dependencies: - buffer-crc32: 0.2.13 - yazl@3.3.1: dependencies: buffer-crc32: 1.0.0 @@ -15089,5 +13077,3 @@ snapshots: yocto-queue@1.2.2: {} yoctocolors-cjs@2.1.3: {} - - zod@3.25.76: {} diff --git a/release-please-config.json b/release-please-config.json index 63e0dcae4d..1fdc69525f 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -13,14 +13,6 @@ "monorepo-tags": true, "group-pull-request-title-pattern": "chore: release from ${branch}", "packages": { - "packages/create-plugin": { - "package-name": "@kintone/create-plugin", - "component": "@kintone/create-plugin" - }, - "packages/customize-uploader": { - "package-name": "@kintone/customize-uploader", - "component": "@kintone/customize-uploader" - }, "packages/dts-gen": { "package-name": "@kintone/dts-gen", "component": "@kintone/dts-gen" @@ -33,14 +25,6 @@ "package-name": "@kintone/plugin-manifest-validator", "component": "@kintone/plugin-manifest-validator" }, - "packages/plugin-packer": { - "package-name": "@kintone/plugin-packer", - "component": "@kintone/plugin-packer" - }, - "packages/plugin-uploader": { - "package-name": "@kintone/plugin-uploader", - "component": "@kintone/plugin-uploader" - }, "packages/profile-loader": { "package-name": "@kintone/profile-loader", "component": "@kintone/profile-loader" diff --git a/renovate.json5 b/renovate.json5 index 5b6c0833f0..76ef202670 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -13,9 +13,6 @@ "**/__fixtures__/**", ], npm: { - fileMatch: [ - "^packages/create-plugin/templates/([^/]+/)*with-plugin-uploader\\.json$", - ], packageRules: [ { // set `chore` to the commit for updating packages @@ -39,27 +36,7 @@ }, ], }, - customManagers: [ - { - // track plugin-manifest-validator version embedded in $schema URLs - customType: "regex", - fileMatch: [ - "^packages/create-plugin/src/manifest\\.ts$", - ], - matchStrings: [ - "plugin-manifest-validator%40(?[0-9]+\\.[0-9]+\\.[0-9]+)", - ], - depNameTemplate: "@kintone/plugin-manifest-validator", - datasourceTemplate: "npm", - }, - ], "packageRules": [ - { - // URL-embedded validator version bumps are chore: (don't trigger release-please) - matchPackageNames: ["@kintone/plugin-manifest-validator"], - matchManagers: ["custom.regex"], - semanticCommitType: "chore", - }, { // runtime dependencies use bump strategy (update pinned versions) matchDepTypes: ["dependencies"],