{"id":18755298,"url":"https://github.com/sixach/wp-scripts","last_synced_at":"2025-10-08T10:54:31.039Z","repository":{"id":43685875,"uuid":"408957222","full_name":"sixach/wp-scripts","owner":"sixach","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-14T19:59:29.000Z","size":533,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-27T05:30:35.539Z","etag":null,"topics":["library","npm"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sixach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-21T19:58:13.000Z","updated_at":"2022-02-13T22:14:44.000Z","dependencies_parsed_at":"2024-11-07T17:50:52.455Z","dependency_job_id":null,"html_url":"https://github.com/sixach/wp-scripts","commit_stats":{"total_commits":74,"total_committers":3,"mean_commits":"24.666666666666668","dds":0.09459459459459463,"last_synced_commit":"e5dcb51b1b8310548fef88c5f1b378d4982f3d11"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sixach/wp-scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixach%2Fwp-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixach%2Fwp-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixach%2Fwp-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixach%2Fwp-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sixach","download_url":"https://codeload.github.com/sixach/wp-scripts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sixach%2Fwp-scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278931659,"owners_count":26070788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","npm"],"created_at":"2024-11-07T17:32:23.004Z","updated_at":"2025-10-08T10:54:31.023Z","avatar_url":"https://github.com/sixach.png","language":"JavaScript","readme":"# Sixa WP Scripts\n\n---\n\nA small NPM module and CLI to prepare and bundle WordPress plugins into ZIP archives\nfor easy distribution and installation.\n\n## Installation\n\n```bash\nnpm i @sixa/wp-scripts --save-dev\n```\n\n## Usage\n\n### Configure `.bundleignore`\n\nCreate and configure a `.bundleignore` in your project file to exclude files and \ndirectories from being packaged into the ZIP archive. Conceptually, `.bundleignore`\nis very similar to `.gitignore` and `.npmignore` and - essentially - works the same.\n\n#### Example `.bundleignore`\n```text\n.bundleignore\n.git\n.DS_Store\n.editorconfig\n.gitattributes\n.gitignore\n.husky\n.idea\n.prettierrc.js\n.stylelintignore\n.stylelintrc.js\ncomposer.json\ncomposer.lock\ndocs\nnode_modules\npackage.json\npackage-lock.json\nphpcs.xml.dist\nrenovate.json\n/src\n*.zip\n```\n\n#### Typical Entries\n\n##### Simple File Name or Path\n\nExample:\n```text\n.idea\n```\n\nUse a simple file name or path to exclude a specific file or directory\n**in the project root and any subdirectory**.\n\n##### Wildcard + Extension\n\nExample:\n```text\n*.zip\n```\n\nUse a wildcard + extension to exclude any type of file **in the project root and\nany subdirectory**.\n\n##### Root Folder\n\nExample:\n```text\n/src\n```\nUse a root file name or path to exclude any specific file or directory\n**only from the project root**.\nFor instance, `/src` matches `./src` but not `./vendor/company/package/src`.\n\n#### Notice\nIf no `.bundleignore` is available, `@sixa/wp-scripts` automatically finds and\nuses the `.npmignore` file. If no `.npmignore` file is present, `.gitignore` is used\ninstead.\nIf none of these files are present, no files are ignored.\n\n### Configure NPM Scripts\n\nAdd the following NPM script to your `package.json`:\n```JSON\n{\n  \"scripts\": {\n    \"bundle\": \"sixa-wp-scripts bundle NAME-OF-ARCHIVE\"\n  }\n}\n```\n\nand replace `NAME-OF-ARCHIVE` with the name of your archive without \nthe `.zip` extension.\n\nRunning `sixa-wp-scripts bundle NAME-OF-ARCHIVE` traverses the package directory\nand creates a file `NAME-OF-ARCHIVE.zip` including every file in the package\ndirectory without the files and directories in `.bundleignore`.\n\n#### Preparation\n\nUnless ignored via `.bundleignore`, `sixa-wp-scripts bundle` copies the directories\n`node_modules` and `vendor` into the archive. In many cases, this is the desired\nbehaviour. However, in most cases, your local development environment will include\ndevelopment and peer dependencies that you do not intend to distribute in the\nplugin archive.\n\nThus, it is crucial that the bundling is *prepared*. Preparing the bundling process\nmeans that we eliminate all non-production dependencies from library directories.\nThis can easily be achieved by adding an NPM script to `package.json` that performs\nthe necessary steps.\n\nThe following `prepare-bundle` script can be used as the default script for blocks\nand extensions:\n\n```JSON\n{\n  \"scripts\": {\n    \"prepare-bundle\": \"npm i \u0026\u0026 npm run build \u0026\u0026 composer install --no-dev --optimize-autoloader\"\n  }\n}\n```\n\nThis `prepare-bundle` script performs the following operations:\n1) Install NPM dependencies (just in case we haven't yet)\n2) Build all assets\n3) Reinstall composer with only production dependencies and optimize the autoloader\n\nFor blocks and extensions, rather than deleting `node_modules` after `npm run build`,\nwe ignore `node_modules` in `.bundleignore`.\nLuckily, `composer install --no-dev` already removes all non-production dependencies\nfrom `vendor` and we do not need to clean up after `composer`.\nThe flag `--optimize-autoloader` converts PSR-4 and PSR-0 rules into classmap rules,\nwhich is faster (but inconvenient during development).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixach%2Fwp-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsixach%2Fwp-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixach%2Fwp-scripts/lists"}