{"_id":"@alleyinteractive/create-entry","_rev":"8-459c83506cabade874bc6ffd0afa93fd","name":"@alleyinteractive/create-entry","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"@alleyinteractive/create-entry","version":"0.0.1","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.0.1","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"ef53ae20323806bd45b2e4498c7911f2dda47055","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.0.1.tgz","fileCount":33,"integrity":"sha512-98BNaMkgOKnsjDICCu9QOdu7ROEuQpHGpQGQsHgAr+Ni+PAu25P7P3Mu9i6FDlg6rUS8b/36ljSRBJvWURl0lA==","signatures":[{"sig":"MEYCIQC7hI7wK80hn3YcebY9Guv+EU0q9f91k/4vaJp7aQzHSAIhAIi6Zbc+o4QcubciselcCVbcAAwVNMH3XXXzopA8IL6K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63929},"type":"module","gitHead":"4f3f2afa2fbe1776ed7037e6897f04a5f6e6e686","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"9.5.1","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"18.16.0","dependencies":{"glob":"^10.2.7","chalk":"^5.2.0","prompts":"^2.4.2","mustache":"^4.2.0","typescript":"^5.1.3","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^18.15.11","@types/prompts":"^2.4.4","@types/mustache":"^4.2.2","@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.0.1_1686915227687_0.791328151979759","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@alleyinteractive/create-entry","version":"0.0.2","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.0.2","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"a4691c577ab802f44481bfd7854de4fd319307ec","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.0.2.tgz","fileCount":33,"integrity":"sha512-1zS4b97QHpGjP3ROrWMLyTWCwQaih+ksLddOfexXb9YCYj25U0elV+taiTs17V/CEhP6DoEyevsT7F974QbWUw==","signatures":[{"sig":"MEYCIQCUkcdxX/EAVBHBupgvQNsp1taYvWC900rrLpz0AySKsAIhAO7eSYUrf5V4LrsV7IxBOq4IXOFNY8nwqpEk+wbmDaqq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63741},"type":"module","gitHead":"374ad3a21877685c286026692f478860511f4944","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"9.5.1","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"18.16.0","dependencies":{"glob":"^10.2.7","chalk":"^5.2.0","prompts":"^2.4.2","mustache":"^4.2.0","typescript":"^5.1.3","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^18.15.11","@types/prompts":"^2.4.4","@types/mustache":"^4.2.2","@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.0.2_1686922566755_0.34497048369542926","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@alleyinteractive/create-entry","version":"0.0.3","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.0.3","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"0c1490abf4ee117af7d20fa94202ee21a1f8cb4f","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.0.3.tgz","fileCount":33,"integrity":"sha512-zOTasvUDlffAbDKFeGbUYlawEfaNWeu/5rHVsfTINRLDk9DZfCK9UFy1bxNEewlYA9U/DBy3N9qINh7OrEb3Wg==","signatures":[{"sig":"MEYCIQCh6uuIROiidrsL0a0GRi1yi+fSuMg5LCDRECKSvBZDMgIhAMWBw1ullq+GNsty8s2AOxT4oij0+X8l5ApdWP27DQtm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63739},"type":"module","gitHead":"6a0cdf34c5e7dcb0d0da32c3289d3c0cf521919b","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"9.6.7","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"18.17.1","dependencies":{"glob":"^10.3.1","chalk":"^5.3.0","prompts":"^2.4.2","mustache":"^4.2.0","typescript":"^5.1.6","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^20.6.0","@types/prompts":"^2.4.4","@types/mustache":"^4.2.2","@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.0.3_1695407879847_0.921348754982944","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@alleyinteractive/create-entry","version":"0.0.4","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.0.4","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"5486a284872af1ff2bc046a117bf6230d96d7fef","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.0.4.tgz","fileCount":33,"integrity":"sha512-sMvjRCT6OKQjK+wJOx1yzb2cSSwjNlGYm534mRWfk8A3aPKsbJHW7siv6UrlAgDXfPNkuv6yI3ZsrdZCgIGxVg==","signatures":[{"sig":"MEQCIHUimqZ9QRSyFqA1p5HYlrCd7EdCJ23uZTPphkTW1XJkAiB3emVc1U2ZN+pz0zJeA4SfrZjDs4vbhImhq+ndEuyJDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63847},"type":"module","gitHead":"81612aa51044362a738bd553c2d459a8bf51884e","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"9.8.1","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"18.18.2","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","prompts":"^2.4.2","mustache":"^4.2.0","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.0.4_1701348179330_0.9137886689165113","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@alleyinteractive/create-entry","version":"0.0.5","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.0.5","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"1b4c001b9410dd63b94e8351b5dbaa1eb3cad741","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.0.5.tgz","fileCount":33,"integrity":"sha512-X9YKIXHb/x+cqsUq/qxJbaD6qXQWqH1dg64tynJJ4xF9iE26GNaxdWq0PIHcH2PpSVMB7ZiVp/WnUz7XaV77MQ==","signatures":[{"sig":"MEUCIQCDZWdoBajIxVutJgXOisVSG/FW752bnH8rIbpI40kF2wIgOcyR8egcnc5+Fypvf+KQT9PTDwz9a3E/Aj8nEtJi1Nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63983},"type":"module","gitHead":"849b824e3f706f050fca66605353e69421d47b08","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","actor":{"name":"alleyops","type":"user","email":"ops+npm@alleyinteractive.com"},"email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"10.9.2","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"22.16.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","prompts":"^2.4.2","mustache":"^4.2.0","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.0.5_1751562927077_0.34645529153743815","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@alleyinteractive/create-entry","version":"0.1.0","author":{"url":"https://alley.com","name":"Alley","email":"info@alley.com"},"license":"GPL-2.0-or-later","_id":"@alleyinteractive/create-entry@0.1.0","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},{"name":"kevinatalley","email":"kevin@alley.com"}],"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"bin":{"create-entry":"dist/index.js"},"dist":{"shasum":"50355ed9438c2c5b25517929e7ce4d93bf34b27b","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.1.0.tgz","fileCount":33,"integrity":"sha512-PtIeyFe4bnmPoujZHdly/EOktmE2p72TMQWn8cf71paJuPT5/bSaJCkAmahVyZlI9w4txVgxYNlwsgeu3gCwAg==","signatures":[{"sig":"MEUCIQCC7MHAyaRrjIzTCmJwUTv/mUVOCqKn7e9twhCCr/L3cAIgSL1lDk4b4q17BXh16JVTqCF+R4bmXLgQT1XYELoZkF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63983},"type":"module","gitHead":"b1ec6c04d316b2467cfe33e494dd565db9481436","scripts":{"lint":"eslint index.ts src","build":"tsc","watch":"tsc -w","prepublish":"npm run build"},"_npmUser":{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},"repository":{"url":"git+https://github.com/alleyinteractive/alley-scripts.git","type":"git"},"_npmVersion":"10.9.2","description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^10.3.10","chalk":"^5.3.0","prompts":"^2.4.2","mustache":"^4.2.0","ts-command-line-args":"^2.5.1"},"_hasShrinkwrap":false,"devDependencies":{"@alleyinteractive/tsconfig":"*","@alleyinteractive/eslint-config":"*"},"peerDependencies":{"@wordpress/scripts":"*"},"_npmOperationalInternal":{"tmp":"tmp/create-entry_0.1.0_1753199705346_0.6657493716548197","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"author":{"name":"Alley","email":"info@alley.com","url":"https://alley.com"},"description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","license":"GPL-2.0-or-later","name":"@alleyinteractive/create-entry","version":"0.2.0","devDependencies":{"@alleyinteractive/eslint-config":"*","@alleyinteractive/tsconfig":"*"},"dependencies":{"chalk":"^5.3.0","glob":"^10.3.10","mustache":"^4.2.0","prompts":"^2.4.2","ts-command-line-args":"^2.5.1"},"bin":{"create-entry":"dist/index.js"},"peerDependencies":{"@wordpress/scripts":"*"},"scripts":{"build":"tsc","watch":"tsc -w","lint":"eslint index.ts src","prepublish":"npm run build"},"type":"module","repository":{"type":"git","url":"git+https://github.com/alleyinteractive/alley-scripts.git"},"bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"homepage":"https://github.com/alleyinteractive/alley-scripts#readme","gitHead":"194817bdae199fa91b267eb23e1ceb5f25ef34d6","_id":"@alleyinteractive/create-entry@0.2.0","_nodeVersion":"22.20.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-y7+fsbOsvjf2fjtq86zT3X4GMyDFrBpjRPV1l631abX3za5DoAEJoQG8ct+Khx6q/xcTf3giHlOcR+GLLSbJ/Q==","shasum":"5188a0f61d419bd3fa3985cfb462b7c736d45e88","tarball":"https://registry.npmjs.org/@alleyinteractive/create-entry/-/create-entry-0.2.0.tgz","fileCount":33,"unpackedSize":63984,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alleyinteractive%2fcreate-entry@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFOo9r+DigMdNqvKSr0Anf4uFvZJtS7raZKZDwbKAynDAiB19A1OfWTuUPFOOOk5qH3ZeAC0+PMj8xMp8As/HrHNuQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49921c07-32d8-461e-89c8-2f3bb89c0a5d"}},"directories":{},"maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},{"name":"kevinatalley","email":"kevin@alley.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-entry_0.2.0_1761237667100_0.7218968984716554"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-16T11:33:47.631Z","modified":"2025-10-23T16:41:07.756Z","0.0.1":"2023-06-16T11:33:47.858Z","0.0.2":"2023-06-16T13:36:06.967Z","0.0.3":"2023-09-22T18:38:00.040Z","0.0.4":"2023-11-30T12:42:59.488Z","0.0.5":"2025-07-03T17:15:27.285Z","0.1.0":"2025-07-22T15:55:05.552Z","0.2.0":"2025-10-23T16:41:07.305Z"},"bugs":{"url":"https://github.com/alleyinteractive/alley-scripts/issues"},"author":{"name":"Alley","email":"info@alley.com","url":"https://alley.com"},"license":"GPL-2.0-or-later","homepage":"https://github.com/alleyinteractive/alley-scripts#readme","repository":{"type":"git","url":"git+https://github.com/alleyinteractive/alley-scripts.git"},"description":"Alley's script for scaffolding code for entry points in projects that use @wordpress/scripts","maintainers":[{"name":"srtfisher","email":"srtfisher@gmail.com"},{"name":"alleyops","email":"ops+npm@alleyinteractive.com"},{"name":"kevinatalley","email":"kevin@alley.com"}],"readme":"# Create Entry Point\n\n[![standard README badge](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n\nAlley's create entry point script is a tool to scaffold entry points and slotfills for projects that use [`@wordpress/scripts`](https://www.npmjs.com/package/@wordpress/scripts) for the build system. At a minimum, it generates a TS file for the entry point or slotfill. It also generates an optional CSS file, and a PHP file for enqueueing the entry point with WordPress script registration and enqueues.\n\nThis script was written to pair with the [Create WordPress Plugin](https://github.com/alleyinteractive/create-wordpress-plugin) but can easily adopt to other projects which use `@wordpress/scripts`. It was inspired by the [Create Block tool](https://www.npmjs.com/package/@wordpress/create-block) and customized to serve different use cases for scaffolding scripts.\n\nThe entry point script, styles, and enqueue are completely encapsulated in a directory improving the experience of maintaining the entry point feature.\n\n> _This script requires the use of `@wordpress/scripts` in your project. All generated script files will be Typescript or `.ts` files. If your project doesn't support Typescript you can change the `.ts` extension to a `.js` extension._\n\n### Use\n\nInstall the package from npm:\n\n```sh\nnpm install --save-dev @alleyinteractive/create-entry\n```\n\nRun the script to generate an entry point:\n\n```sh\n$ npx @alleyinteractive/create-entry [options]\n```\nWithout providing any options the tool will prompt the user through several options for creating an entry.\n\n### `CLI options`\n\n```\n\n  --src-dir string          The directory where the entry points will be written relative to  \n                            the current working directory. (default is \"entries\")             \n  -h, --help                Prints this usage guide                                           \n  -n, --namespace string    Internal namespace for the entry point. (default is \"create-      \n                            entry\")                                                           \n  -s, --slotfill            Create a slotfill entry point.\n  -t, --textdomain string   Text domain for setting translated strings for a script. (default \n                            is empty or \"default\")    \n```\n\n### Prompt options\nThe script will run and will start prompting for the input required to scaffold the entry point.\n\n#### slug\nThe slug is the name of the entry point. It also is used:\n* as the entry point slug (required for its identification)\n* as the output location (folder name) for scaffolded files\n\n#### (Optional) Including a stylesheet\nThis prompt allows the user to opt-in to scaffolding a `.scss` file in the entry point.\n\n#### (Optional) Including a PHP file for enqueueing the entry script and optional stylesheet.\nThe default option is to include the PHP file for enqueueing the entry, this can be opted out of. The generated file will contain WordPress enqueue hooks and functions to enqueue the entry point assets.\n\n#### Namespace\nIf the PHP file is included an optional namespace prompt is provided if the user would like to customize the namespace. Default is 'create-entry'. If the CLI `--namespace` option is provided this prompt will not show as the namespace has already been set.\n\n### Recommended Setup\n* Install `create-entry` as a dev dependency on a project. e.g. `npm install --save-dev @alleyinteractive/create-entry`\n* Add a `create-entry` script command in the projects `package.json` file to call the script.\n* Add project specific flags to the command setting `--src-dir`, `--namespace`, and `--textdomain` accordingly.\n* Add a separate `create-slotfill` script command in the projects `package.json` file with the necessary flags to scaffold a slotfill entry point.\n\nExample in `package.json`: \n```json\n\"scripts\": {\n    \"create-entry\": \"npx @alleyinteractive/create-entry --src-dir src --namespace create-wordpress-plugin --textdomain create-wordpress-plugin\",\n    \"create-slotfill\": \"npx @alleyinteractive/create-entry --slotfill --src-dir src --namespace create-wordpress-plugin --textdomain create-wordpress-plugin\",\n}\n```\n\n#### Including the entry points PHP file\nIn order for the entry point to be registered in WordPress using the generated PHP file, it will need to be included in a project. [`@wordpress/scripts`](https://www.npmjs.com/package/@wordpress/scripts) will copy the PHP file to the build directory so it will need to be included from there.\n\nLets assume the Webpack output directory is named `build`. This will be where the entry points should be included from.\n\nExample:\n```php\n// plugin.php located in the project root.\nif ( file_exists( __DIR__ . '/build/entry-point-slug/index.php' ) ) {\n\trequire_once __DIR__ . '/build/entry-point-slug/index.php';\n}\n```\n\nAnother way would be to autoload all `index.php` files for each entry from the build directory:\n\n```php\n$files = glob( __DIR__ . '/build/**/index.php' );\n\nif ( ! empty( $files ) ) {\n    foreach ( $files as $path ) {\n        if ( 0 === validate_file( $path ) && file_exists( $path ) ) {\n            require_once $path;\n        }\n    }\n}\n```\n\n### From Source\n\nThis project was written as a Node application with ESM and Typescript support. This project uses Alley's ESLint Typescript configuration that extends Airbnb's ESLint standards.\n\nTo work on this repository:\n\n```sh\ngit clone git@github.com:alleyinteractive/alley-scripts.git\ncd packages/create-entry\nnpm ci\n```\n\nIn order to test the config with another project, you will need to point to this package, e.g.:\n\n```json\n{\n  \"devDependences\": {\n    \"@alleyinteractive/create-entry\": \"file:../path/to/alley-scripts/packages/create-entry\"\n  }\n}\n```\n\nThen simply run `npm install` and npm will symlink to this folder, and you can work on your changes.\n\n\n### Changelog\n\nThis project keeps a [changelog](CHANGELOG.md).\n\n\n## Development Process\n\nSee instructions above on installing from source. Pull requests are welcome from the community and will be considered\nfor inclusion. Releases follow semantic versioning and are shipped on an as-needed basis.\n\n\n### Contributing\n\nSee [our contributor guidelines](../../CONTRIBUTING.md) for instructions on how to\ncontribute to this open source project.\n\n\n## Project Structure\n\nThis is an npm package that is published to https://www.npmjs.com/. Dependencies are defined in `package.json` and the\nESLint configuration is found in `.eslintrc.json`.\nTypescript configuration is found in `tsconfig.json`.\n\n\n## Third-Party Dependencies\n\nThird party dependencies are managed by `npm` and are visible in `package.json`. This package intends to reduce the\ndependency load on projects that use it by managing the dependencies itself.\n\n\n## Related Efforts\n\n- [ESLint](https://eslint.org/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Airbnb's ESLint Standards](https://github.com/airbnb/javascript)\n- [typescript-eslint](https://typescript-eslint.io/)\n- [Create Block](https://www.npmjs.com/package/@wordpress/create-block)\n- [WordPress Scripts](https://www.npmjs.com/package/@wordpress/scripts)\n\n\n\n## Maintainers\n\n- [Alley](https://github.com/alleyinteractive)\n\n![Alley logo](https://avatars.githubusercontent.com/u/1733454?s=200&v=4)\n\n\n### Contributors\n\nThanks to all of the [contributors](../../CONTRIBUTORS.md) to this project.\n\n\n## License\n\nThis project is licensed under the\n[GNU Public License (GPL) version 2](LICENSE) or later.\n","readmeFilename":"README.md"}