Skip to content
This repository has been archived by the owner on May 1, 2020. It is now read-only.

Releases: ionic-team/ionic-app-scripts

1.1.0

11 Feb 04:02
Compare
Choose a tag to compare

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

07 Feb 17:34
Compare
Choose a tag to compare

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

  • createWorker: pass argv and config_argv to spawned processes (#487) (02dfff8)
  • lint: new option to have stand alone lint bail (b3bb906)

1.0.0

06 Jan 05:41
Compare
Choose a tag to compare

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

19 Dec 17:01
Compare
Choose a tag to compare

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

  • sass: enable Sass indented files compilation (#565) (f632298)

0.0.47

12 Dec 17:33
Compare
Choose a tag to compare

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

  1. main.dev.ts and main.prod.ts have been deprecated in favor of main.ts with the content of main.dev.ts. The content of main.ts will be optimized at build time for production builds.
  2. Builds are now always development (non-AoT) by default. To enable prod builds, use the --prod option.
  3. copy.config and watch.config have breaking changes moving to an easier-to-extend configuration style.
  4. copy.config uses node-glob instead of fs-extra to do the copy. Migrate from directory/files to globs in any custom configs.
  5. ionic_source_map configuration has been changed to ionic_source_map_type.
  6. Source maps now use source-map devtool option by default instead of eval. Change ionic_source_map_type option to return to the faster building eval.

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

21 Nov 17:35
Compare
Choose a tag to compare

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

  • options: allow users to pass their own cleanCss Options (#377) (20df6d4)

0.0.45

17 Nov 16:22
Compare
Choose a tag to compare
  • 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)

Features

  • 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

15 Nov 17:13
Compare
Choose a tag to compare

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

  • 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

10 Nov 20:27
Compare
Choose a tag to compare

Bug Fixes

  • 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

09 Nov 21:36
Compare
Choose a tag to compare

Upgrade Steps

To use this version of @ionic/app-scripts, follow these steps to upgrade:

  1. Install the latest version of the ionic cli

      npm install ionic@latest -g
    

    Note: sudo may be required depending on your workstation set-up

  2. Update the project's package.json file's script 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.

  3. 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)

Features

  • error: use datauri for favicon build status (892cf4a)
  • errors: overlay build errors during development (87f7648)