@nativescript/webpack
Webpack configuration for NativeScript apps.
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)
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:
__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
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
--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.