That alias is for webpack, so it works when not doing typechecking: https://github.com/driftyco/ionic-conference-app/blob/master/webpack.config.js#L25. When not checking types, webpack resolves the file paths, gives them to awesome-typescript-loader, and then awesome-typescript-loader feeds the files to typescript one at a time, and all typescript has to do is transpile them and give them back (no path lookups from typescript necessary).
But when checking types, typescript has to look up the paths to the type definitions, and it only knows to look in exactly node_modules/name_of_package because aliasing isn’t supported yet (the issue that Brandy posted).
So that’s why the typescript branch has imports like ionic-framework/ionic and master has ionic/ionic with the alias in webpack.config.js. It’s only temporary until typescript 1.8 comes out with path mapping.