diff --git a/.distignore b/.distignore
new file mode 100644
index 0000000..beb33b0
--- /dev/null
+++ b/.distignore
@@ -0,0 +1,25 @@
+/.git
+/.github
+/.lando
+/.lando.yml
+/.gitattributes
+/.gitignore
+/.editorconfig
+/phpcs.xml
+/.travis.yml
+/.gitlab-ci.yml
+/.distignore
+/assets
+/bin
+/node_modules
+/vendor
+/tests
+/Gruntfile.js
+/package.json
+/package-lock.json
+/phpunit.xml.dist
+/phpunit.xml
+/composer.json
+/composer.lock
+/AGENTS.md
+/.sass-cache
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..8ac6b8c
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..2823bf4
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,96 @@
+name: CI
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ phpcs:
+ name: PHPCS
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '8.2'
+ tools: cs2pr
+
+ - name: Install Composer dependencies
+ run: composer update --no-interaction --prefer-dist
+
+ - name: Run PHPCS
+ run: vendor/bin/phpcs
+
+ phpunit:
+ name: "PHPUnit - PHP ${{ matrix.php }} / WP ${{ matrix.wp }}"
+ runs-on: ubuntu-latest
+ needs: phpcs
+
+ services:
+ mysql:
+ image: mysql:8.0
+ env:
+ MYSQL_ROOT_PASSWORD: root
+ MYSQL_ALLOW_EMPTY_PASSWORD: yes
+ ports:
+ - 3306:3306
+ options: >-
+ --health-cmd="mysqladmin ping --silent"
+ --health-interval=10s
+ --health-timeout=5s
+ --health-retries=5
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: ['7.4', '8.0', '8.1', '8.2', '8.3']
+ wp: ['latest', '6.5', '6.0']
+ include:
+ - php: '8.3'
+ wp: 'nightly'
+ - php: '8.2'
+ wp: 'nightly'
+
+ continue-on-error: ${{ matrix.wp == 'nightly' }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install system dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y subversion mysql-client
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ extensions: mysqli
+ coverage: none
+
+ - name: Install Composer dependencies
+ run: composer update --no-interaction --prefer-dist
+
+ - name: Install WordPress test suite
+ run: bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1 ${{ matrix.wp }}
+
+ - name: Run PHPUnit
+ env:
+ WP_TESTS_PHPUNIT_POLYFILLS_PATH: ${{ github.workspace }}/vendor/yoast/phpunit-polyfills
+ run: vendor/bin/phpunit
+
+ - name: Run PHPUnit (multisite)
+ env:
+ WP_MULTISITE: 1
+ WP_TESTS_PHPUNIT_POLYFILLS_PATH: ${{ github.workspace }}/vendor/yoast/phpunit-polyfills
+ run: vendor/bin/phpunit
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..20ca359
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,22 @@
+name: Deploy to WordPress.org
+
+on:
+ push:
+ tags:
+ - '*'
+
+jobs:
+ deploy:
+ name: Deploy to WordPress.org SVN
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: WordPress Plugin Deploy
+ uses: 10up/action-wordpress-plugin-deploy@stable
+ env:
+ SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
+ SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
+ SLUG: shortcode-widget
+ ASSETS_DIR: assets
diff --git a/.gitignore b/.gitignore
index 911cdfb..8387605 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
.DS_Store
-node_modules/
+/vendor
+composer.lock
/wordpress
/.idea
/profiler-output/
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 3104eca..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,306 +0,0 @@
-variables:
- # Configure mysql service (https://hub.docker.com/_/mysql/)
- MYSQL_DATABASE: wordpress_tests
- MYSQL_ROOT_PASSWORD: mysql
-
-stages:
- - verify
- - test
- - release
-
-PHPCS:
- stage: verify
- image: wpunit/php:wpcs
- script:
- - phpcs
-
-Coverage:
- stage: test
- image: wpunit/php:7.3-extended
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
- - XDEBUG_MODE=coverage phpunit --coverage-text --colors=never --configuration phpunit.xml.dist
- coverage: /^\s*Lines:\s*\d+.\d+\%/
-
-WP-Latest:PHP8.0:
- stage: test
- image: wpunit/php:8.0
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
- - phpunit --configuration phpunit.xml.dist
- allow_failure: true
-
-WP-Latest:PHP7.4:
- stage: test
- image: wpunit/php:7.4
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
- - phpunit --configuration phpunit.xml.dist
-
-WP-Latest:PHP7.3:
- stage: test
- image: wpunit/php:7.3
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
- - phpunit --configuration phpunit.xml.dist
-
-WP-Latest:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql latest true
- - phpunit --configuration phpunit.xml.dist
-
-WP-Nightly:PHP8.0:
- stage: test
- image: wpunit/php:8.0
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql nightly true
- - phpunit --configuration phpunit.xml.dist
- allow_failure: true
-
-WP-Nightly:PHP7.4:
- stage: test
- image: wpunit/php:7.4
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql nightly true
- - phpunit --configuration phpunit.xml.dist
- allow_failure: true
-
-WP-Nightly:PHP7.3:
- stage: test
- image: wpunit/php:7.3
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql nightly true
- - phpunit --configuration phpunit.xml.dist
- allow_failure: true
-
-WP-Nightly:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql nightly true
- - phpunit --configuration phpunit.xml.dist
- allow_failure: true
-
-WP5.4:PHP7.4:
- stage: test
- image: wpunit/php:7.4
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 5.4 true
- - phpunit --configuration phpunit.xml.dist
-
-WP5.3:PHP7.4:
- stage: test
- image: wpunit/php:7.4
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 5.3 true
- - phpunit --configuration phpunit.xml.dist
-
-WP5.2:PHP7.4:
- stage: test
- image: wpunit/php:7.4
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 5.2 true
- - phpunit --configuration phpunit.xml.dist
-
-WP5.1:PHP7.2:
- stage: test
- image: wpunit/php:7.2
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 5.1 true
- - phpunit --configuration phpunit.xml.dist
-
-WP5.0:PHP7.2:
- stage: test
- image: wpunit/php:7.2
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 5.0 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.9:PHP7.2:
- stage: test
- image: wpunit/php:7.2
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.9 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.8:PHP7.2:
- stage: test
- image: wpunit/php:7.2
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.8 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.7:PHP7.2:
- stage: test
- image: wpunit/php:7.2
- variables:
- PHPUNIT_VERSION: 5
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.7 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.6:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.6 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.5:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.5 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.4:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.4 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.3:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.3 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.2:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.2 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.1:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.1 true
- - phpunit --configuration phpunit.xml.dist
-
-WP4.0:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 4.0 true
- - phpunit --configuration phpunit.xml.dist
-
-WP3.9:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 3.9 true
- - phpunit --configuration phpunit.xml.dist
-
-WP3.8:PHP5.6:
- stage: test
- image: wpunit/php:5.6
- services:
- - mysql:5.6
- script:
- # Set up WordPress tests
- - bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 3.8 true
- - phpunit --configuration phpunit.xml.dist
-
-Release:
- stage: release
- environment:
- name: Release
- image: wpunit/php:svn-release
- when: manual
- script:
- - bash bin/gitlab-deploy.sh
- only:
- - tags
\ No newline at end of file
diff --git a/.lando.yml b/.lando.yml
index 0741b92..41da3fa 100644
--- a/.lando.yml
+++ b/.lando.yml
@@ -24,7 +24,7 @@ services:
- '.lando/wp-cli.yml:/wp-cli.yml'
- '.:/app/wordpress/wp-content/plugins/shortcode-widget'
- '/app/wordpress/wp-content/plugins/shortcode-widget/wordpress'
- - '/app/wordpress/wp-content/plugins/shortcode-widget/node_modules'
+ - '/app/wordpress/wp-content/plugins/shortcode-widget/vendor'
build:
- composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
- composer global require --dev wp-coding-standards/wpcs:"^3.0"
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index e72049d..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,108 +0,0 @@
-sudo: false
-
-language: php
-
-cache:
- directories:
- - vendor
- - $HOME/.composer/cache
-
-notifications:
- email:
- on_success: never
- on_failure: change
-
-before_install:
- # Speed up build time by disabling Xdebug.
- - phpenv config-rm xdebug.ini || echo 'No xdebug config.'
-
-before_script:
- - export PATH="$HOME/.composer/vendor/bin:$PATH"
- - |
- if [[ ! -z "$WP_VERSION" ]] ; then
- bash bin/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION
- composer global require "phpunit/phpunit=5.7.*"
- fi
-
-script:
- - |
- if [[ ! -z "$WP_VERSION" ]] ; then
- phpunit
- WP_MULTISITE=1 phpunit
- fi
-
-stages:
- - verify
- - test
-
-jobs:
- allow_failures:
- - env: WP_VERSION=nightly
- fast_finish: true
- include:
- - stage: verify
- php: 7.2
- before_install: phpenv config-rm xdebug.ini || echo 'No xdebug config.'
- install:
- - composer global require dealerdirect/phpcodesniffer-composer-installer wp-coding-standards/wpcs --update-no-dev
- script:
- - phpcs -i
- - phpcs
- - stage: test
- php: 7.3
- env: WP_VERSION=latest
- - stage: test
- php: 7.3
- env: WP_VERSION=nightly
- - stage: test
- php: 7.2
- env: WP_VERSION=latest
- - stage: test
- php: 7.2
- env: WP_VERSION=nightly
- - stage: test
- php: 7.1
- env: WP_VERSION=latest
- - stage: test
- php: 7.0
- env: WP_VERSION=latest
- - stage: test
- php: 5.6
- env: WP_VERSION=latest
- - stage: test
- php: 7.2
- env: WP_VERSION=5.1
- - stage: test
- php: 7.2
- env: WP_VERSION=5.0
- - stage: test
- php: 7.2
- env: WP_VERSION=4.9
- - stage: test
- php: 7.2
- env: WP_VERSION=4.8
- - stage: test
- php: 7.2
- env: WP_VERSION=4.7
- - stage: test
- php: 5.6
- env: WP_VERSION=4.6
- - stage: test
- php: 5.6
- env: WP_VERSION=4.5
- - stage: test
- php: 5.6
- env: WP_VERSION=4.4
- - stage: test
- php: 5.6
- env: WP_VERSION=4.3
- - stage: test
- php: 5.6
- env: WP_VERSION=4.2
- - stage: test
- php: 5.6
- env: WP_VERSION=4.1
- - stage: test
- php: 5.6
- env: WP_VERSION=4.0
-
\ No newline at end of file
diff --git a/AGENTS.md b/AGENTS.md
index 8c8cb62..f988e3f 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -43,17 +43,18 @@ lando rebuild -y # Rebuild (runs build steps including WPCS install)
lando phpcs . # Run PHPCS against the codebase
lando phpcbf . # Auto-fix coding standard violations
-# Grunt tasks
-lando npm install # Install Node dependencies
-lando npx grunt # Run default task (readme + pot generation)
-lando npx grunt wp_readme_to_markdown # Convert readme.txt to README.md
-lando npx grunt makepot # Generate translation template (.pot)
+# Or via Composer (used in CI)
+composer install # Install dev dependencies (WPCS, PHPUnit polyfills)
+vendor/bin/phpcs # Run PHPCS
+
+# i18n
+wp i18n make-pot . languages/shortcode-widget.pot --slug=shortcode-widget # Generate .pot file
```
## Coding Standards
- WordPress Coding Standards (WPCS 3.0) enforced via PHPCS
-- Configuration in `.phpcs.xml.dist`
+- Configuration in `phpcs.xml`
- Text domain: `shortcode-widget`
- Class prefix: `Shortcode_Widget`
- All PHP code must pass `lando phpcs .` before committing
@@ -70,28 +71,29 @@ bash bin/install-wp-tests.sh wordpress_test root '' localhost latest
phpunit
```
-**CI matrix:** Tests run across PHP 5.6-8.0 and WordPress 3.8 through nightly on both Travis CI and GitLab CI.
+**CI matrix:** Tests run across PHP 7.4-8.3 and WordPress 6.0 through nightly on GitHub Actions.
## CI/CD
-- **Travis CI** (`.travis.yml`): PHPCS verification + PHPUnit test matrix
-- **GitLab CI** (`.gitlab-ci.yml`): PHPCS verification + PHPUnit test matrix + manual deployment to GitLab
+- **GitHub Actions** (`.github/workflows/ci.yml`): PHPCS verification + PHPUnit test matrix (PHP 7.4-8.3 × WP latest/6.5/6.0/nightly)
+- **GitHub Actions** (`.github/workflows/deploy.yml`): Automatic deployment to WordPress.org SVN on tag push (uses `10up/action-wordpress-plugin-deploy`)
+- **Dependabot** (`.github/dependabot.yml`): Keeps GitHub Actions versions up to date
-Both CI pipelines run a verify stage (PHPCS) before the test stage.
+The CI workflow runs PHPCS first, then PHPUnit across the matrix (including multisite).
## i18n
- Text domain: `shortcode-widget`, domain path: `/languages`
-- POT file generated via `grunt makepot`
+- POT file generated via `wp i18n make-pot`
- All user-facing strings must be wrapped in WordPress i18n functions (`__()`, `_e()`, `esc_html__()`, etc.)
## Key Conventions
-- `README.md` is auto-generated from `readme.txt` — edit `readme.txt` instead
+- `README.md` badges and header are maintained manually; content mirrors `readme.txt`
- Plugin follows WordPress widget API patterns (`WP_Widget` subclass)
- No external PHP dependencies; plugin is self-contained
-- Node dependencies are dev-only (Grunt for build tasks)
-- Git remotes: GitHub (`github`) and GitLab (`origin`)
+- Composer dev dependencies are for CI only (WPCS, PHPUnit polyfills)
+- Git remote: GitHub (`origin`)
- Main branch: `master`
## Git Commit Guidelines
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index a77a53e..0000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,49 +0,0 @@
-module.exports = function ( grunt ) {
-
- grunt.initConfig( {
- pkg: grunt.file.readJSON( 'package.json' ),
- wp_readme_to_markdown: {
- dist: {
- options: {
- screenshot_url: '<%= pkg.repository.url %>/raw/master/assets/{screenshot}.png',
- post_convert: function ( file ) {
- var project_icon = "\n\n";
- var travis_badge = "[](https://travis-ci.com/gagan0123/shortcode-widget)";
- var pipeline_badge = "[](https://gitlab.com/gagan0123/shortcode-widget/commits/master)";
- var coverage_badge = "[](https://gitlab.com/gagan0123/shortcode-widget/commits/master)";
- var badges = travis_badge + ' ' + pipeline_badge + ' ' + coverage_badge + "\n" + project_icon;
- file = file.replace(/^#\s[\w\s]*#/m,"$&\n"+badges );
- return file;
- }
- },
- files: {
- 'README.md': 'readme.txt'
- }
- }
- },
- makepot: {
- target: {
- options: {
- domainPath: 'languages',
- exclude: [ 'node_modules/.*', 'tests/.*' ],
- mainFile: '<%= pkg.main %>',
- potFilename: '<%= pkg.name %>.pot',
- potHeaders: {
- poedit: false,
- 'report-msgid-bugs-to': '<%= pkg.bugs.url %>'
- },
- type: 'wp-plugin',
- updateTimestamp: false
- }
- }
- }
- } );
-
- grunt.loadNpmTasks( 'grunt-wp-readme-to-markdown' );
- grunt.loadNpmTasks( 'grunt-wp-i18n' );
-
- grunt.registerTask( 'default', [
- 'wp_readme_to_markdown', 'makepot'
- ] );
-
-};
\ No newline at end of file
diff --git a/README.md b/README.md
index a2de964..49aaa2d 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# Shortcode Widget #
-[](https://travis-ci.com/gagan0123/shortcode-widget) [](https://gitlab.com/gagan0123/shortcode-widget/commits/master) [](https://gitlab.com/gagan0123/shortcode-widget/commits/master)
+[](https://github.com/gagan0123/shortcode-widget/actions/workflows/ci.yml)
diff --git a/bin/gitlab-deploy.sh b/bin/gitlab-deploy.sh
deleted file mode 100644
index 5dffefe..0000000
--- a/bin/gitlab-deploy.sh
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/bash
-
-# First some ArtWork, code is poetry
-echo ' ';
-echo ' ___ _________ ______________ _____ ';
-echo ' __ | / /__ __ \ ___ __ \__ /___ ________ ___(_)______ ';
-echo ' __ | /| / /__ /_/ / __ /_/ /_ /_ / / /_ __ `/_ /__ __ \ ';
-echo ' __ |/ |/ / _ ____/ _ ____/_ / / /_/ /_ /_/ /_ / _ / / / ';
-echo ' ____/|__/ /_/ /_/ /_/ \__,_/ _\__, / /_/ /_/ /_/ ';
-echo ' /____/ ';
-echo '_______ _____ ________ ______ ';
-echo '___ |___ ___ /______ ___ __ \_______ /__________ ____________ ';
-echo '__ /| | / / / __/ __ \ __ /_/ / _ \_ /_ _ \ __ `/_ ___/ _ \ ';
-echo '_ ___ / /_/ // /_ / /_/ / _ _, _// __/ / / __/ /_/ /_(__ )/ __/ ';
-echo '/_/ |_\__,_/ \__/ \____/ /_/ |_| \___//_/ \___/\__,_/ /____/ \___/ ';
-echo ' ';
-
-# Check if global parameters are sent correctly
-if [ ! -n "$SVN_USERNAME" ]; then
- echo "Environment Variable SVN_USERNAME not defined...";
- export EXITSTATUS=1;
-fi
-if [ ! -n "$SVN_PASSWORD" ]; then
- echo "Environment Variable SVN_PASSWORD not defined...";
- export EXITSTATUS=1;
-fi
-if [ ! -n "$SVN_REPO_URL" ]; then
- echo "Environment Variable SVN_REPO_URL not defined...";
- export EXITSTATUS=1;
-fi
-if [ ! -n "$MAINFILE" ]; then
- echo "Environment Variable MAINFILE (The main file of plugin) not defined...";
- export EXITSTATUS=1;
-fi
-if [ -n "$EXITSTATUS" ]; then
- echo "Please define the above mentioned environment variables and try again...";
- exit 1;
-fi
-
-# Defining all custom parameters
-export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )";
-export PLUGINSLUG="$(basename $DIR)";
-export GITPATH="$DIR";
-export SVNPATH="/tmp/$PLUGINSLUG";
-export SVNTRUNK="$SVNPATH/trunk";
-export SVNTAGS="$SVNPATH/tags";
-export SVNASSETS="$SVNPATH/assets";
-
-# Let's begin...
-echo "Preparing to deploy wordpress plugin...";
-
-# Check version in readme.txt is the same as plugin file
-export NEWVERSION1=`grep "^Stable tag" $GITPATH/readme.txt | awk -F' ' '{print $3}'`;
-echo "readme.txt version: $NEWVERSION1";
-export NEWVERSION2=`grep -i "Version" $GITPATH/$MAINFILE | head -n1 | awk -F':' '{print $2}' | awk -F' ' '{print $1}'`;
-echo "$MAINFILE version: $NEWVERSION2";
-
-# Exit if versions don't match
-if [ "$NEWVERSION1" != "$NEWVERSION2" ]; then
- echo "Versions don't match. Exiting...";
- exit 1;
-fi
-
-echo "Versions match in readme.txt and $MAINFILE file. Let's proceed...";
-
-echo "Creating local copy of SVN repo...";
-yes yes | svn co $SVN_REPO_URL $SVNPATH --quiet --username=$SVN_USERNAME --password=$SVN_PASSWORD;
-
-# Exit if svn checkout failed
-if [ ! -d "$SVNPATH" ]; then
- echo "Could not checkout from SVN. Please check above errors for help. Exiting...";
- exit 1;
-fi
-
-# Now check if required folders (trunk, tags and assets) are there in SVN repo
-cd "$SVNPATH"
-if [ ! -d "$SVNTRUNK" ]; then
- echo "Creating and committing trunk directory...";
- mkdir "$SVNTRUNK";
- svn add "$SVNTRUNK";
- yes yes | svn commit -m "Trunk directory added" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
- echo "done";
-fi
-
-if [ ! -d "$SVNTAGS" ]; then
- echo "Creating and committing tags directory...";
- mkdir "$SVNTAGS";
- svn add "$SVNTAGS";
- yes yes | svn commit -m "Tags directory added" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
- echo "done";
-fi
-
-if [ ! -d "$SVNASSETS" ]; then
- echo "Creating and committing assets directory...";
- mkdir "$SVNASSETS";
- svn add "$SVNASSETS";
- yes yes | svn commit -m "Adding assets directory" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
- echo "done";
-fi
-
-# Change directory to git repo
-cd "$GITPATH";
-
-
-# If assets directory is there in git repo, try to create assets in SVN
-if [ -d "$GITPATH/assets" ]; then
- echo "Assets directory found, syncing assets locally...";
- # Sync assets from git repo to svn repo
- rsync -av --delete "$GITPATH/assets/" "$SVNASSETS/";
- cd $SVNASSETS
- # Check if there are any files to commit before running svn add
- if [[ $(svn status) ]]; then
- echo "Changes in assets detected, updating assets on SVN...";
- # Add only new files to svn if there are any
- if [[ $(svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}') ]]; then
- svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add;
- fi
- # Delete deleted files from svn also
- if [[ $(svn status | grep -v "^.[ \t]*\..*" | grep "^!" | awk '{print $2}') ]]; then
- svn status | grep -v "^.[ \t]*\..*" | grep "^!" | awk '{print $2}' | xargs svn delete;
- fi
- yes yes | svn commit -m "Assets updated $NEWVERSION1" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
- echo "done";
- else
- echo "No changes detected in assets...";
- fi
-fi
-
-cd "$GITPATH";
-echo "Syncing local svn trunk with git repo...";
-rsync -av --delete --exclude-from "$GITPATH/bin/rsync-excludes.txt" "$GITPATH/" "$SVNTRUNK/";
-
-cd $SVNTRUNK
-
-# Check if there are any files to commit before running svn add
-if [[ $(svn status) ]]; then
- echo "Changes in trunk detected, updating trunk...";
- # Add only new files to svn if there are any
- if [[ $(svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}') ]]; then
- svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add;
- fi
- # Delete deleted files from svn also
- if [[ $(svn status | grep -v "^.[ \t]*\..*" | grep "^!" | awk '{print $2}') ]]; then
- svn status | grep -v "^.[ \t]*\..*" | grep "^!" | awk '{print $2}' | xargs svn delete;
- fi
- yes yes | svn commit -m "Trunk updated $NEWVERSION1" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
- echo "done";
-else
- echo "No changes in trunk, continuing...";
-fi
-
-cd "$SVNPATH";
-# Check if tag already exists in SVN, if not, then create new
-if [ ! -d "$SVNTAGS/$NEWVERSION1" ]; then
- echo "Creating new SVN tag...";
- svn copy "trunk/" "tags/$NEWVERSION1/";
- cd "$SVNPATH/tags/$NEWVERSION1";
- yes yes | svn commit -m "Tagging version $NEWVERSION1" --username=$SVN_USERNAME --password=$SVN_PASSWORD;
-else
- echo "Version $version tag already exists, skipping tag creation...";
-fi
-
-echo "Deployment Complete :) ";
diff --git a/bin/rsync-excludes.txt b/bin/rsync-excludes.txt
deleted file mode 100644
index f1203b6..0000000
--- a/bin/rsync-excludes.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-deploy.sh
-deploy-common.sh
-readme.sh
-README.md
-bin
-assets
-.git
-.gitattributes
-.gitignore
-.editorconfig
-map.conf
-nginx.log
-tests
-Gruntfile.js
-package.json
-phpunit.xml
-phpunit.xml.dist
-.phpcs.xml.dist
-.phpcs.xml
-package-lock.json
-node_modules
-.sass-cache
-.gitlab-ci.yml
-.travis.yml
\ No newline at end of file
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..bf2f9e9
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,18 @@
+{
+ "name": "gagan0123/shortcode-widget",
+ "description": "Adds a text-like widget that allows you to write shortcodes in it.",
+ "type": "wordpress-plugin",
+ "license": "GPL-2.0-or-later",
+ "require-dev": {
+ "phpunit/phpunit": "^9.6",
+ "yoast/phpunit-polyfills": "^2.0",
+ "wp-coding-standards/wpcs": "^3.0",
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "phpcompatibility/phpcompatibility-wp": "^2.1"
+ },
+ "config": {
+ "allow-plugins": {
+ "dealerdirect/phpcodesniffer-composer-installer": true
+ }
+ }
+}
diff --git a/includes/class-shortcode-widget-plugin.php b/includes/class-shortcode-widget-plugin.php
index f9be62e..7a4e47b 100644
--- a/includes/class-shortcode-widget-plugin.php
+++ b/includes/class-shortcode-widget-plugin.php
@@ -121,10 +121,8 @@ public function load_text_domain() {
public function test_widget() {
return __( 'It works', 'shortcode-widget' );
}
-
}
/** Initialises an object of this class */
Shortcode_Widget_Plugin::get_instance();
}
-
diff --git a/includes/class-shortcode-widget.php b/includes/class-shortcode-widget.php
index 81efaba..69dc0d4 100644
--- a/includes/class-shortcode-widget.php
+++ b/includes/class-shortcode-widget.php
@@ -146,7 +146,6 @@ public function form( $instance ) {
/>
=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true, - "license": "MIT" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/findup-sync": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", - "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.3", - "micromatch": "^4.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/getobject": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", - "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/gettext-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz", - "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "encoding": "^0.1.12", - "readable-stream": "^3.2.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/grunt": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz", - "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "dateformat": "~4.6.2", - "eventemitter2": "~0.4.13", - "exit": "~0.1.2", - "findup-sync": "~5.0.0", - "glob": "~7.1.6", - "grunt-cli": "~1.4.3", - "grunt-known-options": "~2.0.0", - "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.6.3", - "js-yaml": "~3.14.0", - "minimatch": "~3.0.4", - "nopt": "~3.0.6" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "bin": { - "grunt": "bin/grunt" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-cli/node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/grunt-known-options": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", - "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-legacy-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", - "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.19" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/grunt-legacy-log-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", - "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "~4.1.0", - "lodash": "~4.17.19" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-legacy-util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", - "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "~3.2.0", - "exit": "~0.1.2", - "getobject": "~1.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.21", - "underscore.string": "~3.3.5", - "which": "~2.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/grunt-wp-i18n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.4.tgz", - "integrity": "sha512-bhvcLzlBTmQ0v3LdIRQYGNyZh2CgnODF4kZYuD7VdNR8eekZ7X/GtQ63d3Ymx4cEhIZyZQSI8kaDEwBY25rPHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "grunt": "^1.6.1", - "node-wp-i18n": "^1.2.8" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/grunt-wp-readme-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.1.0.tgz", - "integrity": "sha512-32OYDYNaKgykI2vxVsbqzvYBA9xHJI3XqXHSwXbLzUd1wa0ZepoceHYCs4rYFLo3ZxKpPExxvVuH3gLUS/Fq1Q==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - }, - "peerDependencies": { - "grunt": ">=0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/liftup": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", - "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.2", - "findup-sync": "^4.0.0", - "fined": "^1.2.0", - "flagged-respawn": "^1.0.1", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.1", - "rechoir": "^0.7.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/liftup/node_modules/findup-sync": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", - "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^4.0.2", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "11.2.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz", - "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-wp-i18n": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.8.tgz", - "integrity": "sha512-IIHsMhO5y/mB1SMueH9O8i5ujQPpg1fU0wEuYZh+nlLx3Nd2ytliSZcDl1ETtW55jMp5VIkC6Xbw2ndU0OO6qg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bluebird": "^3.4.1", - "gettext-parser": "^3.1.1", - "glob": "^11.0.3", - "lodash": "^4.14.2", - "minimist": "^1.2.5", - "mkdirp": "^3.0.1", - "tmp": "^0.2.1" - }, - "bin": { - "wpi18n": "bin/wpi18n" - } - }, - "node_modules/node-wp-i18n/node_modules/glob": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", - "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-wp-i18n/node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-scurry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", - "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/underscore.string": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", - "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "^1.1.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/underscore.string/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index bb4bbc2..0000000 --- a/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "shortcode-widget", - "version": "1.5.3", - "main": "shortcode-widget.php", - "repository": { - "type": "git", - "url": "https://github.com/gagan0123/shortcode-widget" - }, - "keywords": [ - "wordpress" - ], - "bugs": { - "url": "https://wordpress.org/support/plugin/shortcode-widget" - }, - "author": "Gagan Deep Singh", - "license": "GPL-2.0", - "devDependencies": { - "grunt": "^1.6.1", - "grunt-wp-i18n": "^1.0.4", - "grunt-wp-readme-to-markdown": "^2.1.0" - } -} diff --git a/.phpcs.xml.dist b/phpcs.xml similarity index 86% rename from .phpcs.xml.dist rename to phpcs.xml index e6bf9cd..543ced4 100644 --- a/.phpcs.xml.dist +++ b/phpcs.xml @@ -15,15 +15,12 @@', $output );
- $this->assertNotContains( '
', $output );
+ $this->assertStringNotContainsString( '
', $output );
+ $this->assertStringNotContainsString( '
', $output );
$this->assertNotNull( $this->shortcode_widget_args );
$this->assertNotEmpty( $this->shortcode_widget_args );
$this->assertCount( 3, $this->shortcode_widget_args );
- $this->assertContains( '[filter:shortcode_widget]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget]', $output );
$this->assertNotNull( $this->shortcode_widget_title_args );
$this->assertNotEmpty( $this->shortcode_widget_title_args );
$this->assertCount( 3, $this->shortcode_widget_title_args );
$this->assertEquals( $instance['title'], $this->shortcode_widget_title_args[0] );
$this->assertEquals( $instance, $this->shortcode_widget_title_args[1] );
$this->assertEquals( 'shortcode-widget', $this->shortcode_widget_title_args[2] );
- $this->assertContains( '[filter:shortcode_widget_title]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget_title]', $output );
// Test with filter=true, implicit legacy mode.
$this->shortcode_widget_args = null;
@@ -105,22 +105,22 @@ public function test_widget() {
ob_start();
$widget->widget( $args, $instance );
$output = ob_get_clean();
- $this->assertContains( '
', $output );
- $this->assertContains( '
', $output );
+ $this->assertStringContainsString( '
', $output );
+ $this->assertStringContainsString( '
', $output );
$this->assertNotNull( $this->shortcode_widget_args );
$this->assertNotEmpty( $this->shortcode_widget_args );
$this->assertCount( 3, $this->shortcode_widget_args );
$this->assertEquals( $instance['text'], $this->shortcode_widget_args[0] );
$this->assertEquals( $instance, $this->shortcode_widget_args[1] );
$this->assertEquals( $widget, $this->shortcode_widget_args[2] );
- $this->assertContains( '[filter:shortcode_widget]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget]', $output );
$this->assertNotNull( $this->shortcode_widget_title_args );
$this->assertNotEmpty( $this->shortcode_widget_title_args );
$this->assertCount( 3, $this->shortcode_widget_title_args );
$this->assertEquals( $instance['title'], $this->shortcode_widget_title_args[0] );
$this->assertEquals( $instance, $this->shortcode_widget_title_args[1] );
$this->assertEquals( 'shortcode-widget', $this->shortcode_widget_title_args[2] );
- $this->assertContains( '[filter:shortcode_widget_title]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget_title]', $output );
// Test with filter=content, the upgraded widget, in 4.8.0 only.
$this->shortcode_widget_args = null;
@@ -139,20 +139,20 @@ public function test_widget() {
ob_start();
$widget->widget( $args, $instance );
$output = ob_get_clean();
- $this->assertContains( '
', $output );
- $this->assertContains( '
', $output );
+ $this->assertStringContainsString( '
', $output );
+ $this->assertStringContainsString( '
', $output );
$this->assertCount( 3, $this->shortcode_widget_args );
$this->assertEquals( $expected_instance['text'], $this->shortcode_widget_args[0] );
$this->assertEquals( $expected_instance, $this->shortcode_widget_args[1] );
$this->assertEquals( $widget, $this->shortcode_widget_args[2] );
- $this->assertContains( wpautop( $expected_instance['text'] . '[filter:shortcode_widget]' ), $output );
+ $this->assertStringContainsString( wpautop( $expected_instance['text'] . '[filter:shortcode_widget]' ), $output );
$this->assertNotNull( $this->shortcode_widget_title_args );
$this->assertNotEmpty( $this->shortcode_widget_title_args );
$this->assertCount( 3, $this->shortcode_widget_title_args );
$this->assertEquals( $instance['title'], $this->shortcode_widget_title_args[0] );
$this->assertEquals( $expected_instance, $this->shortcode_widget_title_args[1] );
$this->assertEquals( 'shortcode-widget', $this->shortcode_widget_title_args[2] );
- $this->assertContains( '[filter:shortcode_widget_title]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget_title]', $output );
// Test with test shortcode [shortcode_widget_test].
$this->shortcode_widget_args = null;
@@ -165,19 +165,19 @@ public function test_widget() {
ob_start();
$widget->widget( $args, $instance );
$output = ob_get_clean();
- $this->assertNotContains( '
', $output );
- $this->assertNotContains( '
', $output );
+ $this->assertStringNotContainsString( '
', $output );
+ $this->assertStringNotContainsString( '
', $output );
$this->assertNotNull( $this->shortcode_widget_args );
$this->assertNotEmpty( $this->shortcode_widget_args );
$this->assertCount( 3, $this->shortcode_widget_args );
- $this->assertContains( 'It works[filter:shortcode_widget]', $output );
+ $this->assertStringContainsString( 'It works[filter:shortcode_widget]', $output );
$this->assertNotNull( $this->shortcode_widget_title_args );
$this->assertNotEmpty( $this->shortcode_widget_title_args );
$this->assertCount( 3, $this->shortcode_widget_title_args );
$this->assertEquals( $instance['title'], $this->shortcode_widget_title_args[0] );
$this->assertEquals( $instance, $this->shortcode_widget_title_args[1] );
$this->assertEquals( 'shortcode-widget', $this->shortcode_widget_title_args[2] );
- $this->assertContains( '[filter:shortcode_widget_title]', $output );
+ $this->assertStringContainsString( '[filter:shortcode_widget_title]', $output );
}
/**
@@ -252,9 +252,9 @@ public function test_form() {
$expected_content_field = '
'; $expected_checkbox_field = '
'; - $this->assertContains( $expected_title_field, $form_output ); - $this->assertContains( $expected_content_field, $form_output ); - $this->assertContains( $expected_checkbox_field, $form_output ); + $this->assertStringContainsString( $expected_title_field, $form_output ); + $this->assertStringContainsString( $expected_content_field, $form_output ); + $this->assertStringContainsString( $expected_checkbox_field, $form_output ); } /**