Skip to content

geekflyer/gulp-ui5-preload

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NOTE: This project is looking for Maintainers. See this Issue

gulp-ui5-preload Build Status npm version

Creates a Component-preload.js or library-preload.json file for openui5 / sapui5 projects. Creating a preload file can speed up the initial load time of your webapp, by reducing the number of HTTP requests / roundtrips to load your code. The preload file can combine your js artifacts, xml, html and json views as well as .properties files into a single Component-preload.js / library-preload.json file.

Install

$ npm install --save-dev gulp-ui5-preload

Usage

Simple example.

var ui5preload = require('gulp-ui5-preload');

gulp.task('ui5preload', function(){
  return gulp.src([
					'src/ui/**/**.+(js|xml)',
					'!src/ui/thirdparty/**' //exclude files that don't belong in preload (optional)
                  ])
          .pipe(ui5preload({base:'src/ui',namespace:'my.project.ui'}))
          .pipe(gulp.dest('dist'));
     })

Example with uglify / minify js and xml.

// npm install --save-dev gulp-ui5-preload gulp-uglify gulp-pretty-data gulp-if
var ui5preload = require('gulp-ui5-preload');
var uglify = require('gulp-uglify');
var prettydata = require('gulp-pretty-data');
var gulpif = require('gulp-if');

gulp.task('ui5preload', function(){
  return gulp.src([
					'src/ui/**/**.+(js|xml)',
					'!src/ui/thirdparty/**'
                  ])
          .pipe(gulpif('**/*.js',uglify()))    //only pass .js files to uglify
          .pipe(gulpif('**/*.xml',prettydata({type:'minify'}))) // only pass .xml to prettydata 
          .pipe(ui5preload({base:'src/ui',namespace:'my.project.ui'}))
          .pipe(gulp.dest('dist'));
     })

API

ui5Preload(options) -> vinyl through-stream

Accepts an options object. Returns a vinyl through-stream which collects all .xml and .js files and emits a single vinyl file (Component-preload.js / library-preload.json) which is passed downstream.

options

base
  • required
  • Type: string

The base / entry path of your app. Usually the same location where your index.html and the Component.js resides. Can also be just './' to point to the root of your project.

namespace
  • Type: string
  • Default: ''
  • Example: my.company.app

The namespace at the base path. All source files are treated as sub-namespaces of this namespace, relative to the base path.

fileName
  • Type: string
  • Default: 'Component-preload.js' or 'library-preload.json' (depends on isLibrary option)

File name of the combined file to emit.

isLibrary
  • Type: boolean
  • Default: false

If set to true a library-preload.json file is emitted instead of a Component-preload.js file (default). The emitted file contents between those options vary a little bit.

License

Apache 2.0 © Christian Theilemann

About

Create a Component-preload.js file for openui5 / sapui5 projects

Resources

Stars

Watchers

Forks

Packages

No packages published