Releases: ionic-team/ionic-app-scripts
1.1.0
Optimizations
We are starting to introduce optimizations to improve the size of the bundle
generated by the build process.
The first set of optimizations are behind flags:
ionic_experimental_manual_treeshaking
will remove Ionic components and code that are not being used from the bundle.
ionic_experimental_purge_decorators
helps tree shaking by removing unnecessary decorator
metadata from AoT code.
Since these are experimental, we are looking for feedback on how the work. Please test them out and let us know how it goes. See the instructions here.
Features
- fonts: remove used fonts for cordova builds (967f784)
Bug Fixes
- build: fix test if linting should trigger on file change (#719) (e13b857)
- lint: capture results of all linted files (eb4314e), closes #725
- optimizations: make optimizations work on windows and mac (5fe21f3)
- serve: assign all ports dynamically (#727) (6b4115c)
- webpack: fix bug with using [name] for output file name (1128c9c)
1.0.1
Breaking Changes
This release was accidentally published with a breaking change for Deep Links. If you're using Deep Links, please don't upgrade to this version. We are in the process of changing the DeepLinks API slightly.
Bug Fixes
- angular: support angular 2.3+ ngc api (13e930a)
- deep-linking: works when there isn't a valid deep link config (62f05fc)
- deep-links: adjust paths for AoT (4055d73)
- sass: output valid source maps, that chrome can parse (#306) (6589550)
- source-maps: always generate source map, then purge them if not needed in postprocess step (d26b44c)
Features
1.0.0
Upgrade Instructions
Execute the following command from your ionic project. This installs a new peer dependency called sw-toolbox
that is used to simplify implementing a service-worker.
npm install sw-toolbox --save-dev
Bug Fixes
- build: check to ensure tsconfig contains sourcemaps true. (e6bcf22)
- config: resolve any inputs that could be paths to absolute paths (50876eb)
- copy: check for null object and src/dest (eabd125)
- ngc: revert change to purge decorators (Angular CLI did too) (8aae85c)
- webpack: update environment plugin for webpack 2 RC3 (be3aac1)
- websockets: fix exception when no ws clients connected during rebuild (#616) (8685bf8)
0.0.48
Upgrade Instructions
@ionic/app-scripts
version 0.0.47
had some breaking changes so please make sure you have performed those upgrade instructions.
Bug Fixes
- diagnostics: fix null pointers (72adc86)
- inline-templates: check for existence of content (#557) (b68e125)
- logging: don't log msgs about websocket state (18185fb)
- optimization: stop removing decorators (45b0255)
- serve: find an open port for the notification server if port is used. (d6de413)
- copy: generate project context if it doesn't exist (26f6db8)
Features
0.0.47
Upgrade Instructions
Install latest Ionic CLI
Install the latest ionic cli. sudo
may be required depending upon your npm
set-up.
npm install -g ionic@latest
Entry Point Changes
Delete main.dev.ts
and main.prod.ts
and create a main.ts
file with the following content:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
Dev Builds By Default Changes
All builds are now development (non-AoT) builds by default. This allows for a better development experience when testing on a device. To get started, please follow the steps below.
Make sure the script
section of package.json
looks like this:
"scripts": {
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
}
ionic run android --prod
will do a production build that utilizes AoT compiling and minifaction.
ionic emulate ios --prod
will do a production build that utilizes AoT compiling and minifaction.
ionic run android
will do a development build
ionic emulate ios
will do a development build
If you wish to run AoT but disable minifaction, do the following
ionic run android --aot
ionic emulate ios --aot
Source Map Changes
Change ionic_source_map
to ionic_source_map_type
in package.json if it is overridden.
Config Changes
There were significant improvements/changes to most configs. Please review the changes and make sure any custom configs are up to date.
Validate TSConfig settings
Verify that tsconfig.json
is up to date with recommended settings:
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Breaking Changes
main.dev.ts
andmain.prod.ts
have been deprecated in favor ofmain.ts
with the content ofmain.dev.ts
. The content ofmain.ts
will be optimized at build time for production builds.- Builds are now always development (non-AoT) by default. To enable
prod
builds, use the--prod
option. copy.config
andwatch.config
have breaking changes moving to an easier-to-extend configuration style.copy.config
usesnode-glob
instead offs-extra
to do the copy. Migrate from directory/files to globs in any custom configs.ionic_source_map
configuration has been changed toionic_source_map_type
.- Source maps now use
source-map
devtool option by default instead ofeval
. Changeionic_source_map_type
option to return to the faster buildingeval
.
Bug Fixes
- AoT: dynamically enable prod mode for AoT builds (0594803)
- AoT: use in-memory data store instead of .tmp directory for AoT codegen (93106ff)
- build: every build should run clean sync and copy async. (6d4eb6e)
- copy: Resolve race condition in copy task, move to glob config (cc99a73)
- lab: add lab to files (f42c980)
- livereload: livereload now correctly serves cordova plugins on run and emulate. (a0c3f5d)
- livereload: on project build all pages connected should reload. (#513) (62d6b23)
- livereload: use localhost instead of 0.0.0.0 when injecting live reload script (#450) (7f8a0c3)
- logging: remove unnecessary websocket error msg, clean up copy error msg (1517b06)
- ngc: simpler AoT error reporting (1b0f163)
- serve: add flag to indicate to serve for a cordova app (93782e7)
- source-maps: use detailed source-map as default, fix windows path issue (19464b3)
- workers: generate context in worker threads (af036ec)
Features
- build: replace --dev flag with --prod and add flags --aot, --minifyJs, --minifyCss, --optimizeJs (99922ce)
- bundle: pre and post bundle hooks (4835550)
- copy: update copy config to move web workers (a909fc4)
- lab: fresh coat of paint (edb6f09)
- replacePathVars: support interpolation of objects and arrays (#449) (e039d46)
- all arguments passed should be compared as case insensitive (085c897)
0.0.46
Bug Fixes
- build: better support for saving multiple files at a time (254bb6c)
- copy: ionicons copied from ionicons (69f89a8)
- errors: skip HTTP errors (5906167)
- proxies: Wrong parameter in Logger.info, in setupProxies function causing proxies not to load (#395) (316b1de)
- typescript: lock typescript version to 2.0.x for now due to build error with 2.1.x (ef7203b)
- webpack: fix path resolution (97c23f9)
- webpack: reference json-loader to account for webpack breaking change (d6fe709)
- webpack: resolve modules to rootDir (#365) (64eb845)
Features
0.0.45
0.0.44
Bug Fixes
- debug: cmd+shift+8 to show debug menu (a26d729)
- error: (cmd/ctrl)+8 for debug menu (89550af)
- error: add header padding for cordova iOS (5c4c547)
- error: apply correct css for runtime error close (81f1d75)
- error: fix content scrolling (3b82465)
- error: reload immediately after js/html update (07f918e)
- error: safari css fixes (7c2fb59)
- serve: correct paths so that --lab works (1d99a98)
- serve: open browser to localhost (14275c7)
- transpile: normalize and resolve paths always for OS independence (ca6c889)
- watch: fallback for when chokidar watch ready/error don't fire (happens on windows when file is (519cd7f), closes #282
- watch: watch now ignores Mac OS meta data files (02d0b8d), closes #331
- webpack: source maps link to original src for ide debugging (39edd2e)
Features
0.0.43
0.0.42
Upgrade Steps
To use this version of @ionic/app-scripts
, follow these steps to upgrade:
-
Install the latest version of the ionic cli
npm install ionic@latest -g
Note: sudo may be required depending on your workstation set-up
-
Update the project's
package.json
file'sscript
section to look like this:... "scripts" : { "ionic:build": "ionic-app-scripts build", "ionic:serve": "ionic-app-scripts serve" } ...
Note: This is removing several deprecated Ionic scripts. If you have any of your own custom scripts, don't remove them.
-
Install the latest version of
@ionic/app-scripts
npm install @ionic/app-scripts@latest --save-dev
Bug Fixes
- bundling: execute bundle updates if full bundle has completed at least once (fbe56dc)
- sass: remove broken sass caching (91faf0b)