Skip to content
This repository has been archived by the owner on Nov 4, 2021. It is now read-only.

ParseError: 'import' and 'export' may appear only with 'sourceType: module' #55

Open
emcniece opened this issue Sep 22, 2016 · 0 comments

Comments

@emcniece
Copy link

Originally posted at darekf77/ng2-logger#2

I am trying to add in a new NPM package and it is throwing some errors:

➜  i2-app ionic serve

Running 'serve:before' gulp task before serve
[15:57:06] Starting 'clean'...
[15:57:06] Finished 'clean' after 37 ms
[15:57:06] Starting 'watch'...
[15:57:06] Starting 'sass'...
[15:57:06] Starting 'html'...
[15:57:06] Starting 'fonts'...
[15:57:06] Starting 'scripts'...
[15:57:06] Finished 'scripts' after 40 ms
[15:57:06] Finished 'html' after 43 ms
[15:57:06] Finished 'fonts' after 46 ms
[15:57:07] Finished 'sass' after 799 ms
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(12,52): Error TS2339: Property 'includes' does not exist on type 'string[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(41,25): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(43,42): Error TS2339: Property 'name' does not exist on type 'typeof Log'.
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(46,42): Error TS2339: Property 'name' does not exist on type 'typeof Log'.
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(49,42): Error TS2339: Property 'name' does not exist on type 'typeof Log'.
TypeScript error: /appdir/node_modules/ng2-logger/src/log.ts(52,42): Error TS2339: Property 'name' does not exist on type 'typeof Log'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(15,54): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(16,30): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(19,60): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(26,54): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(27,30): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(30,60): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(37,54): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(38,30): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(41,60): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(48,54): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(49,30): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
TypeScript error: /appdir/node_modules/ng2-logger/src/logger.ts(52,60): Error TS2339: Property 'includes' does not exist on type 'Level[]'.
[15:57:09] Finished 'watch' after 3.07 s
[15:57:09] Starting 'serve:before'...
[15:57:09] Finished 'serve:before' after 3.77 μs

Running live reload server: http://localhost:35729
Watching: www/**/*, !www/lib/**/*
√ Running dev server:  http://localhost:8100
Ionic server commands, enter:
  restart or r to restart the client app from the root
  goto or g and a url to have the app navigate to the given url
  consolelogs or c to enable/disable console log output
  serverlogs or s to enable/disable server log output
  quit or q to shutdown the server and exit

ionic $
/appdir/node_modules/ng2-logger/ng2-logger.ts:1
export * from './src';
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'

In app.ts this logger is being injected like so:

import { Log, Level } from 'ng2-logger/ng2-logger'

After reading the tsify FAQ it seems that perhaps this module is not being compiled to Javascript at the right time. I am now experimenting with the options inside the buildBrowserify() call - here's the gulp task:

gulp.task('watch', ['clean'], function(done){
  runSequence(
    ['sass', 'html', 'fonts', 'scripts'],
    function(){
      gulpWatch('app/**/*.scss', function(){ gulp.start('sass'); });
      gulpWatch('app/**/*.html', function(){ gulp.start('html'); });
      buildBrowserify({
        watch: true,
        browserifyOptions: {
          debug: false // sourcemaps on
        },
        tsifyOptions: {
          target: 'es5',
          sourceType: "module"
        }
      }).on('end', done);
    }
  );
});

So far, the addition of tsifyOptions hasn't made a difference. Does anyone know how I can get this to compile properly?

ionic 2.0.0-beta.37
ionic-angular 2.0.0-beta.11
Darwin 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant