Skip to content

bharathvaj-ganesan/vCon

Repository files navigation



A tiny ad free video convertor





Run

Start the app in the dev environment. This starts the renderer process in hot-module-replacement mode and starts a webpack dev server that sends hot updates to the renderer process:

$ yarn dev

Alternatively, you can run the renderer and main processes separately. This way, you can restart one process without waiting for the other. Run these two commands simultaneously in different console tabs:

$ yarn start-renderer-dev
$ yarn start-main-dev

If you don't need autofocus when your files was changed, then run dev with env START_MINIMIZED=true:

$ START_MINIMIZED=true yarn dev

Packaging

To package apps for the local platform:

$ yarn package

To package apps for all platforms:

First, refer to Multi Platform Build for dependencies.

Then,

$ yarn package-all

To package apps with options:

$ yarn package -- --[option]

💡 You can debug your production build with devtools by simply setting the DEBUG_PROD env variable:

DEBUG_PROD=true yarn package

⚠️ Please read the following section before installing any dependencies ⚠️

Module Structure

This app uses a two package.json structure. This means, you will have two package.json files.

  1. ./package.json in the root of your project
  2. ./app/package.json inside app folder

Which package.json file to use

Rule of thumb is: all modules go into ./package.json except native modules, or modules with native dependencies or peer dependencies. Native modules, or packages with native dependencies should go into ./app/package.json.

  1. If the module is native to a platform (like node-postgres), it should be listed under dependencies in ./app/package.json
  2. If a module is imported by another module, include it in dependencies in ./package.json. See this ESLint rule. Examples of such modules are material-ui, redux-form, and moment.
  3. Otherwise, modules used for building, testing and debugging should be included in devDependencies in ./package.json.

Apache License 2.0 © Bharathvaj Ganesan