1.2.5 (2017-03-31)
- webpack: fixes bugs where some third party libs didn't load correctly (e7559e5)
1.2.4 (2017-03-30)
- deep-linking: set default segment value to filename without extension(5a97ba5)
1.2.3 (2017-03-29)
-
deep-linking: Deep linking fixes for Windows and non-unix paths
-
script: linux only accepts one argument after shebang, so revert giving app-scripts more memory by default (0999f23), closes #838
1.2.2 (2017-03-27)
- generators: use correct path and handle providers correctly (e82d5ff)
- rollup: pass all config options to generate (3502360)
1.2.1 (2017-03-26)
- deep-linking: only attempt to inject deep-link config if there isn't an existing config and the (507f1a8)
- rollup: fix bug with not generating source-map correctly (3b1fd16)
1.2.0 (2017-03-24)
- deep-linking: Fix issue with deep-linking when attempting to update a template and failing, resulting in a full build but not processing deep links (6b158d3)
- optimization: fix out of memory errors by providing more memory by default (b4c287a)
- optimizations: only store ionic and src files in memory (f51314f)
- uglify: check for correct file extension (d17f2e1)
- uglify: verify source maps are generated correctly for all bundles, tests (fc44ca6)
- utils: assign correct type (3c3666c)
- watch: fixed bug where options.ignore was being ignored if it's an array (7f1e54c)
- watch: queue builds (06e4971)
- watch: queue buildUpdates events to avoid race conditions when bundling/building (43caefa)
- webpack: don't overwrite css files when outputting webpack files (a32649f)
- serve: change http-server to use request hostname instead of the configured hostname. (8e1e81a)
- deep-linking: generate default NgModule when missing by default (90138fa)
- deep-linking: parsing deeplink decorator is now enabled by default, no longer experimental (e097d4e)
- deep-linking: upgrade script to generate NgModules for pages with @DeepLink decorator (2943188)
- generators: generators for page, component, directive, pipe, provider (e2a45e4)
- minification: code-split bundles will be minified (#814) (d8d9a4e)
1.1.4 (2017-02-23)
- optimizations: comment out code instead of purge it so source-maps don't error out in some edge (1dedc53)
- watch: make default watch fail-to-start timeout configurable so it works more reliably on slow (2e2a647), closes #772
1.1.3 (2017-02-17)
- config: Setting readConfigJson constant wrong (#761) (64bc17f)
- source-maps: source map must correspond to .js file name with a .map at the end (debd88b)
1.1.2 (2017-02-16)
- deep-links: handle configs with internal arrays (a7df816)
- deep-links: only provide deep links to webpack that contain the import used in code and the abs (fae4862)
- optimizations: remove the js file created by the optimizations bundling pass (c0bb3f4)
1.1.1 (2017-02-15)
- config: node_modules directory should not be configurable (users were finding it confusing) (1f58aaa)
- copy: support overriding config entries with empty objects (5879a8b)
- deeplinks: make deep link config parsing support 2.x and 3.x deep link config (1ac7116)
- deeplinks: provide deep-links config to webpack as needed vs via the constructor (a735e96)
- http-server: drive reading ionic.config.json based on config value (e2d0d83)
- optimizations: throw error when ionic-angular index file isn't found (6437005)
- transpile: get tsconfig.json location from config value (79b0eeb)
1.1.0 (2017-02-11)
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.
- fonts: remove used fonts for cordova builds (967f784)
- 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 (2017-02-07)
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.
- 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)
- createWorker: pass argv and config_argv to spawned processes (#487) (02dfff8)
- lint: new option to have stand alone lint bail (b3bb906)
1.0.0 (2017-01-06)
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 --save-exact
- 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 (2016-12-19)
@ionic/app-scripts
version 0.0.47
had some breaking changes so please make sure you have performed those upgrade instructions.
- 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)
0.0.47 (2016-12-12)
Install the latest ionic cli. sudo
may be required depending upon your npm
set-up.
npm install -g ionic@latest
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);
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 scripts
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
Change ionic_source_map
to ionic_source_map_type
in package.json if it is overridden.
There were significant improvements/changes to most configs. Please review the changes and make sure any custom configs are up to date.
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
}
}
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
.
- 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)
- 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 (2016-11-21)
- 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)
0.0.45 (2016-11-17)
- errors: runtime error immediately, selectable stack (70f68da)
- inline-templates: update bundle and memory file representation on template change (11a949d)
- rollup: invalidate cache on template change (80c0eb6)
- webpack: invalidate cache by use of timestamps (4d6bbd5)
- run-build-update: handle linked npm modules (#375) (0f113c8)
- serve: add '/ionic-lab' as an alias for the lab html file path. (c319404)
0.0.44 (2016-11-15)
- 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)
- debug: debug menu options (53d6e30)
- debug: shake device to show debug menu (770f4e3)
- error: client runtime error reporting (fc40b92)
- error: syntax and error highlighting (8836310)
0.0.43 (2016-11-10)
- rollup: removing rollup metadata prefix for paths (350a288)
- watch: remove shorthand arg for watch (0685c0b), closes #290
- webpack: typo in import, close #326 (#341) (6b89fa2)
0.0.42 (2016-11-09)
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
- bundling: execute bundle updates if full bundle has completed at least once (fbe56dc)
- sass: remove broken sass caching (91faf0b)
- error: use datauri for favicon build status (892cf4a)
- errors: overlay build errors during development (87f7648)
0.0.41 (2016-11-07)
- webpack: use source-maps instead of eval for prod builds (fdd86be)
ionic_source_map
variable is now used to drive the devtool
(sourcemap) value for webpack. It now defaults to eval
for faster builds. Set it to source-map
for typescript
sourcemaps.
- sourcemaps: fix source maps for all files (066de6d)
- sourcemaps: webpack .ts sourcemaps (bfca1be)
- webpack: modify config to use IONIC_APP_SCRIPTS_DIR variable (2b7c606)
- events: emit bundler events (8d73da9)
- exports: add templateUpdate and fullBuildUpdate (a31897d)
- webpack source maps: make it easy to configure source map type (03565b7)
- webpack: speed up webpack build by not using file-system and watches (23ad195)
- Switch default bundler to Webpack
- Fix handling multiple async template updates
- Fix resolving index files correctly
- Fix template rebuilds for multiple templates in one file
- Fix ability to watchers to ignore paths
- Fix silently failed bundles
- Fix template path resolving issues
- Improve build times for template changes
- Fix bundle updates on template changes
- Fix Windows entry path normalization
- Add ability use multiple processor cores for various subtasks
- Use typescript
createProgram
to transpile entire app - Add syntax highlighting and colors to typescript, sass and tslint errors
- Improved error messages for typescript errors
clean
task only cleans out thewww/build/
directory rather than all ofwww/
- Add task to copy
src/service-worker.js
towww/service-worker.js
- Add task to copy
src/manifest.json
towww/manifest.json
- Fix JS source maps
- Fix template inlining
- Addressed memory usage error
- Dev builds no longer use the
.tmp
directory - Dev build entry files should be the source
main.dev.ts
file - Custom rollup configs should remove the
ngTemplate()
plugin