code: @Override
      public void execute() throws MojoExecutionException {
          if (typescript == null) {
              typescript = new TypeScript();
          }
  
          if (!typescript.isEnabled()) {
              removeFromWatching();
              getLog().info("Typescript processing disabled");
              return;
          }
  
          npm = npm(this, TYPE_SCRIPT_NPM_NAME, typescript.getVersion());
          this.internalSources = new File(basedir, MAIN_RESOURCES_DIR);
          this.destinationForInternals = new File(buildDirectory, "classes");
  
          this.externalSources = new File(basedir, ASSETS_SRC_DIR);
          this.destinationForExternals = new File(getWisdomRootDirectory(), ASSETS_DIR);
  
          try {
              if (internalSources.isDirectory()) {
                  getLog().info("Compiling TypeScript files with 'tsc' from " + internalSources.getAbsolutePath());
                  processDirectory(internalSources, destinationForInternals);
              }
  
              if (externalSources.isDirectory()) {
                  getLog().info("Compiling TypeScript files with 'tsc' from " + externalSources.getAbsolutePath());
                  processDirectory(externalSources, destinationForExternals);
              }
          } catch (WatchingException e) {
              throw new MojoExecutionException(e.getMessage(), e);
          }
      }
docs: Finds and compiles coffeescript files.
  
  @throws MojoExecutionException if the compilation failed.