├── .gitignore ├── index.js ├── yarn.lock ├── package.json ├── Readme.md └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 2 | const merge = require('deepmerge') 3 | 4 | module.exports = neutrino => { 5 | neutrino.config.module 6 | .rule('compile') 7 | .use('babel') 8 | .tap(options => merge(options, { plugins: ['babel-plugin-react-require'] })) 9 | } 10 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | babel-plugin-react-require@^3.0.0: 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz#2e4e7b4496b93a654a1c80042276de4e4eeb20e3" 8 | 9 | deepmerge@^1.3.2: 10 | version "1.3.2" 11 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" 12 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "neutrino-preset-react-require", 3 | "version": "2.0.0", 4 | "description": "Inject React import when JSX is detected.", 5 | "keywords": [ 6 | "neutrino", 7 | "neutrino-preset", 8 | "web", 9 | "import", 10 | "require", 11 | "react" 12 | ], 13 | "dependencies": { 14 | "babel-plugin-react-require": "^3.0.0", 15 | "deepmerge": "^2.0.1" 16 | }, 17 | "peerDependencies": { 18 | "neutrino": "^8.0.18" 19 | }, 20 | "files": ["index.js"], 21 | "license": "MIT" 22 | } 23 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # neutrino-preset-react-require 2 | 3 | Auto import React when JSX is detected. 4 | 5 | ## Installation 6 | 7 | Grab the preset: 8 | 9 | ``` 10 | $ yarn add -D neutrino-preset-react-require 11 | ``` 12 | 13 | Add it to your package.json: 14 | 15 | ```json 16 | { 17 | "neutrino": { 18 | "use": [ 19 | "neutrino-preset-react", 20 | "neutrino-preset-react-require" 21 | ] 22 | } 23 | } 24 | ``` 25 | 26 | ## Example 27 | 28 | Instead of: 29 | 30 | ```js 31 | import React from 'react' 32 | 33 | export default function Spinner({ size = 'small' }) { 34 | return
35 | } 36 | ``` 37 | 38 | Just write: 39 | 40 | ```js 41 | export default function Spinner({ size = 'small' }) { 42 | return 43 | } 44 | ``` 45 | 46 | --- 47 | 48 |  49 |  50 | 51 |