4.7.116 • Published 1 year ago

@devtea2026/maiores-tenetur-sapiente-molestiae v4.7.116

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Reeasy.js

version build Coverage Status

Framework of React app with easy configuration. Support HMR and custom server. As simple as next.js.

Mostly ES6/React feature has be built in Reeasy.js. If you need more, just custom babel loader config.

How to use

Setup

Install it

npm i reeasy --save

and add a script to your package.json like this:

{
  "scripts": {
    "dev": "reeasy dev",
    "build": "reeasy build",
    "start": "reeasy start"
  }
}

create several necessary files:

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>Welcome to reeasy.js!</title>
    <meta charset="UTF-8"/>
  </head>
  <body>
    <div id="root"></div>
    <script src="/bundle.js"></script>
  </body>
</html>

app.js

import React from 'react'

export default () => (
  <div>Welcome to reeasy.js!</div>
)

reeasy.config.js - (reeasy config file)

module.exports = {
  rootPath: './app.js',  //Entry file path of your app
  selector: '#root'      //Selector of element for rendering
}

finally run npm run dev and go to http://localhost:3000. To use another port, you can run npm run dev -- -p <your port here>.

Run in production mode

Build it first

npm run build

Start server

npm start

Start server using pm2

pm2 start npm -- start

Custom configuration

Custom configuration is specified in reeasy.config.js in root directory of your project

module.exports = {

  //Entry file path of your app, this field is required
  // rootPath: <your entry file path>,
  
  //Selector of element for rendering, default `div`
  //starting with `.` for class name (such as `.content`);
  //starting with `#` for id (such as `#root`);
  //otherwise for tag name (like `div`),
  selector: 'div',
  
  //Output directory for build, default `.dist`
  outDir: '.dist',

  //Output bundle name, default `bundle.js`  
  bundleName: 'bundle.js',

  //Public path for http server, default `/`  
  publicPath: '/',
  
  //Path of index html file, default `./index.html`
  indexHTML: 'index.html',
  
  //Custom webpack configuration
  webpack: (config, dev) => {
    //config: webpack configuration object
    //dev: boolean, is in development mode

    //your config here

    //return new config (important!)
    return config
  },

  //Custom babel-loader configuration  
  babelLoaderConfig: (config, dev) => {
    //config: babel-loader configuration
    //dev: boolean, is in development mode
    
    //your config here

    //return new config (important!)
    return config
  },

  ////Custom webpack-dev-middleware configuration  
  devMiddlewareConfig: (config) => {
    //config: webpack-dev-middleware configuration
    
    //your config here

    //return new config (important!)
    return config
  }
}

Cli

Reeasy cli usage

  • reeasy dev Run reeasy in development mode, with hot module replacement
  • reeasy build Build app in production mode
  • reeasy start Start in production mode, need run reeasy build first

options

  • -c, --config Custom reeasy configuration file
  • -p, --port Port to listen for http server
  • -w, --cwd Custom working directory

Custom server

First, add a server.js file in your project directory like this:

  • If you use http module directly
const http = require('http')
const reeasy = require('reeasy')

const app = reeasy({
  dev: process.env.NODE_ENV !== 'production'
})

app.prepare().then(middleware => {
  const server = http.createServer((req, res) => {
    middleware(req, res)
  })

  server.listen(3000, err => {
    if (err) throw err
    console.log('> Ready on http://localhost:3000')
  })
})
  • If you use express
const express = require('express')
const reeasy = require('reeasy')

const app = reeasy({
  dev: process.env.NODE_ENV !== 'production'
})

app.prepare().then(middleware => {
  const server = express()

  //define other middleware here

  server.use(middleware)

  server.listen(3000, err => {
    if (err) throw err
    console.log('> Ready on http://localhost:3000')
  })
})
  • If you use koa
const Koa = require('koa')
const reeasy = require('reeasy')

const app = reeasy({
  dev: process.env.NODE_ENV !== 'production'
})

app.prepare().then(middleware => {
  const server = new Koa()

  //define other middleware here

  server.use(middleware.koa())

  server.listen(3000, err => {
    if (err) throw err
    console.log('> Ready on http://localhost:3000')
  })
})

Then add a script to your package.json like this:

{
  "scripts": {
    "dev": "NODE_ENV=development node server.js",
    "build": "reeasy build",
    "start": "NODE_ENV=production node server.js"
  }
}

Finally start your project by npm scripts.

The reeasy API is:

  • reeasy(opts: object) Create reeasy instance

Supported options:

  • cwd (string) Current work directory, use process.cwd() as default
  • dev (bool) Whether to launch reeasy in dev mode, default false
  • conf (string) Custom reeasy configuration file path, if not set this option, use default configuration file path (reeasy.config.js in root directory)

License

MIT

