Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
craco-preact
Advanced tools
This is a craco plugin that sets up Preact for create-react-app version >= 2.
This plugin add the preact-compat
alias so that import React from 'react'
will be translated to import React from 'preact-compat'
. (preact-compat
is a drop-in replacement for React with the same API.)
Use react-app-rewired for
create-react-app
version 1.
craco-preact
is tested with:
preact
: ^8.3.1
preact-compat
: ^3.18.4
react-scripts
: ^2.1.1
@craco/craco
: ^3.2.2
First, follow the craco
Installation Instructions to install the craco
package, create a craco.config.js
file, and modify the scripts in your package.json
.
Then install craco-preact
:
$ yarn add craco-preact
# OR
$ npm i -S craco-preact
Here is a complete craco.config.js
configuration file that adds preact-compat
to the create-react-app
webpack config:
module.exports = {
plugins: [{ plugin: require("craco-preact") }]
};
This plugin does not have any options.
preact-compat
alias?If you are using a React component library such as Ant Design, these React components should work out of the box with the preact-compat
alias. However, Preact does not currently support some of the very latest features in React 16+, such as Hooks and Suspense. Here is the Preact GitHub issue about adding the Hooks API. Here are some more Preact issues about supporting other features in React 16+:
(We have subscribed to these issues, and will update this README if anything changes.)
If you are building a new Preact app from scratch and you don't need any React libraries, then you don't need the craco-preact
plugin. Instead, you should follow the Preact "Getting Started" documentation.
You should still be able to use the create-react-app
webpack config with a native Preact application. Just be aware that npm install
will always install an unused copy of React, because this is a dependency of react-scripts
. This is not an issue. React will not be included in your webpack build unless you explicitly require it with an import
statement. (If you use the craco-preact
plugin, then all import 'react'
statements are translated to import 'preact'
.)
If you need to configure anything else for the webpack build, take a look at the
Configuration Overview section in the craco
README. You can use CracoPreactPlugin
while making other changes to babel
and webpack
, etc.
Install dependencies:
$ yarn install
# OR
$ npm install
Run tests:
$ yarn test
Before submitting a pull request, please check the following:
yarn test
open coverage/lcov-report/index.html
prettier --write **/*.js
formatOnSave
option.FAQs
A Preact plugin for craco / react-scripts / create-react-app
We found that craco-preact demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.