Please consider donating to this project's author, EGOIST, to show your ❤️ and support.
Introduction
-
Imports source code URLs! Like
<script type="module">
and Deno but implemented as a webpack/Rollup plugin. Embracing the future :)import template from 'https://unpkg.com/lodash-es/template' console.log(template(`Hello <%= name %>`)({ name: 'EGOIST' }))
Remote code is fetched and cached on first build, and never updated until you use the
reload
option. See more about Caching. -
No more
node_modules
bloat, no dependency to install.
Install
yarn add import-http --dev
Usage
Webpack
In your webpack.config.js
:
const ImportHttpWebpackPlugin = require('import-http/webpack')
module.exports = {
plugins: [new ImportHttpWebpackPlugin()]
}
That's it, try following code:
import React from 'https://unpkg.com/react'
import Vue from 'https://unpkg.com/vue'
console.log(React, Vue)
Run webpack and it just works.
Rollup
In your rollup.config.js
:
export default {
plugins: [require('import-http/rollup')()]
}
Caching
Resources will be fetched at the very first build, then the response will be cached in ~/.cache/import-http
dir. You can use the reload
option to invalidate cache:
const ImportHttpWebpackPlugin = require('import-http/webpack')
module.exports = {
plugins: [
new ImportHttpWebpackPlugin({
reload: process.env.RELOAD
})
]
}
Then run RELOAD=true webpack
to update cache.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
import-http © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
Website · GitHub @EGOIST · Twitter @_egoistlily