Necessary Pigeonholing Mechanism

npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript.Learn more »

import-jsx

2.0.0 • Public • Published

import-jsx Build Status

Require and transpile JSX on the fly

  • Doesn't install any require() hooks
  • Auto-detects React pragma (React.createElement) and falls back to h pragma supported by Preact and others
  • Caches transpiled sources by default
  • Bundles in object rest spread transform

Install

$ npm install --save import-jsx

Usage

const importJsx = require('import-jsx');
 
const reactComponent = importJsx('./react');
const preactComponent = importJsx('./preact');
const customComponent = importJsx('./custom', {pragma: 'x'});

react.js

const React = require('react');
 
module.exports = <div/>;

preact.js

const {h} = require('preact');
 
module.exports = <div/>;

custom.js

const x = (tagName, attrs, ...children) => {};
 
module.exports = <div/>;

API

importJsx(moduleId, [options])

moduleId

Type: string

Module id.

options

pragma

Type: string
Default: h

Override JSX pragma.

cache

Type: boolean
Default: true

Enable or disable caching of transpiled sources.

importJsx.create([options])

Factory method to create a version of importJsx() with pre-defined options. Useful when you need a custom pragma, but don't want to pass it along with each importJsx() call.

options

Type: object

Options to pass to importJsx().

// Before
const importJsx = require('import-jsx');
 
importJsx('./a', {pragma: 'x'});
importJsx('./b', {pragma: 'x'});
 
// After
const importJsx = require('import-jsx').create({pragma: 'x'});
 
importJsx('./a');
importJsx('./b');

License

MIT © Vadim Demedes

install

npm i import-jsx

Downloadsweekly downloads

17,924

version

2.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability