https://github.com/momsfriendlydevco/vite-plugin-inject
Inject files into Vite output
https://github.com/momsfriendlydevco/vite-plugin-inject
Last synced: 6 months ago
JSON representation
Inject files into Vite output
- Host: GitHub
- URL: https://github.com/momsfriendlydevco/vite-plugin-inject
- Owner: MomsFriendlyDevCo
- License: mit
- Created: 2024-03-06T03:31:43.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T00:58:08.000Z (almost 2 years ago)
- Last Synced: 2025-06-30T14:51:49.651Z (about 1 year ago)
- Language: JavaScript
- Size: 23.4 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Vite-Plugin-Inject
==================
Inject files into Vite output.
This plugin takes a list of file definition and simply writes them into the `/dist` directory (or wherever Vite is configured to output).
```javascript
# vite.config.js
import pluginInject from 'vite-plugin-inject';
export default {
plugins: [
pluginInject([
{ // An example humans.txt file injected into /dist/humans.txt
name: 'humans.txt',
content() { return [
'/' + '* TEAM *' + '/',
'Developer: Matt Carter',
'Contact: contact@acme.com',
'Location: Gold Coast, Australia',
'',
'',
'/' + '* SITE *' + '/',
`Last update: ${(new Date()).toISOString().substr(0, 10).replace(/-/g, '\/')}`,
'Doctype: HTML5',
'Standards: HTML5, CSS3, JavaScript ES2024',
'Components: Vue',
]},
},
{
name: 'robots.txt',
content() { return [
'User-agent: *',
'Allow: /',
'Disallow: /login',
'Disallow: /profile',
'',
'Sitemap: https://acme.com/sitemap.xml',
]},
},
{
name: 'sitemap.xml',
async content() {
let {default: routes} = await import('./routes.js');
return [
'',
'',
...(tools
.flatMap(route => [
'\t',
`\t\thttps://acme.com${route.path}`,
'\t\tmonthly',
'\t',
])
),
'',
];
},
},
]),
],
}
```
API
===
This plugin exposes a single function which takes an array of files to output.
Each file should be an object composed of a `name` string and an Async `content` function which returns the content. The content will be collapsed into a line-delimited string if an array is returned.
File object definitions:
| Property | Type | Default | Description |
|-----------|------------|----------------|----------------------------------------------------------------------------------|
| `name` | `String` | | The file name, nested files can be noted with slashes |
| `content` | `Function` | | A function which can return the string content to output or an array of the same |
| `mime` | `String` | `'text/plain'` | The mime type to serve (when in dev mode) |