regularnativemkdirsmomentpnpm9walkingflatMapidassertreadsameValueZerologastconcurrencyiteratorECMAScript 2015es2018reduxtypeECMAScript 2017qsclass-validatorrdskeysES6jestlengthCSScjkflatphonefixed-widthoptionhooks256vpcRFC-6455equalprotohascloudformationsetterextensionairbnbansibannerserializationamazonarrayspipelintTypedArraymkdirresolvees7throttlecolorRegExp#flagsES2023jshintawaitkinesispasswordgradients css3breaksomeswfbeanstalktestingstatesqsnested csshigher-orderStreamarktypeObservableskoreanprefixES3fshasOwnPropertyjoiECMAScript 2020dom-testing-librarylessReactiveExtensionsregexconsolestreams2environmentpluginistsartajvimmutabletoobjectdeepnamewatchFileexit-codestringifierObject.entriesvisualfluxtypanionvalueless mixinsObject.keysfoldertextponyfillescapeWeakMaptyped arraycreatedependency managerlibphonenumberutilmodulefast-copyelmhelperscorsinvariantargsprivate datalazyjssymlinkreact-testing-librarydebugcloudsearchdataboundoncepreserve-symlinksbatchemojiown-0fast-deep-copymergebyterequestArray.prototype.containsrm -rfweakmapInt16ArrayobjopenslinuxsignalmkdirpguidpredictableeventszerointerruptsvarsajaxxtermvalidateES2015Observableagenttostringtaggradients cssfileoptimistregular expressionsdescriptoryamlnegative zeroreducervariableslesscssObject.fromEntriesextendlimitUint8ArrayfetchgetPrototypeOfcloudwatchlinkcallFunction.prototype.namefind-upsnsCSSStyleDeclarationArrayBuffer.prototype.sliceprivateworkspace:*xdg-openformatencryptionsharedarraybufferapientriesPushES2019listenersObject.definePropertysigintconfigurablejasminees-shimsasciichanneltelephonejsondeep-cloneeslintassignpackagemacosloadbalancingYAMLES5mapwordbreakconcatbusyassertionhardlinkstapereact-hook-formfunctionalTypeBoxargparsestdlibtraverseString.prototype.matchAllECMAScript 5queueMicrotaskfastcopysuperstructfastclonehttpconfigslotcolorsauthtypeofargvtrimEndecmascriptdeepclonermstreamrgbs3inspectkarmadirshellirqopenerwatchingmodulesdynamodbthroatstyleguideautoscalingECMAScript 2023processexpressionimportexportRxxhrfseventsArrayBuffercommanderfull-widthUnderscoredropcolumnless.jstoStringTagesclihashpropertyautoprefixerfilterTypeScripteventDispatcherbootstrap lessdefinePropertynopecolumnsgetOwnPropertyDescriptorsettingsproxyruntimecomparestyled-componentsglaciersymbolmrubindES8Object.valuesESnextArray.prototype.filtervariables in csswaitavaless cssdescriptorsunicodevaluesbuffersdeepcopySetstructuredClonequeuetoArraymobilehookformfindauthenticationloggershebangcss variablevestgetintrinsichttpstypesafestatelesstrimLefttypedarrayidleflattenformattingslicewebsitenodestatusrmdirspecdatereuseBigInt64ArrayRxJSES2016installes2015mimecss nestingfast-deep-clonefindLastIndexttyextrabrowserfullwidthSymbolparsefunctionssyntaxerroreast-asian-widthtc39copyaccessorl10nstringifyInt8ArrayFloat32Arraypreprocessorwindowses2016fullroute53deterministiccallboundes8getterurlsArray.prototype.flattenchineseformsterminalcommand-linecolourECMAScript 2021groupBylaunchreactfile systemprogressfindLastwrapkeygdprhasOwnsideeslint-pluginindicatorsafeArray.prototype.flatMapAsyncIteratores-abstractintrinsicsetparentstringerror-handlingObject.getPrototypeOfUint16ArrayRegExp.prototype.flagshandlerscallbindfunctionmatchAllflagutilitiesloadingtouchsortbddliveES2020cryptorecursivestarterlanguageenumerablemovejQueryECMAScript 2019redux-toolkitelectroncall-binddescriptionmaketasktypedarraysimportspawnparsingfastifywidthStyleSheetgetoptMapgrouparraybufferes5parentsnegativecheckequalityi18nWebSocketsperformancecontainslastdefinedatastructurereal-timeES2017ec2cloneflagssuperagentIteratornameserrorendpointremove_.extendstartdirectorytrimStartSymbol.toStringTaglockfileWeakSettypeerrorreact-hooksbundlingrequirejsdiffmulti-packageminimaltimebluebirddeep-copysetImmediateJSON-Schemarfc4122ES2018globalhotrobustapppropserializedataviewcompilerfpswordwrapforEachES7cloudtrailArray.prototype.flattrimRightObject.assigneverywatchersequencetakeString.prototype.trimstyleemitprunelrurestfulidentifiersquerystringgetrestserializerexeshrinkwrapelbmetadatapostcss-pluginassertshas-ownwebES2022ECMAScript 6protobufform-validationmonorepoECMAScript 2022syntaxasyncwhatwgfigletimmerclassnameschromeefficientargumentsdefaultregular expressionstreamsoptimizerpyyamlcoercibleupenvargumentsearchfindupwalkeslintplugininstallercss-in-jsmimetypesregexpoffsetECMAScript 3collectionarrayrandomjapanesecallbackutilityzodurlObject.isio-tsArray.prototype.findLastIndexeditorelasticachenodejsenvironmentsclasseses6trimbootstrap cssdiffbyteOffsetconnecttslibchildclassnamemiddlewarecommandwriteawsoutputincludesWebSocketcore-jsisConcatSpreadableArray.prototype.findLastpostcssconsume0ESpathmatchinternal slotprototypeECMAScript 2018persistentcss lessbcrypt@@toStringTagcurlsigtermMicrosoftstylingsymlinkstddduplexexecutablereplayHyBibrowserlistpolyfillUint8ClampedArraycensorglobalscharacterURLbyteLengthiescheme-validationemrschemevalidspinnerstylesless compilerratelimitjavascriptiterationrouterjsxspinnerspackagessinatraconcatMapprettyArrayBuffer#sliceiteratewatchobjectglobprotocol-buffersframeworkstablesharedrm -frmapreduceenderbrowserslistReactiveXquotedayjsschemasesinternalviewweaksetreadablestreamestreemime-dbpropertiesmochawgetpackage managerpackage.jsonrangeerrorES2021__proto__uninstalleventEmitterformsimpledbes-shim APIworkerexpressECMAScript 7JSONredactrapiddataViewcirculareslintconfigInt32ArrayArraycloudfrontdebuggerinputtoolsjsdomspeedURLSearchParamsawesomesaucetoolkittaploggingmixinscompile less[[Prototype]]readablepicomatchfast-cloneinferencecode pointscache.envbundlerpromisesECMAScript 2016workflowArray.prototype.includessetPrototypeOfin
4.7.116

