0.5.3 • Published 5 years ago

@holisticon/angularjs-common v0.5.3

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

AngularJS Common Module

DEPRECATED

Build Status Build status npm version Code Climate Issue Count Dependency Status devDependency Status

A simple module for AngularJS , that encapsulates the complete Webpack build and just requires some basic configuration in the using AngularJS projects without hassle around with the build

NPM

Installation

npm install @holisticon/angularjs-common --save

Or if you want to use the development version (nightly build), which maybe not stable:

npm install @holisticon/angularjs-common@next --save

Usage

Basic Usage

  • Create an config path, e.g. etc/appConfig.js:
var path = require("path");
// resolve paths
var sourceRoot = path.resolve(__dirname, '..', 'src', 'main', 'frontend'),
  testRoot = path.resolve(__dirname, '..', 'src', 'test', 'frontend'),
  distRoot = path.resolve(__dirname, '..', 'src', 'main', 'resources', 'static');
// overwrite defaults
var appConfig = {
  srcPath: 'src/main/frontend',
  testPath: 'src/test/frontend',
  entry: {
    app: sourceRoot + '/scripts/app.js',
    salesboard: sourceRoot + '/scripts/app.salesboard.js',
    assignment: sourceRoot + '/scripts/app.assignment.js'
  },
  srcApp: path.resolve(sourceRoot, 'app'),
  testApp: path.resolve(testRoot, 'specs'),
  srcSASS: path.resolve(sourceRoot, 'scss'),
  srcI18N: path.resolve(sourceRoot, 'app', 'i18n'),
  srcIMG: path.resolve(sourceRoot, 'img'),
  dist: distRoot
};
module.exports = appConfig;

And provide a dummy files for

  • karma.conf.js:
process.env['APP_CONFIG'] = require("path").resolve(__dirname, 'etc', 'appConfig.js');
module.exports = require('@holisticon/angularjs-common').karma;
  • karma.conf.ci.js:
process.env['APP_CONFIG'] = require("path").resolve(__dirname, 'etc', 'appConfig.js');
module.exports = require('@holisticon/angularjs-common').karma_ci;
  • webpack.config.js:
process.env['APP_CONFIG'] = require("path").resolve(__dirname, 'etc', 'appConfig.js');
module.exports = require('@holisticon/angularjs-common').webpack;
  • Append following entries to your package.json:
  ...
  "scripts": {
    "start": "npm install && npm run watch",
    "watch": "cross-env NODE_ENV=development webpack-dev-server --hot --inline --colors --progress --display-error-details --port 3000 ",
    "build": "cross-env NODE_ENV=production webpack",
    "test": "cross-env NODE_ENV=test karma start etc/karma.conf.ci.js",
    "debug": "cross-env NODE_ENV=test karma start etc/karma.conf.js"
  },
  ...

If you run npm run watch you can see your dependency statistics at localhost:3000/statistics.html: WEBPACK VISUALIZER

Advanced Usage

JUnit-Report customization

...
var appConfig = {
  ...
    junit: {
    title: 'MyProject',
    dir: 'dist/test-reports'
  },
  ...
};

module.exports = appConfig;

Multiple apps

var path = require("path");

// resolve paths
var sourceRoot = path.resolve(__dirname, '..', 'src', 'main', 'frontend'),
  testRoot = path.resolve(__dirname, '..', 'src', 'test', 'frontend'),
  distRoot = path.resolve(__dirname, '..', 'src', 'main', 'resources', 'static');
// overwrite defaults
var appConfig = {
  srcPath: 'src/main/frontend',
  testPath: 'src/test/frontend',
  testSpecs: '/specs/**/*.ts',
  templatesPath: 'src/main/frontend/scripts/templates',
  entry: {
    app: sourceRoot + '/scripts/app.js',
    salesboard: sourceRoot + '/scripts/app.salesboard.js',
    assignment: sourceRoot + '/scripts/app.assignment.js'
  },
  index: 'src/main/frontend/index.html',
  srcApp: path.resolve(sourceRoot, 'app'),
  testApp: path.resolve(testRoot, 'specs'),
  srcSASS: path.resolve(sourceRoot, 'scss'),
  srcI18N: path.resolve(sourceRoot, 'app', 'i18n'),
  srcIMG: path.resolve(sourceRoot, 'img'),
  dist: distRoot,
  proxy: {
    '*': 'http://localhost:8080' // REST service
  }
};
module.exports = appConfig;var path = require("path");

