X Tutup
Skip to content

Latest commit

 

History

History

README.md

NativeScript

@nativescript/webpack

Webpack configuration for NativeScript apps.

npm version license downloads

Documentation · Environment Setup · Contribute · Community


All NativeScript applications are bundled using webpack. This package provides the required configuration to build NativeScript apps with flexibility to customize as needed.

📦 Installation

npm install @nativescript/webpack --save-dev

🚀 Quick Start

All new projects come with a base webpack.config.js that's pre-configured:

const webpack = require('@nativescript/webpack')

module.exports = (env) => {
  webpack.init(env)

  // Learn how to customize:
  // https://docs.nativescript.org/webpack

  return webpack.resolveConfig()
}

✨ Features

  • Auto-discovery: Automatically detects your project type (TypeScript, Angular, Vue, React, Svelte)
  • Hot Module Replacement: HMR enabled by default for faster development
  • DotEnv Support: Built-in support for .env files to manage environment variables
  • Bundle Analysis: Generate bundle reports with --env.report
  • Production Optimization: Minification with Terser in production mode

🔧 Global Variables

Useful globally available variables in your app:

Variable Description
__DEV__ true when building in development mode
global.isAndroid / __ANDROID__ true when platform is Android
global.isIOS / __IOS__ true when platform is iOS
global.isVisionOS / __VISIONOS__ true when platform is visionOS
global.__APPLE__ true when platform is iOS or visionOS

📚 API

Core Methods

Method Description
webpack.init(env) Initialize the internal env object (required)
webpack.chainWebpack(chainFn) Add chain functions to modify config
webpack.mergeWebpack(obj) Merge objects into the final config
webpack.resolveConfig() Resolve the final webpack configuration

🎛️ CLI Flags

Flag Description
--no-hmr Disable Hot Module Replacement
--env.production Enable production mode with minification
--env.report Generate bundle analysis report
--env.verbose Print verbose logs and internal config
--env.e2e Enable E2E mode (enables testID property)

📖 Documentation

For complete documentation including configuration examples, visit the webpack configuration guide.

📄 License

MIT licensed.

X Tutup