1 year ago

4.7.115

1 year ago

4.7.114

1 year ago

4.7.113

1 year ago

4.7.112

1 year ago

4.7.111

1 year ago

4.7.110

1 year ago

4.7.109

1 year ago

2.3.28

1 year ago

2.3.27

1 year ago

2.3.29

1 year ago

2.3.24

1 year ago

2.3.23

1 year ago

2.3.26

1 year ago

2.3.25

1 year ago

2.3.20

1 year ago

2.3.22

1 year ago

2.3.21

1 year ago

3.4.58

1 year ago

3.4.59

1 year ago

4.7.108

1 year ago

3.6.100

1 year ago

3.6.101

1 year ago

3.4.53

1 year ago

3.4.54

1 year ago

3.4.55

1 year ago

3.4.56

1 year ago

3.4.57

1 year ago

2.3.39

1 year ago

2.3.38

1 year ago

2.3.35

1 year ago

2.3.34

1 year ago

2.3.37

1 year ago

2.3.36

1 year ago

2.3.31

1 year ago

2.3.30

1 year ago

2.3.33

1 year ago

2.3.32

1 year ago

3.5.79

1 year ago

3.5.78

1 year ago

3.5.77

1 year ago

3.5.76

1 year ago

3.5.75

1 year ago

3.5.74

1 year ago

3.5.73

1 year ago

2.3.49

1 year ago

3.6.102

1 year ago

2.3.46

1 year ago

3.6.103

1 year ago

2.3.45

1 year ago

2.3.48

1 year ago

2.3.47

1 year ago

3.5.72

1 year ago

2.3.42

1 year ago

3.5.71

1 year ago

2.3.41

1 year ago

3.5.70

1 year ago

2.3.44

1 year ago

2.3.43

1 year ago

2.3.40

1 year ago

3.5.87

1 year ago

3.5.86

1 year ago

3.5.85

1 year ago

3.5.84

1 year ago

3.5.83

1 year ago

3.5.82

1 year ago

3.5.81

1 year ago

3.5.80

1 year ago

2.3.51

1 year ago

2.3.50

1 year ago

3.5.69

1 year ago

3.5.68

1 year ago

3.5.67

1 year ago

3.5.66

1 year ago

3.5.65

1 year ago

3.5.64

1 year ago

3.5.63

1 year ago

3.7.107

1 year ago

3.7.108

1 year ago

3.7.105

1 year ago

3.7.106

1 year ago

3.6.89

1 year ago

3.7.103

1 year ago

3.6.88

1 year ago

3.7.104

1 year ago

3.6.87

1 year ago

3.4.61

1 year ago

3.4.62

1 year ago

3.4.63

1 year ago

3.4.60

1 year ago

2.4.53

1 year ago

2.4.52

1 year ago

2.4.51

1 year ago

3.6.99

1 year ago

3.6.98

1 year ago

3.6.97

1 year ago

3.6.96

1 year ago

2.3.19

1 year ago

2.3.18

1 year ago

3.6.95

1 year ago

3.6.94

1 year ago

3.6.93

1 year ago

3.6.92

1 year ago

3.6.91

1 year ago

3.6.90

1 year ago

2.3.17

1 year ago

2.3.16

1 year ago

2.3.13

1 year ago

2.3.15

1 year ago

2.3.14

1 year ago

1.3.13

1 year ago

1.3.12

1 year ago

1.3.11

1 year ago

1.3.10

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.2.4

1 year ago