// resolve paths
var sourceRoot = path.resolve(__dirname, '..', 'src', 'main', 'frontend'),
  testRoot = path.resolve(__dirname, '..', 'src', 'test', 'frontend'),
  distRoot = path.resolve(__dirname, '..', 'src', 'main', 'resources', 'static');
// overwrite defaults
var appConfig = {
  srcPath: 'src/main/frontend',
  testPath: 'src/test/frontend',
  appPath: 'src/main/frontend/scripts/app*.js',
  templatesPath: 'src/main/frontend/scripts/templates',
  entry: {
    app: sourceRoot + '/scripts/app.js',
    salesboard: sourceRoot + '/scripts/app.salesboard.js',
    assignment: sourceRoot + '/scripts/app.assignment.js'
  },
  chunks: {
    filename: "commons.[chunkhash].chunk.js",
    name: "commons"
  },
  indexFiles: [{
    filename: 'index.html',
    template: 'src/main/frontend/index.html',
    chunks: ['app', 'commons'],
    chunksSortMode: 'dependency'
  }, {
    filename: 'salesboard.html',
    template: 'src/main/frontend/salesboard.html',
    chunks: ['salesboard', 'commons'],
    chunksSortMode: 'dependency'
  }, {
    filename: 'assignment.html',
    template: 'src/main/frontend/assignment.html',
    chunks: ['assignment', 'commons'],
    chunksSortMode: 'dependency'
  }],
  srcApp: path.resolve(sourceRoot, 'app'),
  testApp: path.resolve(testRoot, 'specs'),
  srcSASS: path.resolve(sourceRoot, 'scss'),
  srcI18N: path.resolve(sourceRoot, 'app', 'i18n'),
  srcIMG: path.resolve(sourceRoot, 'img'),
  dist: distRoot,
  proxy: {
    '*': 'http://localhost:8080' // REST service
  },
  additionalWebpackOptions: {
    plugins {
      /* show only de and en locale */
      new webpack.NormalModuleReplacementPlugin(
        /moment[\/\\]locale$/,
        /de|en/
      )
    }
  }
};
module.exports = appConfig;
0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.3

6 years ago

0.4.2-53

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.3.0-26

7 years ago

0.3.0-25

7 years ago

0.3.0-24

7 years ago

0.3.0-23

7 years ago

0.3.0-22

7 years ago

0.3.0-21

7 years ago

0.4.0-51

7 years ago

0.4.0-50

7 years ago

0.3.0-20

7 years ago

0.4.0

7 years ago

0.3.0-19

7 years ago

0.3.0-18

7 years ago

0.3.0-17

7 years ago

0.3.0-14

7 years ago

0.3.0-13

7 years ago

0.3.0-5

7 years ago

0.4.0-dev-4

8 years ago

0.4.0-dev-3

8 years ago

0.3.0

8 years ago

0.3.0-49

8 years ago

0.3.0-dev-48

8 years ago

0.3.0-dev-47

8 years ago

0.3.0-dev-46

8 years ago

0.3.0-dev-45

8 years ago

0.2.5-44

8 years ago

0.2.5

8 years ago

0.2.4-43

8 years ago

0.2.4-42

8 years ago

0.2.4-41

8 years ago

0.2.4-40

8 years ago

0.2.4

8 years ago

0.2.4-dev-39

8 years ago

0.2.3-38

8 years ago

0.2.3

8 years ago

0.2.3-dev-37

8 years ago

0.2.3-dev-36

8 years ago

0.2.3-dev-34

8 years ago

0.2.3-dev-33

8 years ago

0.2.3-dev-31

8 years ago

0.2.3-dev-30

8 years ago

0.2.2-29

8 years ago

0.2.2

8 years ago

0.2.2-dev-28

8 years ago

0.2.2-dev-27

8 years ago

0.2.1-26

8 years ago

0.2.1

8 years ago

0.2.1-dev-25

8 years ago

0.2.0-23

8 years ago

0.2.0

8 years ago

0.2.0-dev-22

8 years ago

0.2.0-dev-21

8 years ago

0.2.0-dev-20

8 years ago

0.2.0-dev-18

8 years ago

0.2.0-dev-17

8 years ago

0.2.0-dev-16

8 years ago

0.2.0-dev-13

8 years ago

0.2.0-dev-12

8 years ago

0.1.2-11

8 years ago

0.1.2-dev-10

8 years ago

0.1.2

8 years ago

0.1.2-dev-9

8 years ago

0.1.1-8

8 years ago

0.1.1

8 years ago

0.1.1-7

8 years ago

0.1.0

8 years ago