Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

logo


NPM version NPM downloads CircleCI donate chat

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.

image

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. 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

About

Import modules from URL instead of local node_modules

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published