Refactor UI Build System (#3203)

* initial build trial, clean up awx/ui

* fix hardcoded refs to ng-toast, add jshint preloader

* remove browserify test

* update grunt-jshint -> jshint module loader, browser-sync, update dev targets to build-docker-machine & build-docker-cid, fix blocking tasks

* less autoprefixer

* sample build commands

* fix release build

* update README

* karma config stub

* webpack config for karma tests

* karma preview for shane

* fix build-docker-machine target

* karma+webpack test pipeline configuration, stub tests

* fix smart/job status icons classes

* fix jquery + jsyaml shims, fix LESS cascade

* fix angular-codemirror dependency, explicitly import style/mode dependencies

* shim jsonlint

* fix angular-scheduler AMD imports, remove jquuery-ui shim, fix release config

* use closed $.fn.datepicker for system-tracking

* remove packaging/node/

* remove old tests

* shrinkwrap fragile dependency sandcastle, update README, lint

* first pass at fixing rrule shim

* update makefile targets

* update gitignore w/ new flag file

* add saucelabs karma config

* add license controller test

* add examples of service and directive tests

* Makefile flubs

* consolidate clean-ui target, compulsively update flag file location

* dep on CJS/AMD/UMD compatible version of rrule lib, fix example tests/config for demo

* boilerplate karma config for saucelabs (should be abstracted to common config after proven to work)

* update docs

* docs feedback

* update Dockerfile with Node 6.x dep
This commit is contained in:
Leigh Johnson
2016-08-17 16:09:54 -04:00
committed by GitHub
parent d51edff8a8
commit ce61fe4a42
3676 changed files with 6254 additions and 663860 deletions

102
awx/ui/package.json Normal file
View File

@@ -0,0 +1,102 @@
{
"name": "ansible-tower",
"version": "3.1.0",
"repository": {
"type": "git",
"url": ""
},
"config": {
"django_port": "8013",
"websocket_port": "8080",
"django_host": "0.0.0.0",
"sauce_username": "leigh-johnson",
"sauce_access_key": "f740c3ad-c706-4e10-bb95-46e2cc50c2ac"
},
"engines": {
"node": "^6.3.1",
"npm": "^3.10.3"
},
"scripts": {
"build-docker-machine": "docker-machine ssh $DOCKER_MACHINE_NAME -f -N -L ${npm_package_config_websocket_port}:localhost:${npm_package_config_websocket_port}; ip=$(docker-machine ip $DOCKER_MACHINE_NAME); npm set ansible-tower:django_host ${ip}; grunt dev",
"build-docker-cid": "ip=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $DOCkER_CID` | npm set config ansible-tower:django_host ${ip}; grunt dev",
"build-release": "grunt release",
"pretest": "grunt clean:coverage",
"test": "karma start karma.conf.js",
"test:ci": "npm run test -- --single-run --reporter junit,dots --browsers=PhantomJS",
"test:saucelabs": "SAUCE_USERNAME=${npm_package_config_sauce_username} SAUCE_ACCESS_KEY=${npm_package_config_sauce_access_key} karma start karma.conf-saucelabs.js"
},
"devDependencies": {
"angular-mocks": "^1.5.8",
"babel-core": "^6.11.4",
"babel-istanbul": "^0.11.0",
"babel-istanbul-loader": "^0.1.0",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.9.0",
"browser-sync": "^2.14.0",
"expose-loader": "^0.7.1",
"grunt": "^1.0.1",
"grunt-browser-sync": "^2.2.0",
"grunt-concurrent": "^2.3.0",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-less": "^1.3.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-extract-sourcemap": "^0.1.18",
"grunt-newer": "^1.2.0",
"grunt-webpack": "^1.0.11",
"imports-loader": "^0.6.5",
"jasmine-core": "^2.4.1",
"jshint": "^2.9.2",
"jshint-loader": "^0.8.3",
"jshint-stylish": "^2.2.0",
"karma": "^1.1.2",
"karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^1.1.1",
"karma-firefox-launcher": "^1.0.0",
"karma-jasmine": "^1.0.2",
"karma-sauce-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^1.8.0",
"less-plugin-autoprefix": "^1.4.2",
"load-grunt-configs": "^1.0.0",
"load-grunt-tasks": "^3.5.0",
"stats-webpack-plugin": "^0.4.0",
"time-grunt": "^1.4.0",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
},
"dependencies": {
"angular": "~1.4.7",
"angular-breadcrumb": "leigh-johnson/angular-breadcrumb#0.4.1",
"angular-codemirror": "chouseknecht/angular-codemirror#1.0.4",
"angular-cookies": "^1.4.3",
"angular-drag-and-drop-lists": "leigh-johnson/angular-drag-and-drop-lists#1.4.0",
"angular-md5": "^0.1.8",
"angular-moment": "^0.10.1",
"angular-resource": "^1.4.3",
"angular-sanitize": "^1.4.3",
"angular-scheduler": "chouseknecht/angular-scheduler#0.0.20",
"angular-tz-extensions": "chouseknecht/angular-tz-extensions#0.3.11",
"angular-ui-router": "^0.2.15",
"bootstrap": "^3.1.1",
"bootstrap-datepicker": "^1.4.0",
"codemirror": "^5.17.0",
"components-font-awesome": "^4.6.1",
"d3": "^3.3.13",
"fs": "0.0.2",
"javascript-detect-element-resize": "^0.5.3",
"jquery": "2.2.4",
"jquery-ui": "1.10.5",
"js-yaml": "^3.2.7",
"legacy-loader": "0.0.2",
"lodash": "^3.8.0",
"lr-infinite-scroll": "lorenzofox3/lrInfiniteScroll",
"moment": "^2.10.2",
"ng-toast": "leigh-johnson/ngToast#2.0.1",
"nvd3": "leigh-johnson/nvd3#1.7.1",
"rrule": "jkbrzt/rrule#4ff63b2f8524fd6d5ba6e80db770953b5cd08a0c",
"select2": "^4.0.2",
"socket.io-client": "^0.9.17"
}
}