diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 28d23a03d..d7e5d1e11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,38 +93,38 @@ jobs: uses: tj-actions/changed-files@v45 with: files: | - plugins/*/src/** - plugins/*/test/** - plugins/*/*.test.ts - plugins/*/*.test.tsx - plugins/*/vitest.config.ts - plugins/*/test-setup.ts + {plugins,packages}/*/src/** + {plugins,packages}/*/test/** + {plugins,packages}/*/*.test.ts + {plugins,packages}/*/*.test.tsx + {plugins,packages}/*/vitest.config.ts + {plugins,packages}/*/test-setup.ts - name: Install dependencies if: steps.changed-files.outputs.any_changed == 'true' run: yarn - - name: Get changed plugins + - name: Get changed workspaces if: steps.changed-files.outputs.any_changed == 'true' - id: changed-plugins + id: changed-workspaces run: | - # Extract unique plugin names from changed files - PLUGINS=$(echo "${{ steps.changed-files.outputs.all_changed_files }}" | \ - grep -E '^plugins/[^/]+/' | \ - cut -d'/' -f2 | \ + # Extract unique workspace paths from changed files + WORKSPACES=$(echo "${{ steps.changed-files.outputs.all_changed_files }}" | \ + grep -oE '(plugins|packages)/[^/]+' | \ sort -u | \ tr '\n' ' ') - echo "plugins=$PLUGINS" >> $GITHUB_OUTPUT - echo "Changed plugins: $PLUGINS" + echo "workspaces=$WORKSPACES" >> $GITHUB_OUTPUT + echo "Changed workspaces: $WORKSPACES" - - name: Run tests for changed plugins - if: steps.changed-files.outputs.any_changed == 'true' && steps.changed-plugins.outputs.plugins != '' + - name: Run tests for changed workspaces + if: steps.changed-files.outputs.any_changed == 'true' && steps.changed-workspaces.outputs.workspaces != '' run: | - for plugin in ${{ steps.changed-plugins.outputs.plugins }}; do - echo "Checking tests for plugin: $plugin" - if [ -f "plugins/$plugin/package.json" ] && grep -q '"check-vitest"' "plugins/$plugin/package.json"; then - yarn workspace $plugin check-vitest + for workspace in ${{ steps.changed-workspaces.outputs.workspaces }}; do + echo "Checking tests for workspace: $workspace" + if [ -f "$workspace/package.json" ] && grep -q '"check-vitest"' "$workspace/package.json"; then + name=$(jq -r '.name' "$workspace/package.json") + yarn workspace "$name" check-vitest else - echo "No check-vitest script found for $plugin, skipping..." + echo "No check-vitest script found for $workspace, skipping..." fi done diff --git a/.yarn/cache/@babel-generator-npm-8.0.0-beta.4-ab401a2835-79a2130a45.zip b/.yarn/cache/@babel-generator-npm-8.0.0-beta.4-ab401a2835-79a2130a45.zip deleted file mode 100644 index 11f3ff582..000000000 Binary files a/.yarn/cache/@babel-generator-npm-8.0.0-beta.4-ab401a2835-79a2130a45.zip and /dev/null differ diff --git a/.yarn/cache/@babel-generator-npm-8.0.0-rc.1-7b4577a751-1949ed7a07.zip b/.yarn/cache/@babel-generator-npm-8.0.0-rc.1-7b4577a751-1949ed7a07.zip new file mode 100644 index 000000000..dcc273dbd Binary files /dev/null and b/.yarn/cache/@babel-generator-npm-8.0.0-rc.1-7b4577a751-1949ed7a07.zip differ diff --git a/.yarn/cache/@babel-parser-npm-8.0.0-beta.4-b610635771-41ea150c87.zip b/.yarn/cache/@babel-parser-npm-8.0.0-beta.4-b610635771-41ea150c87.zip deleted file mode 100644 index db5bfcd3e..000000000 Binary files a/.yarn/cache/@babel-parser-npm-8.0.0-beta.4-b610635771-41ea150c87.zip and /dev/null differ diff --git a/.yarn/cache/@babel-types-npm-8.0.0-beta.4-f93521e790-31222a7005.zip b/.yarn/cache/@babel-types-npm-8.0.0-beta.4-f93521e790-31222a7005.zip deleted file mode 100644 index fe802d6cb..000000000 Binary files a/.yarn/cache/@babel-types-npm-8.0.0-beta.4-f93521e790-31222a7005.zip and /dev/null differ diff --git a/.yarn/cache/@commander-js-extra-typings-npm-13.1.0-360957fb64-cdb7f854ac.zip b/.yarn/cache/@commander-js-extra-typings-npm-13.1.0-360957fb64-cdb7f854ac.zip new file mode 100644 index 000000000..74ec7b5d0 Binary files /dev/null and b/.yarn/cache/@commander-js-extra-typings-npm-13.1.0-360957fb64-cdb7f854ac.zip differ diff --git a/.yarn/cache/@oxc-project-types-npm-0.110.0-2eb76fb91a-427a130ca2.zip b/.yarn/cache/@oxc-project-types-npm-0.110.0-2eb76fb91a-427a130ca2.zip deleted file mode 100644 index 50c8681a4..000000000 Binary files a/.yarn/cache/@oxc-project-types-npm-0.110.0-2eb76fb91a-427a130ca2.zip and /dev/null differ diff --git a/.yarn/cache/@oxc-project-types-npm-0.112.0-e7acfb5018-5954982169.zip b/.yarn/cache/@oxc-project-types-npm-0.112.0-e7acfb5018-5954982169.zip new file mode 100644 index 000000000..f66ae9f97 Binary files /dev/null and b/.yarn/cache/@oxc-project-types-npm-0.112.0-e7acfb5018-5954982169.zip differ diff --git a/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.1-4132962059-10.zip b/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.1-4132962059-10.zip deleted file mode 100644 index ee2d45701..000000000 Binary files a/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.1-4132962059-10.zip and /dev/null differ diff --git a/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.3-c3196f4d78-10.zip b/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.3-c3196f4d78-10.zip new file mode 100644 index 000000000..9a6ccb913 Binary files /dev/null and b/.yarn/cache/@rolldown-binding-darwin-arm64-npm-1.0.0-rc.3-c3196f4d78-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.1-e1b0f227a4-10.zip b/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.1-e1b0f227a4-10.zip deleted file mode 100644 index 73836a8f3..000000000 Binary files a/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.1-e1b0f227a4-10.zip and /dev/null differ diff --git a/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.3-edaa9164af-10.zip b/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.3-edaa9164af-10.zip new file mode 100644 index 000000000..1b4cc9c39 Binary files /dev/null and b/.yarn/cache/@rolldown-binding-darwin-x64-npm-1.0.0-rc.3-edaa9164af-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.1-bae23cc55a-10.zip b/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.1-bae23cc55a-10.zip deleted file mode 100644 index 168b98dbe..000000000 Binary files a/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.1-bae23cc55a-10.zip and /dev/null differ diff --git a/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.3-194ce4c287-10.zip b/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.3-194ce4c287-10.zip new file mode 100644 index 000000000..225a9b1df Binary files /dev/null and b/.yarn/cache/@rolldown-binding-linux-arm64-gnu-npm-1.0.0-rc.3-194ce4c287-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.1-848846c606-10.zip b/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.1-848846c606-10.zip deleted file mode 100644 index 1ff6e70b7..000000000 Binary files a/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.1-848846c606-10.zip and /dev/null differ diff --git a/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.3-fd6342d84f-10.zip b/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.3-fd6342d84f-10.zip new file mode 100644 index 000000000..858f884c2 Binary files /dev/null and b/.yarn/cache/@rolldown-binding-linux-arm64-musl-npm-1.0.0-rc.3-fd6342d84f-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.1-7e87daaa07-10.zip b/.yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.3-fb6aa24536-10.zip similarity index 50% rename from .yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.1-7e87daaa07-10.zip rename to .yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.3-fb6aa24536-10.zip index b23886d13..270ae9b19 100644 Binary files a/.yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.1-7e87daaa07-10.zip and b/.yarn/cache/@rolldown-binding-linux-x64-gnu-npm-1.0.0-rc.3-fb6aa24536-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.1-ce157db0ca-10.zip b/.yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.3-b285db285c-10.zip similarity index 51% rename from .yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.1-ce157db0ca-10.zip rename to .yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.3-b285db285c-10.zip index c30e79426..eaf4f51ea 100644 Binary files a/.yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.1-ce157db0ca-10.zip and b/.yarn/cache/@rolldown-binding-linux-x64-musl-npm-1.0.0-rc.3-b285db285c-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.1-e5e5323bfb-10.zip b/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.1-e5e5323bfb-10.zip deleted file mode 100644 index 79f4d48d8..000000000 Binary files a/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.1-e5e5323bfb-10.zip and /dev/null differ diff --git a/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.3-9076c881e2-10.zip b/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.3-9076c881e2-10.zip new file mode 100644 index 000000000..0ba96e657 Binary files /dev/null and b/.yarn/cache/@rolldown-binding-win32-arm64-msvc-npm-1.0.0-rc.3-9076c881e2-10.zip differ diff --git a/.yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.1-d378dd46eb-10.zip b/.yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.3-cda6ed4bb8-10.zip similarity index 50% rename from .yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.1-d378dd46eb-10.zip rename to .yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.3-cda6ed4bb8-10.zip index dfa277e46..3fabbba8d 100644 Binary files a/.yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.1-d378dd46eb-10.zip and b/.yarn/cache/@rolldown-binding-win32-x64-msvc-npm-1.0.0-rc.3-cda6ed4bb8-10.zip differ diff --git a/.yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.1-c71b2c5059-b8fdae059c.zip b/.yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.3-790b1e278c-b181a693b7.zip similarity index 90% rename from .yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.1-c71b2c5059-b8fdae059c.zip rename to .yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.3-790b1e278c-b181a693b7.zip index 5bd5c7361..aa5cfb7d8 100644 Binary files a/.yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.1-c71b2c5059-b8fdae059c.zip and b/.yarn/cache/@rolldown-pluginutils-npm-1.0.0-rc.3-790b1e278c-b181a693b7.zip differ diff --git a/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.57.1-30fcad3f8c-10.zip b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.57.1-30fcad3f8c-10.zip new file mode 100644 index 000000000..fbdb3a060 Binary files /dev/null and b/.yarn/cache/@rollup-rollup-darwin-arm64-npm-4.57.1-30fcad3f8c-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.57.1-a79270fa64-10.zip b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.57.1-a79270fa64-10.zip new file mode 100644 index 000000000..0f69fe496 Binary files /dev/null and b/.yarn/cache/@rollup-rollup-darwin-x64-npm-4.57.1-a79270fa64-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.57.1-fd27dea33b-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.57.1-fd27dea33b-10.zip new file mode 100644 index 000000000..ce22eddef Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-arm64-gnu-npm-4.57.1-fd27dea33b-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.57.1-3dce1fd7b1-10.zip b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.57.1-3dce1fd7b1-10.zip new file mode 100644 index 000000000..505a36abe Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-arm64-musl-npm-4.57.1-3dce1fd7b1-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.57.1-667d72ac2f-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.57.1-667d72ac2f-10.zip new file mode 100644 index 000000000..a2bb10949 Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.57.1-667d72ac2f-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.57.1-1bc4af3cb5-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.57.1-1bc4af3cb5-10.zip new file mode 100644 index 000000000..60174e053 Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-x64-musl-npm-4.57.1-1bc4af3cb5-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-win32-arm64-msvc-npm-4.57.1-36312bb667-10.zip b/.yarn/cache/@rollup-rollup-win32-arm64-msvc-npm-4.57.1-36312bb667-10.zip new file mode 100644 index 000000000..8373ce50e Binary files /dev/null and b/.yarn/cache/@rollup-rollup-win32-arm64-msvc-npm-4.57.1-36312bb667-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-win32-x64-gnu-npm-4.57.1-ab351abab0-10.zip b/.yarn/cache/@rollup-rollup-win32-x64-gnu-npm-4.57.1-ab351abab0-10.zip new file mode 100644 index 000000000..f1a73acdd Binary files /dev/null and b/.yarn/cache/@rollup-rollup-win32-x64-gnu-npm-4.57.1-ab351abab0-10.zip differ diff --git a/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.57.1-57e2356b3a-10.zip b/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.57.1-57e2356b3a-10.zip new file mode 100644 index 000000000..5728375ed Binary files /dev/null and b/.yarn/cache/@rollup-rollup-win32-x64-msvc-npm-4.57.1-57e2356b3a-10.zip differ diff --git a/.yarn/cache/@types-adm-zip-npm-0.5.7-b19d96a568-24e9842bd6.zip b/.yarn/cache/@types-adm-zip-npm-0.5.7-b19d96a568-24e9842bd6.zip new file mode 100644 index 000000000..568da9afe Binary files /dev/null and b/.yarn/cache/@types-adm-zip-npm-0.5.7-b19d96a568-24e9842bd6.zip differ diff --git a/.yarn/cache/@types-node-npm-22.19.6-c82ef0b745-a5bac443b2.zip b/.yarn/cache/@types-node-npm-22.19.7-d4e0361572-0a5c9cc3bd.zip similarity index 95% rename from .yarn/cache/@types-node-npm-22.19.6-c82ef0b745-a5bac443b2.zip rename to .yarn/cache/@types-node-npm-22.19.7-d4e0361572-0a5c9cc3bd.zip index 83dd5a645..8c7de71a4 100644 Binary files a/.yarn/cache/@types-node-npm-22.19.6-c82ef0b745-a5bac443b2.zip and b/.yarn/cache/@types-node-npm-22.19.7-d4e0361572-0a5c9cc3bd.zip differ diff --git a/.yarn/cache/@types-node-npm-22.19.8-a20ecb429d-a61c68d434.zip b/.yarn/cache/@types-node-npm-22.19.8-a20ecb429d-a61c68d434.zip new file mode 100644 index 000000000..f744c46eb Binary files /dev/null and b/.yarn/cache/@types-node-npm-22.19.8-a20ecb429d-a61c68d434.zip differ diff --git a/.yarn/cache/@vitest-expect-npm-4.0.17-b015851278-f260fefea5.zip b/.yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-2115bff1bb.zip similarity index 97% rename from .yarn/cache/@vitest-expect-npm-4.0.17-b015851278-f260fefea5.zip rename to .yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-2115bff1bb.zip index 38acb8a0b..3db069f11 100644 Binary files a/.yarn/cache/@vitest-expect-npm-4.0.17-b015851278-f260fefea5.zip and b/.yarn/cache/@vitest-expect-npm-4.0.18-03919ccd0b-2115bff1bb.zip differ diff --git a/.yarn/cache/@vitest-mocker-npm-4.0.17-3277b0d6dc-4d938c298d.zip b/.yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-46f584a4c1.zip similarity index 97% rename from .yarn/cache/@vitest-mocker-npm-4.0.17-3277b0d6dc-4d938c298d.zip rename to .yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-46f584a4c1.zip index 3bcb273a0..9705f5fa8 100644 Binary files a/.yarn/cache/@vitest-mocker-npm-4.0.17-3277b0d6dc-4d938c298d.zip and b/.yarn/cache/@vitest-mocker-npm-4.0.18-118c87f90e-46f584a4c1.zip differ diff --git a/.yarn/cache/@vitest-pretty-format-npm-4.0.17-fb47e1d906-e50925f441.zip b/.yarn/cache/@vitest-pretty-format-npm-4.0.17-fb47e1d906-e50925f441.zip deleted file mode 100644 index 3fc925a3d..000000000 Binary files a/.yarn/cache/@vitest-pretty-format-npm-4.0.17-fb47e1d906-e50925f441.zip and /dev/null differ diff --git a/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-4cafc7c985.zip b/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-4cafc7c985.zip new file mode 100644 index 000000000..933564838 Binary files /dev/null and b/.yarn/cache/@vitest-pretty-format-npm-4.0.18-a73855e4a4-4cafc7c985.zip differ diff --git a/.yarn/cache/@vitest-runner-npm-4.0.17-d25da0ba46-75c62ac09b.zip b/.yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-d7deebf086.zip similarity index 96% rename from .yarn/cache/@vitest-runner-npm-4.0.17-d25da0ba46-75c62ac09b.zip rename to .yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-d7deebf086.zip index 9564cfdc3..fd61fc011 100644 Binary files a/.yarn/cache/@vitest-runner-npm-4.0.17-d25da0ba46-75c62ac09b.zip and b/.yarn/cache/@vitest-runner-npm-4.0.18-3dbdf3fb30-d7deebf086.zip differ diff --git a/.yarn/cache/@vitest-snapshot-npm-4.0.17-10d3668aa3-0cda8970f4.zip b/.yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-50aa5fb7fc.zip similarity index 96% rename from .yarn/cache/@vitest-snapshot-npm-4.0.17-10d3668aa3-0cda8970f4.zip rename to .yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-50aa5fb7fc.zip index 56eb9fd66..3dfd6c15d 100644 Binary files a/.yarn/cache/@vitest-snapshot-npm-4.0.17-10d3668aa3-0cda8970f4.zip and b/.yarn/cache/@vitest-snapshot-npm-4.0.18-35134202ed-50aa5fb7fc.zip differ diff --git a/.yarn/cache/@vitest-spy-npm-4.0.17-85c387d906-23313980c5.zip b/.yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-f7b1618ae1.zip similarity index 94% rename from .yarn/cache/@vitest-spy-npm-4.0.17-85c387d906-23313980c5.zip rename to .yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-f7b1618ae1.zip index b99dad0e1..cabab6646 100644 Binary files a/.yarn/cache/@vitest-spy-npm-4.0.17-85c387d906-23313980c5.zip and b/.yarn/cache/@vitest-spy-npm-4.0.18-296c59dce4-f7b1618ae1.zip differ diff --git a/.yarn/cache/@vitest-utils-npm-4.0.17-9f377c3c9c-b8b96f8c2c.zip b/.yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-e8b2ad7bc3.zip similarity index 98% rename from .yarn/cache/@vitest-utils-npm-4.0.17-9f377c3c9c-b8b96f8c2c.zip rename to .yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-e8b2ad7bc3.zip index efb9d2e0c..c61d50e0f 100644 Binary files a/.yarn/cache/@vitest-utils-npm-4.0.17-9f377c3c9c-b8b96f8c2c.zip and b/.yarn/cache/@vitest-utils-npm-4.0.18-b1c99a49e0-e8b2ad7bc3.zip differ diff --git a/.yarn/cache/any-promise-npm-1.3.0-f34eeaa7e7-6737469ba3.zip b/.yarn/cache/any-promise-npm-1.3.0-f34eeaa7e7-6737469ba3.zip new file mode 100644 index 000000000..e93b1e228 Binary files /dev/null and b/.yarn/cache/any-promise-npm-1.3.0-f34eeaa7e7-6737469ba3.zip differ diff --git a/.yarn/cache/bundle-require-npm-5.1.0-022b2c8e1b-735e022005.zip b/.yarn/cache/bundle-require-npm-5.1.0-022b2c8e1b-735e022005.zip new file mode 100644 index 000000000..6d3fbfaba Binary files /dev/null and b/.yarn/cache/bundle-require-npm-5.1.0-022b2c8e1b-735e022005.zip differ diff --git a/.yarn/cache/chokidar-npm-4.0.3-962354fbb4-bf2a575ea5.zip b/.yarn/cache/chokidar-npm-4.0.3-962354fbb4-bf2a575ea5.zip new file mode 100644 index 000000000..0085cb689 Binary files /dev/null and b/.yarn/cache/chokidar-npm-4.0.3-962354fbb4-bf2a575ea5.zip differ diff --git a/.yarn/cache/commander-npm-13.1.0-bdbbfaaf9d-d3b4b79e6b.zip b/.yarn/cache/commander-npm-13.1.0-bdbbfaaf9d-d3b4b79e6b.zip new file mode 100644 index 000000000..5ff7f5b04 Binary files /dev/null and b/.yarn/cache/commander-npm-13.1.0-bdbbfaaf9d-d3b4b79e6b.zip differ diff --git a/.yarn/cache/commander-npm-4.1.1-22a0fe921b-3b2dc4125f.zip b/.yarn/cache/commander-npm-4.1.1-22a0fe921b-3b2dc4125f.zip new file mode 100644 index 000000000..c893cc7fc Binary files /dev/null and b/.yarn/cache/commander-npm-4.1.1-22a0fe921b-3b2dc4125f.zip differ diff --git a/.yarn/cache/confbox-npm-0.1.8-8396039b68-4ebcfb1c6a.zip b/.yarn/cache/confbox-npm-0.1.8-8396039b68-4ebcfb1c6a.zip new file mode 100644 index 000000000..190ec9ef4 Binary files /dev/null and b/.yarn/cache/confbox-npm-0.1.8-8396039b68-4ebcfb1c6a.zip differ diff --git a/.yarn/cache/consola-npm-3.4.2-133d72719e-32192c9f50.zip b/.yarn/cache/consola-npm-3.4.2-133d72719e-32192c9f50.zip new file mode 100644 index 000000000..51736da15 Binary files /dev/null and b/.yarn/cache/consola-npm-3.4.2-133d72719e-32192c9f50.zip differ diff --git a/.yarn/cache/fix-dts-default-cjs-exports-npm-1.0.1-421fe0399f-3324418bb6.zip b/.yarn/cache/fix-dts-default-cjs-exports-npm-1.0.1-421fe0399f-3324418bb6.zip new file mode 100644 index 000000000..e5fb69592 Binary files /dev/null and b/.yarn/cache/fix-dts-default-cjs-exports-npm-1.0.1-421fe0399f-3324418bb6.zip differ diff --git a/.yarn/cache/framer-plugin-tools-npm-1.0.0-09c6263530-5f6b731038.zip b/.yarn/cache/framer-plugin-tools-npm-1.0.0-09c6263530-5f6b731038.zip deleted file mode 100644 index a03f5dc85..000000000 Binary files a/.yarn/cache/framer-plugin-tools-npm-1.0.0-09c6263530-5f6b731038.zip and /dev/null differ diff --git a/.yarn/cache/get-tsconfig-npm-4.13.2-7292f60580-7d7b2bd6ad.zip b/.yarn/cache/get-tsconfig-npm-4.13.2-7292f60580-7d7b2bd6ad.zip new file mode 100644 index 000000000..2461938df Binary files /dev/null and b/.yarn/cache/get-tsconfig-npm-4.13.2-7292f60580-7d7b2bd6ad.zip differ diff --git a/.yarn/cache/joycon-npm-3.1.1-3033e0e5f4-4b36e34791.zip b/.yarn/cache/joycon-npm-3.1.1-3033e0e5f4-4b36e34791.zip new file mode 100644 index 000000000..e36528235 Binary files /dev/null and b/.yarn/cache/joycon-npm-3.1.1-3033e0e5f4-4b36e34791.zip differ diff --git a/.yarn/cache/lilconfig-npm-3.1.3-74a77377bb-b932ce1af9.zip b/.yarn/cache/lilconfig-npm-3.1.3-74a77377bb-b932ce1af9.zip new file mode 100644 index 000000000..8b9c8cd32 Binary files /dev/null and b/.yarn/cache/lilconfig-npm-3.1.3-74a77377bb-b932ce1af9.zip differ diff --git a/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip b/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip new file mode 100644 index 000000000..273106a73 Binary files /dev/null and b/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip differ diff --git a/.yarn/cache/load-tsconfig-npm-0.2.5-70feef5c98-b3176f6f0c.zip b/.yarn/cache/load-tsconfig-npm-0.2.5-70feef5c98-b3176f6f0c.zip new file mode 100644 index 000000000..b16725bda Binary files /dev/null and b/.yarn/cache/load-tsconfig-npm-0.2.5-70feef5c98-b3176f6f0c.zip differ diff --git a/.yarn/cache/mlly-npm-1.8.0-448698f313-4db690a421.zip b/.yarn/cache/mlly-npm-1.8.0-448698f313-4db690a421.zip new file mode 100644 index 000000000..0fd3cf77e Binary files /dev/null and b/.yarn/cache/mlly-npm-1.8.0-448698f313-4db690a421.zip differ diff --git a/.yarn/cache/mz-npm-2.7.0-ec3cef4ec2-8427de0ece.zip b/.yarn/cache/mz-npm-2.7.0-ec3cef4ec2-8427de0ece.zip new file mode 100644 index 000000000..faf79cab2 Binary files /dev/null and b/.yarn/cache/mz-npm-2.7.0-ec3cef4ec2-8427de0ece.zip differ diff --git a/.yarn/cache/pirates-npm-4.0.7-5e4ee2f078-2427f37136.zip b/.yarn/cache/pirates-npm-4.0.7-5e4ee2f078-2427f37136.zip new file mode 100644 index 000000000..09e815a1f Binary files /dev/null and b/.yarn/cache/pirates-npm-4.0.7-5e4ee2f078-2427f37136.zip differ diff --git a/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-6d491f2244.zip b/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-6d491f2244.zip new file mode 100644 index 000000000..b0eafe50e Binary files /dev/null and b/.yarn/cache/pkg-types-npm-1.3.1-832c9cd162-6d491f2244.zip differ diff --git a/.yarn/cache/postcss-load-config-npm-6.0.1-50722afd05-1691cfc949.zip b/.yarn/cache/postcss-load-config-npm-6.0.1-50722afd05-1691cfc949.zip new file mode 100644 index 000000000..6b91d0558 Binary files /dev/null and b/.yarn/cache/postcss-load-config-npm-6.0.1-50722afd05-1691cfc949.zip differ diff --git a/.yarn/cache/prettier-npm-3.7.4-78f94d4194-b4d00ea13b.zip b/.yarn/cache/prettier-npm-3.8.1-04022a855f-3da1cf8c1e.zip similarity index 83% rename from .yarn/cache/prettier-npm-3.7.4-78f94d4194-b4d00ea13b.zip rename to .yarn/cache/prettier-npm-3.8.1-04022a855f-3da1cf8c1e.zip index fde1fe689..d29087728 100644 Binary files a/.yarn/cache/prettier-npm-3.7.4-78f94d4194-b4d00ea13b.zip and b/.yarn/cache/prettier-npm-3.8.1-04022a855f-3da1cf8c1e.zip differ diff --git a/.yarn/cache/readdirp-npm-4.1.2-3440472afe-7b817c2659.zip b/.yarn/cache/readdirp-npm-4.1.2-3440472afe-7b817c2659.zip new file mode 100644 index 000000000..7ea4264a0 Binary files /dev/null and b/.yarn/cache/readdirp-npm-4.1.2-3440472afe-7b817c2659.zip differ diff --git a/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-be18a5e4d7.zip b/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-be18a5e4d7.zip new file mode 100644 index 000000000..eca225319 Binary files /dev/null and b/.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-be18a5e4d7.zip differ diff --git a/.yarn/cache/rolldown-npm-1.0.0-rc.1-200c3e039e-669a5f8e79.zip b/.yarn/cache/rolldown-npm-1.0.0-rc.1-200c3e039e-669a5f8e79.zip deleted file mode 100644 index b1f24d133..000000000 Binary files a/.yarn/cache/rolldown-npm-1.0.0-rc.1-200c3e039e-669a5f8e79.zip and /dev/null differ diff --git a/.yarn/cache/rolldown-npm-1.0.0-rc.3-6317e18d22-28c88da3dc.zip b/.yarn/cache/rolldown-npm-1.0.0-rc.3-6317e18d22-28c88da3dc.zip new file mode 100644 index 000000000..4178d5744 Binary files /dev/null and b/.yarn/cache/rolldown-npm-1.0.0-rc.3-6317e18d22-28c88da3dc.zip differ diff --git a/.yarn/cache/rolldown-plugin-dts-npm-0.21.8-261945d964-a26149f786.zip b/.yarn/cache/rolldown-plugin-dts-npm-0.21.8-261945d964-a26149f786.zip deleted file mode 100644 index 587d1c271..000000000 Binary files a/.yarn/cache/rolldown-plugin-dts-npm-0.21.8-261945d964-a26149f786.zip and /dev/null differ diff --git a/.yarn/cache/rolldown-plugin-dts-npm-0.22.1-538d81df8c-e180a99005.zip b/.yarn/cache/rolldown-plugin-dts-npm-0.22.1-538d81df8c-e180a99005.zip new file mode 100644 index 000000000..3b04c7809 Binary files /dev/null and b/.yarn/cache/rolldown-plugin-dts-npm-0.22.1-538d81df8c-e180a99005.zip differ diff --git a/.yarn/cache/rollup-npm-4.57.1-8b254d8a63-0451371339.zip b/.yarn/cache/rollup-npm-4.57.1-8b254d8a63-0451371339.zip new file mode 100644 index 000000000..d3287fa34 Binary files /dev/null and b/.yarn/cache/rollup-npm-4.57.1-8b254d8a63-0451371339.zip differ diff --git a/.yarn/cache/source-map-npm-0.7.6-a3854be193-c8d2da7c57.zip b/.yarn/cache/source-map-npm-0.7.6-a3854be193-c8d2da7c57.zip new file mode 100644 index 000000000..84e26314f Binary files /dev/null and b/.yarn/cache/source-map-npm-0.7.6-a3854be193-c8d2da7c57.zip differ diff --git a/.yarn/cache/sucrase-npm-3.35.1-9a5f68e2af-539f5c6ebc.zip b/.yarn/cache/sucrase-npm-3.35.1-9a5f68e2af-539f5c6ebc.zip new file mode 100644 index 000000000..f1655abaa Binary files /dev/null and b/.yarn/cache/sucrase-npm-3.35.1-9a5f68e2af-539f5c6ebc.zip differ diff --git a/.yarn/cache/thenify-all-npm-1.6.0-96309bbc8b-dba7cc8a23.zip b/.yarn/cache/thenify-all-npm-1.6.0-96309bbc8b-dba7cc8a23.zip new file mode 100644 index 000000000..59a2bc6ce Binary files /dev/null and b/.yarn/cache/thenify-all-npm-1.6.0-96309bbc8b-dba7cc8a23.zip differ diff --git a/.yarn/cache/thenify-npm-3.3.1-030bedb22c-486e1283a8.zip b/.yarn/cache/thenify-npm-3.3.1-030bedb22c-486e1283a8.zip new file mode 100644 index 000000000..2c3ccdb73 Binary files /dev/null and b/.yarn/cache/thenify-npm-3.3.1-030bedb22c-486e1283a8.zip differ diff --git a/.yarn/cache/ts-interface-checker-npm-0.1.13-0c7b064494-9f7346b9e2.zip b/.yarn/cache/ts-interface-checker-npm-0.1.13-0c7b064494-9f7346b9e2.zip new file mode 100644 index 000000000..be45589c8 Binary files /dev/null and b/.yarn/cache/ts-interface-checker-npm-0.1.13-0c7b064494-9f7346b9e2.zip differ diff --git a/.yarn/cache/tsdown-npm-0.20.1-4cc070cc58-aa590e87a8.zip b/.yarn/cache/tsdown-npm-0.20.1-4cc070cc58-aa590e87a8.zip deleted file mode 100644 index 20252411c..000000000 Binary files a/.yarn/cache/tsdown-npm-0.20.1-4cc070cc58-aa590e87a8.zip and /dev/null differ diff --git a/.yarn/cache/tsdown-npm-0.20.3-11b719e36b-3d511dea76.zip b/.yarn/cache/tsdown-npm-0.20.3-11b719e36b-3d511dea76.zip new file mode 100644 index 000000000..c9168d04e Binary files /dev/null and b/.yarn/cache/tsdown-npm-0.20.3-11b719e36b-3d511dea76.zip differ diff --git a/.yarn/cache/tsup-npm-8.5.1-41f4f7d59b-f1927ec2dd.zip b/.yarn/cache/tsup-npm-8.5.1-41f4f7d59b-f1927ec2dd.zip new file mode 100644 index 000000000..59f92d172 Binary files /dev/null and b/.yarn/cache/tsup-npm-8.5.1-41f4f7d59b-f1927ec2dd.zip differ diff --git a/.yarn/cache/ufo-npm-1.6.3-29bac69d97-79803984f3.zip b/.yarn/cache/ufo-npm-1.6.3-29bac69d97-79803984f3.zip new file mode 100644 index 000000000..a6554f993 Binary files /dev/null and b/.yarn/cache/ufo-npm-1.6.3-29bac69d97-79803984f3.zip differ diff --git a/.yarn/cache/unrun-npm-0.2.26-f47f1d6f75-6cb3f58f3b.zip b/.yarn/cache/unrun-npm-0.2.26-f47f1d6f75-6cb3f58f3b.zip deleted file mode 100644 index 12c101766..000000000 Binary files a/.yarn/cache/unrun-npm-0.2.26-f47f1d6f75-6cb3f58f3b.zip and /dev/null differ diff --git a/.yarn/cache/unrun-npm-0.2.27-11dabf0dfa-70a589218b.zip b/.yarn/cache/unrun-npm-0.2.27-11dabf0dfa-70a589218b.zip new file mode 100644 index 000000000..fc2ac917c Binary files /dev/null and b/.yarn/cache/unrun-npm-0.2.27-11dabf0dfa-70a589218b.zip differ diff --git a/.yarn/cache/vitest-npm-4.0.17-5c1875fbc1-792cf5ecdb.zip b/.yarn/cache/vitest-npm-4.0.18-52f42bdace-6c6464ebcf.zip similarity index 63% rename from .yarn/cache/vitest-npm-4.0.17-5c1875fbc1-792cf5ecdb.zip rename to .yarn/cache/vitest-npm-4.0.18-52f42bdace-6c6464ebcf.zip index 6d7acddc9..df66e7cbf 100644 Binary files a/.yarn/cache/vitest-npm-4.0.17-5c1875fbc1-792cf5ecdb.zip and b/.yarn/cache/vitest-npm-4.0.18-52f42bdace-6c6464ebcf.zip differ diff --git a/package.json b/package.json index 97e4a16c2..cebf9614f 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "g:dev": "cd $INIT_CWD && run g:vite", "g:preview": "cd $INIT_CWD && run g:vite preview", "g:vite": "cd $INIT_CWD && NODE_OPTIONS='--no-warnings=ExperimentalWarning' vite --config ${VITE_CONFIG_PATH:-$PROJECT_CWD/packages/vite-config/src/index.ts}", + "g:pack": "cd $INIT_CWD && framer-plugin-tools pack", "preview": "turbo run preview --concurrency=40" }, "devDependencies": { @@ -29,6 +30,7 @@ "@framer/eslint-config": "workspace:*", "@framer/vite-config": "workspace:*", "eslint": "^9.35.0", + "framer-plugin-tools": "workspace:*", "jiti": "^2.5.1", "turbo": "^2.5.6", "typescript": "^5.9.2", diff --git a/packages/plugin-tools/Makefile b/packages/plugin-tools/Makefile new file mode 100644 index 000000000..28e8bcf69 --- /dev/null +++ b/packages/plugin-tools/Makefile @@ -0,0 +1,10 @@ +.PHONY: build publish publish-alpha + +build: + yarn build + +publish: + yarn npm publish + +publish-alpha: + yarn npm publish --tag alpha diff --git a/packages/plugin-tools/Readme.md b/packages/plugin-tools/Readme.md new file mode 100644 index 000000000..547c0409c --- /dev/null +++ b/packages/plugin-tools/Readme.md @@ -0,0 +1,42 @@ +# framer-plugin-tools + +CLI tools for building and packaging Framer plugins. + +## Installation + +```bash +npm install -g framer-plugin-tools +``` + +Or use directly with npx: + +```bash +npx framer-plugin-tools pack +``` + +## Usage + +### `pack` + +Builds your plugin and creates a `plugin.zip` file ready for submission to the Framer Marketplace. + +```bash +framer-plugin-tools pack +``` + +This command will: + +1. Run `npm run build` in the current directory +2. Create a `plugin.zip` from the `dist/` folder + +For custom options (e.g., custom build command, different output directory), run: + +```bash +framer-plugin-tools pack --help +``` + + +## Submitting Your Plugin + +After running `pack`, submit your plugin at: +https://www.framer.com/marketplace/dashboard/plugins/ diff --git a/packages/plugin-tools/package.json b/packages/plugin-tools/package.json new file mode 100644 index 000000000..ab0f08bf6 --- /dev/null +++ b/packages/plugin-tools/package.json @@ -0,0 +1,49 @@ +{ + "name": "framer-plugin-tools", + "version": "1.1.0", + "description": "CLI Tools for Framer Plugins", + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "bin": "dist/cli.js", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/framer/plugins.git", + "directory": "packages/plugin-tools" + }, + "scripts": { + "build": "tsup", + "check-vitest": "run g:check-vitest", + "check-biome": "run g:check-biome", + "check-eslint": "run g:check-eslint", + "check-typescript": "run g:check-typescript", + "prepublishOnly": "yarn run build" + }, + "author": "", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "dependencies": { + "@commander-js/extra-typings": "^13.1.0", + "adm-zip": "^0.5.16", + "commander": "^13.1.0" + }, + "devDependencies": { + "@types/adm-zip": "^0.5.7", + "@types/node": "^22.0.0", + "tsup": "^8.0.0", + "typescript": "^5.9.2", + "vitest": "^3.2.4" + } +} diff --git a/packages/plugin-tools/src/cli.ts b/packages/plugin-tools/src/cli.ts new file mode 100644 index 000000000..6e23afa12 --- /dev/null +++ b/packages/plugin-tools/src/cli.ts @@ -0,0 +1,43 @@ +import path from "node:path" +import { program } from "@commander-js/extra-typings" +import { runPluginBuildScript, zipPluginDistribution } from "./lib" + +const defaultDistDir = "dist" +const defaultOutputFilename = "plugin.zip" +const defaultCWD = process.cwd() + +program.name("framer-plugin-tools").description("CLI tools for Framer Plugins").version("1.1.0") + +program + .command("pack") + .alias("prepare") // Backwards compatibility but was never documented + .description("Build and package your plugin into a zip file for submission to the Framer Marketplace") + // Uppercase -C matches familiar git shorthands + .option("-C, --cwd ", "plugin project directory", defaultCWD) + .option("-d, --dist-dir ", "output directory of the build output", defaultDistDir) + .option("-b, --build-command ", "custom build command (e.g., 'npm run build:plugin')") + .option("--prebuilt", "skip the build step and only create the zip") + .option("-o, --output ", "output zip filename", defaultOutputFilename) + .action(async options => { + if (!options.prebuilt) { + console.log("Building your Plugin…") + await runPluginBuildScript(options.cwd, options.buildCommand) + } + + console.log(`Creating ${options.output} file…`) + + const zipFilePath = zipPluginDistribution({ + cwd: options.cwd, + distPath: options.distDir, + zipFileName: options.output, + }) + + const fileName = path.basename(zipFilePath) + const dirName = path.dirname(zipFilePath) + + console.log( + `\n⚡️ ${fileName} file has been created in ${dirName} \n Submit your Plugin on the Framer Marketplace: https://www.framer.com/marketplace/dashboard/plugins/` + ) + }) + +program.parse(process.argv) diff --git a/packages/plugin-tools/src/index.ts b/packages/plugin-tools/src/index.ts new file mode 100644 index 000000000..377fdb87b --- /dev/null +++ b/packages/plugin-tools/src/index.ts @@ -0,0 +1 @@ +export { runPluginBuildScript, zipPluginDistribution } from "./lib" diff --git a/packages/plugin-tools/src/lib.test.ts b/packages/plugin-tools/src/lib.test.ts new file mode 100644 index 000000000..62e667cce --- /dev/null +++ b/packages/plugin-tools/src/lib.test.ts @@ -0,0 +1,234 @@ +import fs from "node:fs" +import os from "node:os" +import path from "node:path" +import AdmZip from "adm-zip" +import { afterEach, beforeEach, describe, expect, it } from "vitest" +import { detectPackageManager, zipPluginDistribution } from "./lib" + +describe("detectPackageManager", () => { + let tmpDir: string + + beforeEach(() => { + tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "pm-detect-")) + }) + + afterEach(() => { + fs.rmSync(tmpDir, { recursive: true }) + }) + + it("detects yarn from yarn.lock", () => { + fs.writeFileSync(path.join(tmpDir, "yarn.lock"), "") + expect(detectPackageManager(tmpDir)).toBe("yarn") + }) + + it("detects pnpm from pnpm-lock.yaml", () => { + fs.writeFileSync(path.join(tmpDir, "pnpm-lock.yaml"), "") + expect(detectPackageManager(tmpDir)).toBe("pnpm") + }) + + it("detects bun from bun.lockb", () => { + fs.writeFileSync(path.join(tmpDir, "bun.lockb"), "") + expect(detectPackageManager(tmpDir)).toBe("bun") + }) + + it("detects bun from bun.lock", () => { + fs.writeFileSync(path.join(tmpDir, "bun.lock"), "") + expect(detectPackageManager(tmpDir)).toBe("bun") + }) + + it("detects npm from package-lock.json", () => { + fs.writeFileSync(path.join(tmpDir, "package-lock.json"), "{}") + expect(detectPackageManager(tmpDir)).toBe("npm") + }) + + it("defaults to npm when no lockfile found", () => { + expect(detectPackageManager(tmpDir)).toBe("npm") + }) + + it("finds lockfile in parent directory", () => { + const childDir = path.join(tmpDir, "packages", "child") + fs.mkdirSync(childDir, { recursive: true }) + fs.writeFileSync(path.join(tmpDir, "yarn.lock"), "") + expect(detectPackageManager(childDir)).toBe("yarn") + }) + + it("finds lockfile up to 2 levels up", () => { + const deepDir = path.join(tmpDir, "a", "b") + fs.mkdirSync(deepDir, { recursive: true }) + fs.writeFileSync(path.join(tmpDir, "pnpm-lock.yaml"), "") + expect(detectPackageManager(deepDir)).toBe("pnpm") + }) + + it("does not find lockfile more than 3 levels up", () => { + const deepDir = path.join(tmpDir, "a", "b", "c") + fs.mkdirSync(deepDir, { recursive: true }) + fs.writeFileSync(path.join(tmpDir, "yarn.lock"), "") + expect(detectPackageManager(deepDir)).toBe("npm") + }) + + it("prefers closer lockfile over parent", () => { + const childDir = path.join(tmpDir, "child") + fs.mkdirSync(childDir) + fs.writeFileSync(path.join(tmpDir, "yarn.lock"), "") + fs.writeFileSync(path.join(childDir, "pnpm-lock.yaml"), "") + expect(detectPackageManager(childDir)).toBe("pnpm") + }) +}) + +describe("zipPluginDistribution", () => { + let tmpDir: string + + beforeEach(() => { + tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "pack-plugin-")) + }) + + afterEach(() => { + fs.rmSync(tmpDir, { recursive: true }) + }) + + it("creates a ZIP file with correct contents", () => { + const distDir = path.join(tmpDir, "dist") + fs.mkdirSync(distDir) + fs.writeFileSync(path.join(distDir, "index.js"), "console.log('hello')") + fs.writeFileSync(path.join(distDir, "index.html"), "") + + const zipFilePath = zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "plugin.zip", + }) + + expect(fs.existsSync(zipFilePath)).toBe(true) + + const zip = new AdmZip(zipFilePath) + const entries = zip.getEntries().map(e => e.entryName) + expect(entries).toContain("index.js") + expect(entries).toContain("index.html") + + const jsContent = zip.readAsText("index.js") + expect(jsContent).toBe("console.log('hello')") + }) + + it("throws error when dist directory does not exist", () => { + expect(() => + zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "plugin.zip", + }) + ).toThrow(/does not exist/) + }) + + it("throws error when distPath is a file, not a directory", () => { + const filePath = path.join(tmpDir, "dist") + fs.writeFileSync(filePath, "i am a file") + + expect(() => + zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "plugin.zip", + }) + ).toThrow(/is not directory/) + }) + + it("respects custom output filename", () => { + const distDir = path.join(tmpDir, "dist") + fs.mkdirSync(distDir) + fs.writeFileSync(path.join(distDir, "index.js"), "") + + const zipFilePath = zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "my-custom-plugin.zip", + }) + + expect(zipFilePath).toBe(path.join(tmpDir, "my-custom-plugin.zip")) + expect(fs.existsSync(zipFilePath)).toBe(true) + }) + + it("handles nested directory structures", () => { + const distDir = path.join(tmpDir, "dist") + const nestedDir = path.join(distDir, "assets", "images") + fs.mkdirSync(nestedDir, { recursive: true }) + fs.writeFileSync(path.join(distDir, "index.js"), "") + fs.writeFileSync(path.join(nestedDir, "logo.png"), "fake-png-data") + + const zipFilePath = zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "plugin.zip", + }) + + const zip = new AdmZip(zipFilePath) + const entries = zip.getEntries().map(e => e.entryName) + expect(entries).toContain("index.js") + expect(entries).toContain("assets/images/logo.png") + }) + + it("returns correct zipPath", () => { + const distDir = path.join(tmpDir, "dist") + fs.mkdirSync(distDir) + fs.writeFileSync(path.join(distDir, "index.js"), "") + + const zipFilePath = zipPluginDistribution({ + cwd: tmpDir, + distPath: "dist", + zipFileName: "output.zip", + }) + + expect(zipFilePath).toBe(path.join(tmpDir, "output.zip")) + }) + + it("supports custom distPath", () => { + const buildDir = path.join(tmpDir, "build", "output") + fs.mkdirSync(buildDir, { recursive: true }) + fs.writeFileSync(path.join(buildDir, "bundle.js"), "bundled code") + + const zipFilePath = zipPluginDistribution({ + cwd: tmpDir, + distPath: "build/output", + zipFileName: "plugin.zip", + }) + + const zip = new AdmZip(zipFilePath) + const entries = zip.getEntries().map(e => e.entryName) + expect(entries).toContain("bundle.js") + }) + + it("uses absolute distPath directly without joining with cwd", () => { + const absoluteDistDir = path.join(tmpDir, "absolute-dist") + fs.mkdirSync(absoluteDistDir) + fs.writeFileSync(path.join(absoluteDistDir, "index.js"), "absolute content") + + const absoluteZipPath = path.join(tmpDir, "plugin.zip") + + const zipFilePath = zipPluginDistribution({ + cwd: "/some/other/path", + distPath: absoluteDistDir, + zipFileName: absoluteZipPath, + }) + + const zip = new AdmZip(zipFilePath) + const content = zip.readAsText("index.js") + expect(content).toBe("absolute content") + }) + + it("uses absolute zipFileName directly without joining with cwd", () => { + const distDir = path.join(tmpDir, "dist") + fs.mkdirSync(distDir) + fs.writeFileSync(path.join(distDir, "index.js"), "") + + const absoluteZipPath = path.join(tmpDir, "output", "my-plugin.zip") + fs.mkdirSync(path.dirname(absoluteZipPath), { recursive: true }) + + const zipFilePath = zipPluginDistribution({ + cwd: "/some/other/path", + distPath: distDir, + zipFileName: absoluteZipPath, + }) + + expect(zipFilePath).toBe(absoluteZipPath) + expect(fs.existsSync(absoluteZipPath)).toBe(true) + }) +}) diff --git a/packages/plugin-tools/src/lib.ts b/packages/plugin-tools/src/lib.ts new file mode 100644 index 000000000..cd2f86943 --- /dev/null +++ b/packages/plugin-tools/src/lib.ts @@ -0,0 +1,87 @@ +import AdmZip from "adm-zip" +import { exec } from "child_process" +import fs from "fs" +import path from "path" + +/** + * Naive package manager detection by checking for lock files in the current directory and parent directories. + * @param cwd - The current working directory. + * @returns the package manager entrypoint CLI command. + */ +export function detectPackageManager(cwd: string): string { + let dir = cwd + + // Check up to 3 levels of parent directories for a lock file to support monorepo setups + for (let i = 0; i < 3; i++) { + const hasFile = (name: string) => fs.existsSync(path.join(dir, name)) + + if (hasFile("yarn.lock")) return "yarn" + if (hasFile("pnpm-lock.yaml")) return "pnpm" + if (hasFile("bun.lockb") || hasFile("bun.lock")) return "bun" + if (hasFile("package-lock.json")) return "npm" + + const parent = path.dirname(dir) + if (parent === dir) break + dir = parent + } + return "npm" +} + +interface ZipPluginDistributionOptions { + cwd: string + distPath: string + zipFileName: string +} + +export function zipPluginDistribution(options: ZipPluginDistributionOptions): string { + const distPath = path.isAbsolute(options.distPath) ? options.distPath : path.join(options.cwd, options.distPath) + + if (!fs.existsSync(distPath)) { + throw new Error(`${distPath} does not exist`) + } + + if (!fs.statSync(distPath).isDirectory()) { + throw new Error(`${distPath} is not directory`) + } + + const zipFilePath = path.isAbsolute(options.zipFileName) + ? options.zipFileName + : path.join(options.cwd, options.zipFileName) + + const zip = new AdmZip() + zip.addLocalFolder(distPath) + zip.writeZip(zipFilePath) + + return zipFilePath +} + +export function runPluginBuildScript(cwd: string, buildCommandOverride?: string): Promise { + let buildCommand: string + if (buildCommandOverride) { + buildCommand = buildCommandOverride + console.log(`Using custom build command: ${buildCommand}`) + } else { + const packageManager = detectPackageManager(cwd) + console.log(`Detected package manager: ${packageManager}`) + buildCommand = `${packageManager} run build` + } + + return new Promise((resolve, reject) => { + const buildProcess = exec(buildCommand, { cwd }) + + buildProcess.stdout?.on("data", (data: string) => process.stdout.write(data)) + buildProcess.stderr?.on("data", (data: string) => process.stderr.write(data)) + + buildProcess.on("exit", code => { + if (code !== 0) { + reject(new Error(`Failed to build Plugin. Exit code: ${code ?? "unknown"}`)) + return + } + resolve() + }) + + buildProcess.on("error", err => { + reject(new Error(`Failed to start build process: ${err.message}`)) + }) + }) +} diff --git a/packages/plugin-tools/tsconfig.json b/packages/plugin-tools/tsconfig.json new file mode 100644 index 000000000..69ad5d606 --- /dev/null +++ b/packages/plugin-tools/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "include": ["src", "*"] +} diff --git a/packages/plugin-tools/tsup.config.ts b/packages/plugin-tools/tsup.config.ts new file mode 100644 index 000000000..03198ab57 --- /dev/null +++ b/packages/plugin-tools/tsup.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from "tsup" + +export default defineConfig([ + // CLI binary + { + entry: { cli: "src/cli.ts" }, + format: ["esm"], + target: "node22", + banner: { + js: "#!/usr/bin/env node", + }, + }, + // Library exports + { + entry: { index: "src/index.ts" }, + format: ["esm"], + target: "node22", + dts: true, + }, +]) diff --git a/plugins/3rd-party-optimizer/package.json b/plugins/3rd-party-optimizer/package.json index 2a2d8562a..7913d0b44 100644 --- a/plugins/3rd-party-optimizer/package.json +++ b/plugins/3rd-party-optimizer/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "VITE_CONFIG_PATH=$(pwd)/vite.config.ts run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/airtable/package.json b/plugins/airtable/package.json index a0dce0de0..4ae86ea8d 100644 --- a/plugins/airtable/package.json +++ b/plugins/airtable/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript", "check-vitest": "vitest run" }, diff --git a/plugins/ascii/package.json b/plugins/ascii/package.json index 141c68b61..d89cf1bc7 100644 --- a/plugins/ascii/package.json +++ b/plugins/ascii/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/ashby/package.json b/plugins/ashby/package.json index 5e69275c3..645ea086a 100644 --- a/plugins/ashby/package.json +++ b/plugins/ashby/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript", "check-vitest": "run g:check-vitest" }, diff --git a/plugins/cms-export/package.json b/plugins/cms-export/package.json index 804c7cbda..0fb7fb240 100644 --- a/plugins/cms-export/package.json +++ b/plugins/cms-export/package.json @@ -8,7 +8,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/code-link/package.json b/plugins/code-link/package.json index 35378a578..d99636f96 100644 --- a/plugins/code-link/package.json +++ b/plugins/code-link/package.json @@ -10,7 +10,7 @@ "check-eslint": "run g:check-eslint", "check-typescript": "run g:check-typescript", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack" + "pack": "run g:pack" }, "dependencies": { "@code-link/shared": "workspace:*", diff --git a/plugins/code-versions/package.json b/plugins/code-versions/package.json index 51bfbb76c..9a2cd134f 100644 --- a/plugins/code-versions/package.json +++ b/plugins/code-versions/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript", "check-vitest": "run g:check-vitest", "test-watch": "vitest" diff --git a/plugins/color-extract/package.json b/plugins/color-extract/package.json index a4876675b..9b13c57b7 100644 --- a/plugins/color-extract/package.json +++ b/plugins/color-extract/package.json @@ -10,7 +10,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/concentric/package.json b/plugins/concentric/package.json index 1a032235b..58ed1391e 100644 --- a/plugins/concentric/package.json +++ b/plugins/concentric/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/csv-import/package.json b/plugins/csv-import/package.json index 1281b9e56..437c5ad0b 100644 --- a/plugins/csv-import/package.json +++ b/plugins/csv-import/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript", "autofix": "run check-biome --fix && run g:check-eslint --fix" }, diff --git a/plugins/design-system/package.json b/plugins/design-system/package.json index c67a466f2..26ee6e042 100644 --- a/plugins/design-system/package.json +++ b/plugins/design-system/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/dither/package.json b/plugins/dither/package.json index 2409bf68f..bf428cdba 100644 --- a/plugins/dither/package.json +++ b/plugins/dither/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/doodles/package.json b/plugins/doodles/package.json index c89f33cce..058118dd1 100644 --- a/plugins/doodles/package.json +++ b/plugins/doodles/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/flip-image/package.json b/plugins/flip-image/package.json index b6a69ef01..ccba1e543 100644 --- a/plugins/flip-image/package.json +++ b/plugins/flip-image/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/global-search/package.json b/plugins/global-search/package.json index ddc08860c..9e40b5b92 100644 --- a/plugins/global-search/package.json +++ b/plugins/global-search/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript", "check-vitest": "run g:check-vitest" }, diff --git a/plugins/google-search-console/package.json b/plugins/google-search-console/package.json index 17656be68..2ba3dcd6a 100644 --- a/plugins/google-search-console/package.json +++ b/plugins/google-search-console/package.json @@ -8,7 +8,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/google-sheets/package.json b/plugins/google-sheets/package.json index 7adb90fb4..c1725c4f6 100644 --- a/plugins/google-sheets/package.json +++ b/plugins/google-sheets/package.json @@ -7,7 +7,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/greenhouse/package.json b/plugins/greenhouse/package.json index e08ee9e6c..deccec000 100644 --- a/plugins/greenhouse/package.json +++ b/plugins/greenhouse/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/hubspot/package.json b/plugins/hubspot/package.json index 69a5edada..684fa13c9 100644 --- a/plugins/hubspot/package.json +++ b/plugins/hubspot/package.json @@ -8,7 +8,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/locale-sync/package.json b/plugins/locale-sync/package.json index bd9f338f8..430adb6c6 100644 --- a/plugins/locale-sync/package.json +++ b/plugins/locale-sync/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/notion/package.json b/plugins/notion/package.json index b818bb1ee..2163612a1 100644 --- a/plugins/notion/package.json +++ b/plugins/notion/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "framer-plugin-tools pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { @@ -21,7 +21,6 @@ }, "devDependencies": { "@types/react": "^18.3.24", - "@types/react-dom": "^18.3.7", - "framer-plugin-tools": "^1.0.0" + "@types/react-dom": "^18.3.7" } } diff --git a/plugins/phosphor/package.json b/plugins/phosphor/package.json index e49ceba0b..c8ef95bdf 100644 --- a/plugins/phosphor/package.json +++ b/plugins/phosphor/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/photobooth/package.json b/plugins/photobooth/package.json index a6572b29e..21bb3f6f3 100644 --- a/plugins/photobooth/package.json +++ b/plugins/photobooth/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/pong/package.json b/plugins/pong/package.json index 7e36616f5..8d83c8c6f 100644 --- a/plugins/pong/package.json +++ b/plugins/pong/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/prco/package.json b/plugins/prco/package.json index 6fefe758b..71e9acb7b 100644 --- a/plugins/prco/package.json +++ b/plugins/prco/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/recruitee/package.json b/plugins/recruitee/package.json index a03d2af3d..7e7de188b 100644 --- a/plugins/recruitee/package.json +++ b/plugins/recruitee/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/redirect-sync/package.json b/plugins/redirect-sync/package.json index 2cf7ee87b..980feb13f 100644 --- a/plugins/redirect-sync/package.json +++ b/plugins/redirect-sync/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { diff --git a/plugins/renamer/package.json b/plugins/renamer/package.json index d420df012..c658af48c 100644 --- a/plugins/renamer/package.json +++ b/plugins/renamer/package.json @@ -9,7 +9,7 @@ "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", "preview": "run g:preview", - "pack": "framer-plugin-tools pack", + "pack": "run g:pack", "check-typescript": "run g:check-typescript" }, "dependencies": { @@ -20,7 +20,6 @@ }, "devDependencies": { "@types/react": "^18.3.24", - "@types/react-dom": "^18.3.7", - "framer-plugin-tools": "^1.0.0" + "@types/react-dom": "^18.3.7" } } diff --git a/plugins/rss-feeds/package.json b/plugins/rss-feeds/package.json index 3847adb0a..6293b9906 100644 --- a/plugins/rss-feeds/package.json +++ b/plugins/rss-feeds/package.json @@ -8,7 +8,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/threshold/package.json b/plugins/threshold/package.json index 52d44684d..e07f0642c 100644 --- a/plugins/threshold/package.json +++ b/plugins/threshold/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/tidyup/package.json b/plugins/tidyup/package.json index 7c076e734..0d244c4d1 100644 --- a/plugins/tidyup/package.json +++ b/plugins/tidyup/package.json @@ -8,7 +8,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/plugins/unsplash/package.json b/plugins/unsplash/package.json index e3fac29c7..c3dae6416 100644 --- a/plugins/unsplash/package.json +++ b/plugins/unsplash/package.json @@ -9,7 +9,7 @@ "build": "run g:build", "check-biome": "run g:check-biome", "check-eslint": "run g:check-eslint", - "pack": "npx framer-plugin-tools@latest pack", + "pack": "run g:pack", "preview": "run g:preview", "check-typescript": "run g:check-typescript" }, diff --git a/starters/cms/package.json b/starters/cms/package.json index 4ea06ed3e..153eb5cd7 100644 --- a/starters/cms/package.json +++ b/starters/cms/package.json @@ -11,7 +11,7 @@ "check-eslint": "DEBUG='eslint:eslint' eslint --max-warnings 0 .", "check-prettier": "prettier --check .", "check-typescript": "tsc", - "pack": "framer-plugin-tools pack", + "pack": "run g:pack", "preview": "vite preview" }, "dependencies": { @@ -27,7 +27,6 @@ "eslint": "^9.35.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", - "framer-plugin-tools": "^1.0.0", "globals": "^16.4.0", "jiti": "^2.5.1", "prettier": "^3.6.2", diff --git a/turbo.json b/turbo.json index 9313aa303..ff979a2df 100644 --- a/turbo.json +++ b/turbo.json @@ -31,6 +31,10 @@ "cache": false, "persistent": true }, - "check-vitest": {} + "check-vitest": {}, + "pack": { + "dependsOn": ["framer-plugin-tools#build"], + "cache": false + } } } diff --git a/yarn.lock b/yarn.lock index ed64fedd2..a54d49bcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,53 +51,42 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:8.0.0-beta.4": - version: 8.0.0-beta.4 - resolution: "@babel/generator@npm:8.0.0-beta.4" +"@babel/generator@npm:8.0.0-rc.1": + version: 8.0.0-rc.1 + resolution: "@babel/generator@npm:8.0.0-rc.1" dependencies: - "@babel/parser": "npm:^8.0.0-beta.4" - "@babel/types": "npm:^8.0.0-beta.4" + "@babel/parser": "npm:^8.0.0-rc.1" + "@babel/types": "npm:^8.0.0-rc.1" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" "@types/jsesc": "npm:^2.5.0" jsesc: "npm:^3.0.2" - checksum: 10/79a2130a454f43f80c4d4289eaa3b83afd7ed27e62878c0b070108ee321a3602e3edbcff213a80b16c2b0a7913ef3150ccb14cef3cdccc155c296d0fbb96cac6 + checksum: 10/1949ed7a0731e2825b263b8095be9fba0ed6fc1bb4dc1c6ea9fa554cb6d34aed3f9bf72ff1ce343bc31dbe604ebb0138b98f4b77c496ae31e6576ef6a9c0dd20 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^8.0.0-beta.4, @babel/helper-string-parser@npm:^8.0.0-rc.1": +"@babel/helper-string-parser@npm:^8.0.0-rc.1": version: 8.0.0-rc.1 resolution: "@babel/helper-string-parser@npm:8.0.0-rc.1" checksum: 10/9c7b34ecce6a1a03a3a2fbd2f09f46bb47a961f432ee2c279e120855c40258b1715cd1bf2ed27618c03ee13d4310356381ad123ec37648d2756c5594bd128682 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-validator-identifier@npm:7.27.1" - checksum: 10/75041904d21bdc0cd3b07a8ac90b11d64cd3c881e89cb936fa80edd734bf23c35e6bd1312611e8574c4eab1f3af0f63e8a5894f4699e9cfdf70c06fcf4252320 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^8.0.0-beta.4, @babel/helper-validator-identifier@npm:^8.0.0-rc.1": +"@babel/helper-validator-identifier@npm:8.0.0-rc.1, @babel/helper-validator-identifier@npm:^8.0.0-rc.1": version: 8.0.0-rc.1 resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.1" checksum: 10/75d6d5201c64fec916b539210b77f41585b3fc31f197c17a874e1ace818014080dba5909eb24f84daad451810f2e9b7f09a2b3f23978b9c9c9875ed63d3f83fb languageName: node linkType: hard -"@babel/parser@npm:8.0.0-beta.4": - version: 8.0.0-beta.4 - resolution: "@babel/parser@npm:8.0.0-beta.4" - dependencies: - "@babel/types": "npm:^8.0.0-beta.4" - bin: - parser: ./bin/babel-parser.js - checksum: 10/41ea150c87ad2153efa245013fc6f6fa5be303403e2de0c4f2547f8529b92f242ae7a8a19f076a0bf63c494595fe40924421a6fbf4bc944378570d9df7849b82 +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10/75041904d21bdc0cd3b07a8ac90b11d64cd3c881e89cb936fa80edd734bf23c35e6bd1312611e8574c4eab1f3af0f63e8a5894f4699e9cfdf70c06fcf4252320 languageName: node linkType: hard -"@babel/parser@npm:^8.0.0-beta.4": +"@babel/parser@npm:8.0.0-rc.1, @babel/parser@npm:^8.0.0-beta.4, @babel/parser@npm:^8.0.0-rc.1": version: 8.0.0-rc.1 resolution: "@babel/parser@npm:8.0.0-rc.1" dependencies: @@ -115,17 +104,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:8.0.0-beta.4": - version: 8.0.0-beta.4 - resolution: "@babel/types@npm:8.0.0-beta.4" - dependencies: - "@babel/helper-string-parser": "npm:^8.0.0-beta.4" - "@babel/helper-validator-identifier": "npm:^8.0.0-beta.4" - checksum: 10/31222a70050c3845c44c1339a7bc75bc6bcea48da754f8e8d59e36605d3bac9ce29707078a6ef44ddb102f6493aea508e73e35ea849683d3844cb412f35f85ce - languageName: node - linkType: hard - -"@babel/types@npm:^8.0.0-beta.4, @babel/types@npm:^8.0.0-rc.1": +"@babel/types@npm:8.0.0-rc.1, @babel/types@npm:^8.0.0-rc.1": version: 8.0.0-rc.1 resolution: "@babel/types@npm:8.0.0-rc.1" dependencies: @@ -235,6 +214,15 @@ __metadata: languageName: unknown linkType: soft +"@commander-js/extra-typings@npm:^13.1.0": + version: 13.1.0 + resolution: "@commander-js/extra-typings@npm:13.1.0" + peerDependencies: + commander: ~13.1.0 + checksum: 10/cdb7f854ac6c0b60c073ae928f2b836517ae7c1a8e86eb603144337fc87087ab9adebce67ed60d35beb82d80ef834ec40e7c20ef6053f4b115def21f1cd1d25f + languageName: node + linkType: hard + "@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.4.5": version: 1.5.0 resolution: "@emnapi/core@npm:1.5.0" @@ -881,7 +869,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -1031,10 +1019,10 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.110.0": - version: 0.110.0 - resolution: "@oxc-project/types@npm:0.110.0" - checksum: 10/427a130ca22bfbc1c67652309022a7d9ed452ec9fcb05cd13e9601bfb3a68a3755a50e731a10e84849937850c55b0cfc24f708e3e84710b229790f7fac22c423 +"@oxc-project/types@npm:=0.112.0": + version: 0.112.0 + resolution: "@oxc-project/types@npm:0.112.0" + checksum: 10/59549821692604d6715791bb28f06c973e9664fc3a08b0b992b3079058f66c5b9b5ce8c63fd0056ff4da2c6943eaf71ff071c9bad1cb4ee2346d388014c7ec9e languageName: node linkType: hard @@ -2395,95 +2383,95 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.1" +"@rolldown/binding-android-arm64@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.1" +"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.1" +"@rolldown/binding-darwin-x64@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.1" +"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.1" +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.3" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.1" +"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.1" +"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.1" +"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.1" +"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.1" +"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.3" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.1" +"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.3" dependencies: "@napi-rs/wasm-runtime": "npm:^1.1.1" conditions: cpu=wasm32 languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.1" +"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.1" +"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2495,10 +2483,10 @@ __metadata: languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "@rolldown/pluginutils@npm:1.0.0-rc.1" - checksum: 10/b8fdae059c580d60815210da501d287564b034f2a83221862484f0a3a4efbd6d6c6c6ef7a695645c8ad94f1fc45aea440f0141df46774c151099cae68e40daba +"@rolldown/pluginutils@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.3" + checksum: 10/b181a693b70e0e5de736458d46b31f72862cd7f36f955656f61ccbf4de11d9206bc3b55404317a65e5714559490444e9fdd83b4097706496e96b082fb584d049 languageName: node linkType: hard @@ -2509,6 +2497,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.57.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@rollup/rollup-android-arm64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-android-arm64@npm:4.50.2" @@ -2516,6 +2511,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-android-arm64@npm:4.57.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-darwin-arm64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-darwin-arm64@npm:4.50.2" @@ -2523,6 +2525,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-darwin-arm64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.57.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-darwin-x64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-darwin-x64@npm:4.50.2" @@ -2530,6 +2539,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-darwin-x64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.57.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-freebsd-arm64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.2" @@ -2537,6 +2553,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-freebsd-arm64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.57.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-freebsd-x64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-freebsd-x64@npm:4.50.2" @@ -2544,6 +2567,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-freebsd-x64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.57.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.2" @@ -2551,6 +2581,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm-gnueabihf@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.57.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-arm-musleabihf@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.2" @@ -2558,6 +2595,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm-musleabihf@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.57.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-arm64-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.2" @@ -2565,6 +2609,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.57.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-arm64-musl@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.2" @@ -2572,6 +2623,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-arm64-musl@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.57.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-loong64-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.50.2" @@ -2579,6 +2637,20 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-loong64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.57.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.57.1" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-ppc64-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.2" @@ -2586,6 +2658,20 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-ppc64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.57.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.57.1" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-riscv64-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.2" @@ -2593,6 +2679,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-riscv64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.57.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-riscv64-musl@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.2" @@ -2600,6 +2693,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-riscv64-musl@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.57.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-s390x-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.2" @@ -2607,6 +2707,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-s390x-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.57.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-x64-gnu@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.2" @@ -2614,6 +2721,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-x64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.57.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rollup/rollup-linux-x64-musl@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.2" @@ -2621,6 +2735,20 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-linux-x64-musl@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.57.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.57.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-openharmony-arm64@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.2" @@ -2628,6 +2756,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-openharmony-arm64@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.57.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-win32-arm64-msvc@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.2" @@ -2635,6 +2770,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-arm64-msvc@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.57.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rollup/rollup-win32-ia32-msvc@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.2" @@ -2642,6 +2784,20 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-ia32-msvc@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.57.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.57.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rollup/rollup-win32-x64-msvc@npm:4.50.2": version: 4.50.2 resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.2" @@ -2649,6 +2805,13 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-win32-x64-msvc@npm:4.57.1": + version: 4.57.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.57.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@standard-schema/spec@npm:^1.0.0": version: 1.0.0 resolution: "@standard-schema/spec@npm:1.0.0" @@ -3066,6 +3229,15 @@ __metadata: languageName: node linkType: hard +"@types/adm-zip@npm:^0.5.7": + version: 0.5.7 + resolution: "@types/adm-zip@npm:0.5.7" + dependencies: + "@types/node": "npm:*" + checksum: 10/24e9842bd6838879c60fe833af267489d8bc6b582d5feac6179543bf7a0b01a749931a9c6f21a20b8454e83925937a63bae0190493fa269d33a35c6daf4df209 + languageName: node + linkType: hard + "@types/aria-query@npm:^5.0.1": version: 5.0.4 resolution: "@types/aria-query@npm:5.0.4" @@ -3207,12 +3379,21 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.0.0": + version: 22.19.7 + resolution: "@types/node@npm:22.19.7" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10/0a5c9cc3bdd2a2d8105735b136e280a2dec90136679adfe82faa7e4de375dcc6b4cebaa6b2de35cc6b37e5e135cdc9486373d574782a4ca22f5eeab299111aa6 + languageName: node + linkType: hard + "@types/node@npm:^22.19.2": - version: 22.19.6 - resolution: "@types/node@npm:22.19.6" + version: 22.19.8 + resolution: "@types/node@npm:22.19.8" dependencies: undici-types: "npm:~6.21.0" - checksum: 10/a5bac443b2c7ca4ceb4a381618c37012d71add696e98351be698aa81e00f20a09fb4aee5bc07f11472080e663602b18ed02233f45242cde9b4eda13140629258 + checksum: 10/a61c68d434871d4a13496e3607502b2ff8e2ff69dca7e09228de5bea3bc95eb627d09243a8cff8e0bf9ff1fa13baaf0178531748f59ae81f0569c7a2f053bfa5 languageName: node linkType: hard @@ -3461,17 +3642,17 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/expect@npm:4.0.17" +"@vitest/expect@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/expect@npm:4.0.18" dependencies: "@standard-schema/spec": "npm:^1.0.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.0.17" - "@vitest/utils": "npm:4.0.17" + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" chai: "npm:^6.2.1" tinyrainbow: "npm:^3.0.3" - checksum: 10/f260fefea527aae652be8d71ff188d45f958b7299a4577d1c3ed15bc87e6b20a6abb30ec6419c826259863d8bdbc1122e82cc499fb9eb63aaa43d3a5be1b7f76 + checksum: 10/2115bff1bbcad460ce72032022e4dbcf8572c4b0fe07ca60f5644a8d96dd0dfa112986b5a1a5c5705f4548119b3b829c45d1de0838879211e0d6bb276b4ece73 languageName: node linkType: hard @@ -3494,11 +3675,11 @@ __metadata: languageName: node linkType: hard -"@vitest/mocker@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/mocker@npm:4.0.17" +"@vitest/mocker@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/mocker@npm:4.0.18" dependencies: - "@vitest/spy": "npm:4.0.17" + "@vitest/spy": "npm:4.0.18" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.21" peerDependencies: @@ -3509,7 +3690,7 @@ __metadata: optional: true vite: optional: true - checksum: 10/4d938c298dd7e63d23efc56a81e254a8a453b0157b378d4b7af57a40dd2687c24a0e1f2e2499f8d17fe302e6d6d515e67c6a5fbfbff75dee2cfd51c37cf4c7dc + checksum: 10/46f584a4c1180dfb513137bc8db6e2e3b53e141adfe964307297e98321652d86a3f2a52d80cda1f810205bd5fdcab789bb8b52a532e68f175ef1e20be398218d languageName: node linkType: hard @@ -3522,12 +3703,12 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/pretty-format@npm:4.0.17" +"@vitest/pretty-format@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/pretty-format@npm:4.0.18" dependencies: tinyrainbow: "npm:^3.0.3" - checksum: 10/e50925f44168b8108a5094e44fd739b7183457c101eb020e88b5556a2f857808d0c9d045113aec83815a20d4aaaf9b7a522a1c651ce111de18daa686891b37a0 + checksum: 10/4cafc7c9853097345bd94e8761bf47c2c04e00d366ac56d79928182787ff83c512c96f1dc2ce9b6aeed4d3a8c23ce12254da203783108d3c096bc398eed2a62d languageName: node linkType: hard @@ -3542,13 +3723,13 @@ __metadata: languageName: node linkType: hard -"@vitest/runner@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/runner@npm:4.0.17" +"@vitest/runner@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/runner@npm:4.0.18" dependencies: - "@vitest/utils": "npm:4.0.17" + "@vitest/utils": "npm:4.0.18" pathe: "npm:^2.0.3" - checksum: 10/75c62ac09b506d2707baad72c9a8ca6addb9bb179548d9ec9af3f7f2303b2e03f4001480c9657325718b15f2997fc39168c027d8d88794c0f8c04800c640c055 + checksum: 10/d7deebf086d7e084f449733ecea6c9c81737a18aafece318cbe7500e45debea00fa9dbf9315fd38aa88550dd5240a791b885ac71665f89b154d71a6c63da5836 languageName: node linkType: hard @@ -3563,14 +3744,14 @@ __metadata: languageName: node linkType: hard -"@vitest/snapshot@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/snapshot@npm:4.0.17" +"@vitest/snapshot@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/snapshot@npm:4.0.18" dependencies: - "@vitest/pretty-format": "npm:4.0.17" + "@vitest/pretty-format": "npm:4.0.18" magic-string: "npm:^0.30.21" pathe: "npm:^2.0.3" - checksum: 10/0cda8970f484bdc5777347cc317f020dc7773ddf0cea996ab5fff453966310c64e9a97854b04998cf0635e8118c12e2235c7a5f921fdfc288dc63dc27c3116d8 + checksum: 10/50aa5fb7fca45c499c145cc2f20e53b8afb0990b53ff4a4e6447dd6f147437edc5316f22e2d82119e154c3cf7c59d44898e7b2faf7ba614ac1051cbe4d662a77 languageName: node linkType: hard @@ -3583,10 +3764,10 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/spy@npm:4.0.17" - checksum: 10/23313980c512b00c08a1c64f6ed15dc7c295bb7b09feab571a3cc96536de2f07432109256717f9deb7f1b8c9ba9ac28f7e617cf639654bc564f6ea5a341ad8f4 +"@vitest/spy@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/spy@npm:4.0.18" + checksum: 10/f7b1618ae13790105771dd2a8c973c63c018366fcc69b50f15ce5d12f9ac552efd3c1e6e5ae4ebdb6023d0b8d8f31fef2a0b1b77334284928db45c80c63de456 languageName: node linkType: hard @@ -3618,13 +3799,13 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:4.0.17": - version: 4.0.17 - resolution: "@vitest/utils@npm:4.0.17" +"@vitest/utils@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/utils@npm:4.0.18" dependencies: - "@vitest/pretty-format": "npm:4.0.17" + "@vitest/pretty-format": "npm:4.0.18" tinyrainbow: "npm:^3.0.3" - checksum: 10/b8b96f8c2c4fee13f4ef4927e56bbf98c2d4f3a61428d9721c5578c96e2a0953892dfccfad3e0c1a7b3105e3d24f93f826f8338c82c72b9f8bc32b50bc9072a1 + checksum: 10/e8b2ad7bc35b2bc5590f9dc1d1a67644755da416b47ab7099a6f26792903fa0aacb81e6ba99f0f03858d9d3a1d76eeba65150a1a0849690a40817424e749c367 languageName: node linkType: hard @@ -3739,6 +3920,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10/6737469ba353b5becf29e4dc3680736b9caa06d300bda6548812a8fee63ae7d336d756f88572fa6b5219aed36698d808fa55f62af3e7e6845c7a1dc77d240edb + languageName: node + linkType: hard + "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -3952,6 +4140,17 @@ __metadata: languageName: node linkType: hard +"bundle-require@npm:^5.1.0": + version: 5.1.0 + resolution: "bundle-require@npm:5.1.0" + dependencies: + load-tsconfig: "npm:^0.2.3" + peerDependencies: + esbuild: ">=0.18" + checksum: 10/735e0220055b9bdac20bea48ec1e10dc3a205232c889ef54767900bebdc721959c4ccb221e4ea434d7ddcd693a8a4445c3d0598e4040ee313ce0ac3aae3e6178 + languageName: node + linkType: hard + "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -4063,6 +4262,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.3": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10/bf2a575ea5596000e88f5db95461a9d59ad2047e939d5a4aac59dd472d126be8f1c1ff3c7654b477cf532d18f42a97279ef80ee847972fd2a25410bf00b80b59 + languageName: node + linkType: hard + "chokidar@npm:^5.0.0": version: 5.0.0 resolution: "chokidar@npm:5.0.0" @@ -4128,7 +4336,6 @@ __metadata: eslint-plugin-react-hooks: "npm:^5.2.0" eslint-plugin-react-refresh: "npm:^0.4.20" framer-plugin: "npm:^3.6.0" - framer-plugin-tools: "npm:^1.0.0" globals: "npm:^16.4.0" jiti: "npm:^2.5.1" prettier: "npm:^3.6.2" @@ -4234,6 +4441,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^13.1.0": + version: 13.1.0 + resolution: "commander@npm:13.1.0" + checksum: 10/d3b4b79e6be8471ddadacbb8cd441fe82154d7da7393b50e76165a9e29ccdb74fa911a186437b9a211d0fc071db6051915c94fb8ef16d77511d898e9dbabc6af + languageName: node + linkType: hard + "commander@npm:^14.0.3": version: 14.0.3 resolution: "commander@npm:14.0.3" @@ -4241,6 +4455,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10/3b2dc4125f387dab73b3294dbcb0ab2a862f9c0ad748ee2b27e3544d25325b7a8cdfbcc228d103a98a716960b14478114a5206b5415bd48cdafa38797891562c + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -4264,6 +4485,20 @@ __metadata: languageName: unknown linkType: soft +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10/4ebcfb1c6a3b25276734ec5722e88768eb61fc02f98e11960b845c5c62bc27fd05f493d2a8244d9675b24ef95afe4c0d511cdcad02c72f5eeea463cc26687999 + languageName: node + linkType: hard + +"consola@npm:^3.4.0": + version: 3.4.2 + resolution: "consola@npm:3.4.2" + checksum: 10/32192c9f50d7cac27c5d7c4ecd3ff3679aea863e6bf5bd6a9cc2b05d1cd78addf5dae71df08c54330c142be8e7fbd46f051030129b57c6aacdd771efe409c4b2 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" @@ -5202,6 +5437,17 @@ __metadata: languageName: node linkType: hard +"fix-dts-default-cjs-exports@npm:^1.0.0": + version: 1.0.1 + resolution: "fix-dts-default-cjs-exports@npm:1.0.1" + dependencies: + magic-string: "npm:^0.30.17" + mlly: "npm:^1.7.4" + rollup: "npm:^4.34.8" + checksum: 10/3324418bb63c93b6b22a808e242d220caba804860c24218b2912abc4525525334fcdcb62d22be6472a8d84ee2ad4165bc79554140c3369eb11d23220cdd986ce + languageName: node + linkType: hard + "flat-cache@npm:^4.0.0": version: 4.0.1 resolution: "flat-cache@npm:4.0.1" @@ -5308,16 +5554,22 @@ __metadata: languageName: node linkType: hard -"framer-plugin-tools@npm:^1.0.0": - version: 1.0.0 - resolution: "framer-plugin-tools@npm:1.0.0" +"framer-plugin-tools@workspace:*, framer-plugin-tools@workspace:packages/plugin-tools": + version: 0.0.0-use.local + resolution: "framer-plugin-tools@workspace:packages/plugin-tools" dependencies: + "@commander-js/extra-typings": "npm:^13.1.0" + "@types/adm-zip": "npm:^0.5.7" + "@types/node": "npm:^22.0.0" adm-zip: "npm:^0.5.16" + commander: "npm:^13.1.0" + tsup: "npm:^8.0.0" + typescript: "npm:^5.9.2" + vitest: "npm:^3.2.4" bin: - framer-plugin-tools: index.js - checksum: 10/5f6b731038cfd23ea1e9a4b4de48a903c9e97ddc43b3598004554adba91e0fbc14efec6e6e9089a752380ffb4635f563575e6d4c6fb36597cbdb43e9edf17de8 - languageName: node - linkType: hard + framer-plugin-tools: dist/cli.js + languageName: unknown + linkType: soft "framer-plugin@npm:3.10.2-alpha.0": version: 3.10.2-alpha.0 @@ -5438,7 +5690,16 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.13.0, get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.13.1": + version: 4.13.2 + resolution: "get-tsconfig@npm:4.13.2" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10/7d7b2bd6ad1503004169a0fea8934e588ce421b79e4dd7cb20f77ee9d1a2f8b31ce5eddbb6d2b1b73a37cd367da4c4f64ef163544d400d17c98b534ba224fd6e + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.7.5": version: 4.13.0 resolution: "get-tsconfig@npm:4.13.0" dependencies: @@ -5841,6 +6102,13 @@ __metadata: languageName: node linkType: hard +"joycon@npm:^3.1.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 10/4b36e3479144ec196425f46b3618f8a96ce7e1b658f091a309cd4906215f5b7a402d7df331a3e0a09681381a658d0c5f039cb3cf6907e0a1e17ed847f5d37775 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -6032,6 +6300,27 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:^3.1.1": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10/b932ce1af94985f0efbe8896e57b1f814a48c8dbd7fc0ef8469785c6303ed29d0090af3ccad7e36b626bfca3a4dc56cc262697e9a8dd867623cf09a39d54e4c3 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10/0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 + languageName: node + linkType: hard + +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 10/b3176f6f0c86dbdbbc7e337440a803b0b4407c55e2e1cfc53bd3db68e0211448f36428a6075ecf5e286db5d1bf791da756fc0ac4d2447717140fb6a5218ecfb4 + languageName: node + linkType: hard + "locale-sync@workspace:plugins/locale-sync": version: 0.0.0-use.local resolution: "locale-sync@workspace:plugins/locale-sync" @@ -6325,6 +6614,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.7.4": + version: 1.8.0 + resolution: "mlly@npm:1.8.0" + dependencies: + acorn: "npm:^8.15.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^1.3.1" + ufo: "npm:^1.6.1" + checksum: 10/4db690a421076d5fe88331679f702b77a4bfc9fe3f324bc6150270fb0b69ecd4b5e43570b8e4573dde341515b3eac4daa720a6ac9f2715c210b670852641ab1c + languageName: node + linkType: hard + "motion-dom@npm:^12.23.12": version: 12.23.12 resolution: "motion-dom@npm:12.23.12" @@ -6376,6 +6677,17 @@ __metadata: languageName: node linkType: hard +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10/8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 + languageName: node + linkType: hard + "nanoid@npm:^3.3.11": version: 3.3.11 resolution: "nanoid@npm:3.3.11" @@ -6459,7 +6771,6 @@ __metadata: "@types/react": "npm:^18.3.24" "@types/react-dom": "npm:^18.3.7" framer-plugin: "npm:3.10.2-alpha.0" - framer-plugin-tools: "npm:^1.0.0" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" valibot: "npm:^1.2.0" @@ -6475,7 +6786,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -6626,7 +6937,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^2.0.3": +"pathe@npm:^2.0.1, pathe@npm:^2.0.3": version: 2.0.3 resolution: "pathe@npm:2.0.3" checksum: 10/01e9a69928f39087d96e1751ce7d6d50da8c39abf9a12e0ac2389c42c83bc76f78c45a475bd9026a02e6a6f79be63acc75667df855862fe567d99a00a540d23d @@ -6691,6 +7002,24 @@ __metadata: languageName: node linkType: hard +"pirates@npm:^4.0.1": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 + languageName: node + linkType: hard + +"pkg-types@npm:^1.3.1": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10/6d491f2244597b24fb59a50e3c258f27da3839555d2a4e112b31bcf536e9359fc4edc98639cd74d2cf16fcd4269e5a09d99fc05d89e2acc896a2f027c2f6ec44 + languageName: node + linkType: hard + "plugins@workspace:.": version: 0.0.0-use.local resolution: "plugins@workspace:." @@ -6699,6 +7028,7 @@ __metadata: "@framer/eslint-config": "workspace:*" "@framer/vite-config": "workspace:*" eslint: "npm:^9.35.0" + framer-plugin-tools: "workspace:*" jiti: "npm:^2.5.1" turbo: "npm:^2.5.6" typescript: "npm:^5.9.2" @@ -6735,6 +7065,29 @@ __metadata: languageName: unknown linkType: soft +"postcss-load-config@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-load-config@npm:6.0.1" + dependencies: + lilconfig: "npm:^3.1.1" + peerDependencies: + jiti: ">=1.21.0" + postcss: ">=8.0.9" + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + checksum: 10/1691cfc94948a9373d4f7b3b7a8500cfaf8cb2dcc2107c14f90f2a711a9892a362b0866894ac5bb723455fa685a15116d9ed3252188689c4502b137c19d6bdc4 + languageName: node + linkType: hard + "postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" @@ -6776,11 +7129,11 @@ __metadata: linkType: hard "prettier@npm:^3.7.4": - version: 3.7.4 - resolution: "prettier@npm:3.7.4" + version: 3.8.1 + resolution: "prettier@npm:3.8.1" bin: prettier: bin/prettier.cjs - checksum: 10/b4d00ea13baed813cb777c444506632fb10faaef52dea526cacd03085f01f6db11fc969ccebedf05bf7d93c3960900994c6adf1b150e28a31afd5cfe7089b313 + checksum: 10/3da1cf8c1ef9bea828aa618553696c312e951f810bee368f6887109b203f18ee869fe88f66e65f9cf60b7cb1f2eae859892c860a300c062ff8ec69c381fc8dbd languageName: node linkType: hard @@ -7151,6 +7504,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10/7b817c265940dba90bb9c94d82920d76c3a35ea2d67f9f9d8bd936adcfe02d50c802b14be3dd2e725e002dddbe2cc1c7a0edfb1bc3a365c9dfd5a61e612eea1e + languageName: node + linkType: hard + "readdirp@npm:^5.0.0": version: 5.0.0 resolution: "readdirp@npm:5.0.0" @@ -7249,7 +7609,6 @@ __metadata: "@types/react-dom": "npm:^18.3.7" classnames: "npm:^2.5.1" framer-plugin: "npm:^3.7.0" - framer-plugin-tools: "npm:^1.0.0" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" languageName: unknown @@ -7276,6 +7635,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10/be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 + languageName: node + linkType: hard + "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -7297,22 +7663,23 @@ __metadata: languageName: node linkType: hard -"rolldown-plugin-dts@npm:^0.21.5": - version: 0.21.8 - resolution: "rolldown-plugin-dts@npm:0.21.8" +"rolldown-plugin-dts@npm:^0.22.1": + version: 0.22.1 + resolution: "rolldown-plugin-dts@npm:0.22.1" dependencies: - "@babel/generator": "npm:8.0.0-beta.4" - "@babel/parser": "npm:8.0.0-beta.4" - "@babel/types": "npm:8.0.0-beta.4" + "@babel/generator": "npm:8.0.0-rc.1" + "@babel/helper-validator-identifier": "npm:8.0.0-rc.1" + "@babel/parser": "npm:8.0.0-rc.1" + "@babel/types": "npm:8.0.0-rc.1" ast-kit: "npm:^3.0.0-beta.1" birpc: "npm:^4.0.0" dts-resolver: "npm:^2.1.3" - get-tsconfig: "npm:^4.13.0" + get-tsconfig: "npm:^4.13.1" obug: "npm:^2.1.1" peerDependencies: "@ts-macro/tsc": ^0.3.6 "@typescript/native-preview": ">=7.0.0-dev.20250601.1" - rolldown: ^1.0.0-beta.57 + rolldown: ^1.0.0-rc.3 typescript: ^5.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: @@ -7324,29 +7691,29 @@ __metadata: optional: true vue-tsc: optional: true - checksum: 10/a26149f786d082fc0e9c9682d2319c27a4d1c88796be9fa5975f9af7c228f2cd00fea2dc4ed27ee11ac35d487e6bd695e2be4bdbbd1285960e3026a9b0bae513 - languageName: node - linkType: hard - -"rolldown@npm:1.0.0-rc.1": - version: 1.0.0-rc.1 - resolution: "rolldown@npm:1.0.0-rc.1" - dependencies: - "@oxc-project/types": "npm:=0.110.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-rc.1" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.1" - "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.1" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.1" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.1" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.1" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.1" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.1" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.1" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.1" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.1" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.1" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.1" - "@rolldown/pluginutils": "npm:1.0.0-rc.1" + checksum: 10/e180a99005428e5ce80076cf0801dc6276a75b686739779a5c0b6da85400b1da19858d6280427bca84afeaff5ef251a748d034a0c9d64268c5bc5b8d25415178 + languageName: node + linkType: hard + +"rolldown@npm:1.0.0-rc.3": + version: 1.0.0-rc.3 + resolution: "rolldown@npm:1.0.0-rc.3" + dependencies: + "@oxc-project/types": "npm:=0.112.0" + "@rolldown/binding-android-arm64": "npm:1.0.0-rc.3" + "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.3" + "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.3" + "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.3" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.3" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.3" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.3" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.3" + "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.3" + "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.3" + "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.3" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.3" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.3" + "@rolldown/pluginutils": "npm:1.0.0-rc.3" dependenciesMeta: "@rolldown/binding-android-arm64": optional: true @@ -7376,7 +7743,97 @@ __metadata: optional: true bin: rolldown: bin/cli.mjs - checksum: 10/669a5f8e793aaef5b2d48a486e88afc681e675a0988d6962a4ff0586c80862a238f9712fc0eb3762989486be4a2c85df6d01e4147a46f451d3f8614e9265b65c + checksum: 10/28c88da3dc1b95125e177c4fd0757faffdd4b2fa81ef0a0ba6e75f5e4c4c49c5a3fe88dd7fffe9f7091d514cd25fa0a038d03acbe7068651b1b43a5257edfd03 + languageName: node + linkType: hard + +"rollup@npm:^4.34.8": + version: 4.57.1 + resolution: "rollup@npm:4.57.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.57.1" + "@rollup/rollup-android-arm64": "npm:4.57.1" + "@rollup/rollup-darwin-arm64": "npm:4.57.1" + "@rollup/rollup-darwin-x64": "npm:4.57.1" + "@rollup/rollup-freebsd-arm64": "npm:4.57.1" + "@rollup/rollup-freebsd-x64": "npm:4.57.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.57.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.57.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.57.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.57.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.57.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.57.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.57.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.57.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.57.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.57.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.57.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.57.1" + "@rollup/rollup-linux-x64-musl": "npm:4.57.1" + "@rollup/rollup-openbsd-x64": "npm:4.57.1" + "@rollup/rollup-openharmony-arm64": "npm:4.57.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.57.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.57.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.57.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.57.1" + "@types/estree": "npm:1.0.8" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10/0451371339e593967c979e498fac4dfd0ba15fadf0dac96875940796307a00d62ab68460366a65f4872ae8edd9339e3d9501e8e5764c1f23e25e0951f75047c6 languageName: node linkType: hard @@ -7602,6 +8059,13 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.7.6": + version: 0.7.6 + resolution: "source-map@npm:0.7.6" + checksum: 10/c8d2da7c57c14f3fd7568f764b39ad49bbf9dd7632b86df3542b31fed117d4af2fb74a4f886fc06baf7a510fee68e37998efc3080aacdac951c36211dc29a7a3 + languageName: node + linkType: hard + "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -7704,6 +8168,24 @@ __metadata: languageName: node linkType: hard +"sucrase@npm:^3.35.0": + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10/539f5c6ebc1ff8d449a89eb52b8c8944a730b9840ddadbd299a7d89ebcf16c3f4bc9aa59e1f2e112a502e5cf1508f7e02065f0e97c0435eb9a7058e997dfff5a + languageName: node + linkType: hard + "supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -7747,6 +8229,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10/dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10/486e1283a867440a904e36741ff1a177faa827cf94d69506f7e3ae4187b9afdf9ec368b3d8da225c192bfe2eb943f3f0080594156bf39f21b57cd1411e2e7f6d + languageName: node + linkType: hard + "threshold@workspace:plugins/threshold": version: 0.0.0-use.local resolution: "threshold@workspace:plugins/threshold" @@ -7809,7 +8309,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -7888,6 +8388,13 @@ __metadata: languageName: node linkType: hard +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10/9f7346b9e25bade7a1050c001ec5a4f7023909c0e1644c5a96ae20703a131627f081479e6622a4ecee2177283d0069e651e507bedadd3904fc4010ab28ffce00 + languageName: node + linkType: hard + "ts-pattern@npm:^5.8.0": version: 5.8.0 resolution: "ts-pattern@npm:5.8.0" @@ -7896,8 +8403,8 @@ __metadata: linkType: hard "tsdown@npm:^0.20.1": - version: 0.20.1 - resolution: "tsdown@npm:0.20.1" + version: 0.20.3 + resolution: "tsdown@npm:0.20.3" dependencies: ansis: "npm:^4.2.0" cac: "npm:^6.7.14" @@ -7907,14 +8414,14 @@ __metadata: import-without-cache: "npm:^0.2.5" obug: "npm:^2.1.1" picomatch: "npm:^4.0.3" - rolldown: "npm:1.0.0-rc.1" - rolldown-plugin-dts: "npm:^0.21.5" + rolldown: "npm:1.0.0-rc.3" + rolldown-plugin-dts: "npm:^0.22.1" semver: "npm:^7.7.3" tinyexec: "npm:^1.0.2" tinyglobby: "npm:^0.2.15" tree-kill: "npm:^1.2.2" unconfig-core: "npm:^7.4.2" - unrun: "npm:^0.2.26" + unrun: "npm:^0.2.27" peerDependencies: "@arethetypeswrong/core": ^0.18.1 "@vitejs/devtools": "*" @@ -7937,7 +8444,7 @@ __metadata: optional: true bin: tsdown: dist/run.mjs - checksum: 10/aa590e87a8d13c6cc3ab0f11cc7747e7c0d64505975df51d584efcce1263ed4934a63988c80a688fa8aee3a19d5dadae6a3ff50920cd5d5609422605ae3cac53 + checksum: 10/3d511dea766ebdd3b1c4387aa86a7093a2e4fe131c6283a73453545ffdf48f30f1a3694c4a9a45068a58ccab3d886ddfd3a89b898b0b5e5f7469a72da8ecc49e languageName: node linkType: hard @@ -7948,6 +8455,48 @@ __metadata: languageName: node linkType: hard +"tsup@npm:^8.0.0": + version: 8.5.1 + resolution: "tsup@npm:8.5.1" + dependencies: + bundle-require: "npm:^5.1.0" + cac: "npm:^6.7.14" + chokidar: "npm:^4.0.3" + consola: "npm:^3.4.0" + debug: "npm:^4.4.0" + esbuild: "npm:^0.27.0" + fix-dts-default-cjs-exports: "npm:^1.0.0" + joycon: "npm:^3.1.1" + picocolors: "npm:^1.1.1" + postcss-load-config: "npm:^6.0.1" + resolve-from: "npm:^5.0.0" + rollup: "npm:^4.34.8" + source-map: "npm:^0.7.6" + sucrase: "npm:^3.35.0" + tinyexec: "npm:^0.3.2" + tinyglobby: "npm:^0.2.11" + tree-kill: "npm:^1.2.2" + peerDependencies: + "@microsoft/api-extractor": ^7.36.0 + "@swc/core": ^1 + postcss: ^8.4.12 + typescript: ">=4.5.0" + peerDependenciesMeta: + "@microsoft/api-extractor": + optional: true + "@swc/core": + optional: true + postcss: + optional: true + typescript: + optional: true + bin: + tsup: dist/cli-default.js + tsup-node: dist/cli-node.js + checksum: 10/f1927ec2dda93b218b39cd1cac1040902eef66e026261f5c265197c2f660cb5b9e1fb89353d50de5c6a5616463c02800e87e1daad7620b9c9051221d93c66824 + languageName: node + linkType: hard + "tsx@npm:^4.21.0": version: 4.21.0 resolution: "tsx@npm:4.21.0" @@ -8099,6 +8648,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.6.1": + version: 1.6.3 + resolution: "ufo@npm:1.6.3" + checksum: 10/79803984f3e414567273a666183d6a50d1bec0d852100a98f55c1e393cb705e3b88033e04029dd651714e6eec99e1b00f54fdc13f32404968251a16f8898cfe5 + languageName: node + linkType: hard + "unconfig-core@npm:^7.4.2": version: 7.4.2 resolution: "unconfig-core@npm:7.4.2" @@ -8148,11 +8704,11 @@ __metadata: languageName: node linkType: hard -"unrun@npm:^0.2.26": - version: 0.2.26 - resolution: "unrun@npm:0.2.26" +"unrun@npm:^0.2.27": + version: 0.2.27 + resolution: "unrun@npm:0.2.27" dependencies: - rolldown: "npm:1.0.0-rc.1" + rolldown: "npm:1.0.0-rc.3" peerDependencies: synckit: ^0.11.11 peerDependenciesMeta: @@ -8160,7 +8716,7 @@ __metadata: optional: true bin: unrun: dist/cli.mjs - checksum: 10/6cb3f58f3b2151aa5135dc60925b142a9c7323ec5b74a7ca0a84aaafe4d01f751b729b97c407da4d291a3691060538d699adf49cf3f80d38de6003fb19323a66 + checksum: 10/70a589218b74c837f7190f69d58a95f426f2679bacb1df61635df6f98922a89bd22655a8852652fb1ad5770b6aafcb7e507d37c2e028c5ea2c57fd0d56bf02cb languageName: node linkType: hard @@ -8554,16 +9110,16 @@ __metadata: linkType: hard "vitest@npm:^4.0.15": - version: 4.0.17 - resolution: "vitest@npm:4.0.17" - dependencies: - "@vitest/expect": "npm:4.0.17" - "@vitest/mocker": "npm:4.0.17" - "@vitest/pretty-format": "npm:4.0.17" - "@vitest/runner": "npm:4.0.17" - "@vitest/snapshot": "npm:4.0.17" - "@vitest/spy": "npm:4.0.17" - "@vitest/utils": "npm:4.0.17" + version: 4.0.18 + resolution: "vitest@npm:4.0.18" + dependencies: + "@vitest/expect": "npm:4.0.18" + "@vitest/mocker": "npm:4.0.18" + "@vitest/pretty-format": "npm:4.0.18" + "@vitest/runner": "npm:4.0.18" + "@vitest/snapshot": "npm:4.0.18" + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" es-module-lexer: "npm:^1.7.0" expect-type: "npm:^1.2.2" magic-string: "npm:^0.30.21" @@ -8581,10 +9137,10 @@ __metadata: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.0.17 - "@vitest/browser-preview": 4.0.17 - "@vitest/browser-webdriverio": 4.0.17 - "@vitest/ui": 4.0.17 + "@vitest/browser-playwright": 4.0.18 + "@vitest/browser-preview": 4.0.18 + "@vitest/browser-webdriverio": 4.0.18 + "@vitest/ui": 4.0.18 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -8608,7 +9164,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/792cf5ecdb2c0c2a61fc7beacec800413dcc5b68ad5e18f74795cdbfe513d58e3b6e437571c728c9992920f52d0640a5264aaf8c3702454b2637ff93451cf567 + checksum: 10/6c6464ebcf3af83546862896fd1b5f10cb6607261bffce39df60033a288b8c1687ae1dd20002b6e4997a7a05303376d1eb58ce20afe63be052529a4378a8c165 languageName: node linkType: hard