single entrypoint for Webpack
This commit is contained in:
parent
5058318454
commit
8f0f16a551
7 changed files with 62 additions and 52 deletions
|
@ -28,7 +28,7 @@ module.exports = function(config) {
|
||||||
'static/lib/**/*.js',
|
'static/lib/**/*.js',
|
||||||
|
|
||||||
// Application resources
|
// Application resources
|
||||||
'static/js/**/*.ts',
|
'static/js/**/*.ts*',
|
||||||
|
|
||||||
// Tests utils
|
// Tests utils
|
||||||
'static/test/**/*.js',
|
'static/test/**/*.js',
|
||||||
|
@ -39,7 +39,7 @@ module.exports = function(config) {
|
||||||
preprocessors: {
|
preprocessors: {
|
||||||
'static/lib/ngReact/react.ngReact.min.js': ['webpack'],
|
'static/lib/ngReact/react.ngReact.min.js': ['webpack'],
|
||||||
'static/lib/angular-moment.min.js': ['webpack'],
|
'static/lib/angular-moment.min.js': ['webpack'],
|
||||||
'static/js/**/*.ts': ['karma-typescript'],
|
'static/js/**/*.ts*': ['karma-typescript'],
|
||||||
},
|
},
|
||||||
webpack: {
|
webpack: {
|
||||||
resolve: webpackConfig.resolve,
|
resolve: webpackConfig.resolve,
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
// Import Components
|
|
||||||
import {rpDirectives as repoPage} from "./directives/components/pages/repo-page/main";
|
|
||||||
|
|
||||||
// Init for each page
|
|
||||||
repoPage();
|
|
28
static/js/constants/pages.constant.ts
Normal file
28
static/js/constants/pages.constant.ts
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
export default {
|
||||||
|
'_pages': {},
|
||||||
|
|
||||||
|
'create': function (pageName, templateName, opt_controller, opt_flags, opt_profiles) {
|
||||||
|
var profiles = opt_profiles || ['old-layout', 'layout'];
|
||||||
|
for (var i = 0; i < profiles.length; ++i) {
|
||||||
|
this._pages[profiles[i] + ':' + pageName] = {
|
||||||
|
'name': pageName,
|
||||||
|
'controller': opt_controller,
|
||||||
|
'templateName': templateName,
|
||||||
|
'flags': opt_flags || {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'get': function (pageName, profiles) {
|
||||||
|
for (var i = 0; i < profiles.length; ++i) {
|
||||||
|
var current = profiles[i];
|
||||||
|
var key = current.id + ':' + pageName;
|
||||||
|
var page = this._pages[key];
|
||||||
|
if (page) {
|
||||||
|
return [current, page];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
|
@ -1,22 +1,31 @@
|
||||||
import "sass/repo-page/repo-page.scss";
|
import "../../../../../css/directives/components/pages/repo-page/repo-page.scss";
|
||||||
import * as angular from "angular";
|
|
||||||
import quayPages from '../../../../quay-pages.module';
|
|
||||||
|
|
||||||
import repoHeader from "./header";
|
import repoHeader from "./header";
|
||||||
import repoSidebar from "./sidebar";
|
import repoSidebar from "./sidebar";
|
||||||
import repoBody from "./body";
|
import repoBody from "./body";
|
||||||
|
|
||||||
export function rpDirectives(){
|
rpHeaderDirective.$inject = [
|
||||||
angular.module(quayPages).directive('rpHeader', function(reactDirective) {
|
'reactDirective',
|
||||||
|
];
|
||||||
|
|
||||||
|
export function rpHeaderDirective(reactDirective) {
|
||||||
return reactDirective(repoHeader);
|
return reactDirective(repoHeader);
|
||||||
});
|
|
||||||
|
|
||||||
angular.module(quayPages).directive('rpSidebar', function(reactDirective) {
|
|
||||||
return reactDirective(repoSidebar);
|
|
||||||
});
|
|
||||||
|
|
||||||
angular.module(quayPages).directive('rpBody', function(reactDirective, ApiService) {
|
|
||||||
return reactDirective(repoBody, undefined, {}, {api: ApiService});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rpSidebarDirective.$inject = [
|
||||||
|
'reactDirective',
|
||||||
|
];
|
||||||
|
|
||||||
|
export function rpSidebarDirective(reactDirective) {
|
||||||
|
return reactDirective(repoSidebar);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rpBodyDirective.$inject = [
|
||||||
|
'reactDirective',
|
||||||
|
'ApiService',
|
||||||
|
];
|
||||||
|
|
||||||
|
export function rpBodyDirective(reactDirective, ApiService) {
|
||||||
|
return reactDirective(repoBody, undefined, {}, {api: ApiService});
|
||||||
|
}
|
|
@ -17,7 +17,7 @@ angular.module('quay').directive('namespaceInput', function () {
|
||||||
},
|
},
|
||||||
controller: function($scope, $element, namePatterns) {
|
controller: function($scope, $element, namePatterns) {
|
||||||
$scope.USERNAME_PATTERN = namePatterns.USERNAME_PATTERN;
|
$scope.USERNAME_PATTERN = namePatterns.USERNAME_PATTERN;
|
||||||
$scope.usernamePattern = new RegExp(USERNAME_PATTERN);
|
$scope.usernamePattern = new RegExp(namePatterns.USERNAME_PATTERN);
|
||||||
|
|
||||||
$scope.$watch('binding', function(binding) {
|
$scope.$watch('binding', function(binding) {
|
||||||
if (!binding) {
|
if (!binding) {
|
||||||
|
|
|
@ -1,34 +1,12 @@
|
||||||
import * as angular from 'angular';
|
import * as angular from 'angular';
|
||||||
|
import { rpHeaderDirective, rpBodyDirective, rpSidebarDirective } from './directives/components/pages/repo-page/main';
|
||||||
|
import pages from './constants/pages.constant';
|
||||||
|
|
||||||
|
|
||||||
export default angular
|
export default angular
|
||||||
.module('quayPages', [])
|
.module('quayPages', [])
|
||||||
.constant('pages', {
|
.constant('pages', pages)
|
||||||
'_pages': {},
|
.directive('rpHeader', rpHeaderDirective)
|
||||||
|
.directive('rpSidebar', rpSidebarDirective)
|
||||||
'create': function(pageName, templateName, opt_controller, opt_flags, opt_profiles) {
|
.directive('rpBody', rpBodyDirective)
|
||||||
var profiles = opt_profiles || ['old-layout', 'layout'];
|
|
||||||
for (var i = 0; i < profiles.length; ++i) {
|
|
||||||
this._pages[profiles[i] + ':' + pageName] = {
|
|
||||||
'name': pageName,
|
|
||||||
'controller': opt_controller,
|
|
||||||
'templateName': templateName,
|
|
||||||
'flags': opt_flags || {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
'get': function(pageName, profiles) {
|
|
||||||
for (var i = 0; i < profiles.length; ++i) {
|
|
||||||
var current = profiles[i];
|
|
||||||
var key = current.id + ':' + pageName;
|
|
||||||
var page = this._pages[key];
|
|
||||||
if (page) {
|
|
||||||
return [current, page];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.name;
|
.name;
|
|
@ -2,7 +2,7 @@ var webpack = require('webpack');
|
||||||
var path = require("path");
|
var path = require("path");
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
entry: ["./static/js/app.tsx", "./static/js/quay.module.ts"],
|
entry: "./static/js/quay.module.ts",
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, "static/js/build"),
|
path: path.resolve(__dirname, "static/js/build"),
|
||||||
filename: "bundle.js"
|
filename: "bundle.js"
|
||||||
|
|
Reference in a new issue