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

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

@emcniece

Description

@emcniece

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions