1

When I do ‘meteor build …/output --server-only’ for deploying, I am getting the error: this.compilerCli.createCompilerHost is not a function

I upgraded the project Meteor@1.5.4.1 to Meteor@1.6.1.1, removed angular2-compilers and added angular-compilers, and made related changes. The project is running perfectly, however, build for deploying throws the error. While the meteor version is 1.5.4.1, there was no problem.

Ubuntu version: Ubuntu 17.10

Meteor version: METEOR@1.6.1.1

Angular version: 4.4.7

edge@edge-VirtualBox:~/Repos/webapp-ui$ meteor build ../output --server-only
[client]: Collecting TypeScript source files: 2.898ms
TypeScript Host Created.: 0.436ms
TypeScript Program Created.: 1831.779ms
[client]: HTML Files Compilation: 105.252ms  |
[client]: SCSS Files Compilation: 232.564ms  |
WARN: Output exceeds 32000 characters        \
[server]: Collecting TypeScript source files: 2.736ms
TypeScript Host Created.: 0.073ms
TypeScript Program Created.: 245.550ms
[server]: HTML Files Compilation: 0.020ms    |
[server]: SCSS Files Compilation: 0.038ms    |
Errors prevented bundling:                    
While processing files with angular-compilers (for target web.browser):
packages/angular-typescript-compiler/index.js:428:29: this.compilerCli.createCompilerHost is not a
function
at AngularTsCompiler.createCompilerHost (packages/angular-typescript-compiler/index.js:428:29)
at Promise.asyncApply (packages/angular-typescript-compiler/index.js:323:31)
at
/home/edge/.meteor/packages/mys_fonts/.0.0.2.150p9hr++os+web.browser+web.cordova/plugin.compileFonts.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:33:40


While processing files with angular-compilers (for target os.linux.x86_64):
packages/angular-typescript-compiler/index.js:428:29: this.compilerCli.createCompilerHost is not a
function
at AngularTsCompiler.createCompilerHost (packages/angular-typescript-compiler/index.js:428:29)
at Promise.asyncApply (packages/angular-typescript-compiler/index.js:323:31)
at
/home/edge/.meteor/packages/mys_fonts/.0.0.2.150p9hr++os+web.browser+web.cordova/plugin.compileFonts.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:33:40

Meteor Packages:

meteor-base@1.3.0 # Packages every Meteor app needs to have
mobile-experience@1.0.5 # Packages for a great mobile UX
mongo@1.4.2 # The database Meteor supports right now
reactive-var@1.0.11 # Reactive variable for tracker
jquery@1.11.10 # Helpful client-side library
tracker@1.1.3 # Meteor’s client-side reactive programming library

standard-minifier-css@1.4.0 # CSS minifier run for production mode
es5-shim@4.7.0 # ECMAScript 5 compatibility for older browsers
ecmascript@0.10.6 # Enable ECMAScript2015+ syntax in app code

mys:fonts
check@1.3.0
fortawesome:fontawesome
twbs:bootstrap
mrt:moment-timezone
dynamic-import@0.3.0
abernix:standard-minifier-js
browser-policy@1.1.0
momentjs:moment
session@1.1.7
http@1.4.0
angular-compilers@0.3.2

I appreciate the help. Regards!

Urigo
  • 3,175
  • 21
  • 27
ihist
  • 86
  • 5

1 Answers1

0

Bundling an angular meteor app is much fussier that running in dev mode. I'm having complex issues with my app that works perfectly fine in dev mode.

The error looks to me like it’s missing the angular cli or typescript as that’s where the compilerhost comes from.

To quote the angular meteor repo:

Angular's compiler-cli and other libraries are peer dependencies of this package, so you need to add them to you project.

$ meteor npm install @angular/core @angular/common @angular/compiler @angular/compiler-cli typescript --save-dev

Paul Cochrane
  • 399
  • 1
  • 4