diff --git a/.gitignore b/.gitignore index 3fc3033..21e171f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ build/ .project .settings .classpath +classes/ +grails-app/assets/javascripts/appHome.all.js +src/main/webapp/ diff --git a/build.gradle b/build.gradle index 9f18929..e49d5fe 100644 --- a/build.gradle +++ b/build.gradle @@ -74,8 +74,9 @@ node { version = '5.10.1' npmVersion = '3.8.3' distBaseUrl = 'https://nodejs.org/dist' - download = true + download = false } processResources.dependsOn(['npmInstall', 'npm_run_bundle']) -assetCompile.dependsOn(['npmInstall', 'npm_run_bundle']) \ No newline at end of file +assetCompile.dependsOn(['npmInstall', 'npm_run_bundle']) + diff --git a/devDB.mv.db b/devDB.mv.db index 6a8c7dd..d50052c 100644 Binary files a/devDB.mv.db and b/devDB.mv.db differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 17615b8..8534cc8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,4 +1,5 @@ -#Tue Mar 14 13:38:37 EDT 2017 + +#Fri Mar 24 11:20:16 EDT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/grails-app/assets/javascripts/app.all.js b/grails-app/assets/javascripts/app.all.js index bca986f..8de2bf5 100644 --- a/grails-app/assets/javascripts/app.all.js +++ b/grails-app/assets/javascripts/app.all.js @@ -63,7 +63,10 @@ /******/ __webpack_require__.p = "/assets/"; /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 185); +/******/ return __webpack_require__(__webpack_require__.s = 186); + +/******/ return __webpack_require__(__webpack_require__.s = 187); + /******/ }) /************************************************************************/ /******/ ([ @@ -9309,7 +9312,7 @@ module.exports = focusNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - +/* WEBPACK VAR INJECTION */(function(global) { /** * Copyright (c) 2013-present, Facebook, Inc. @@ -9330,19 +9333,24 @@ module.exports = focusNode; * * The activeElement will be null only if the document or document body is not * yet defined. + * + * @param {?DOMDocument} doc Defaults to current document. + * @return {?DOMElement} */ -function getActiveElement() /*?DOMElement*/{ - if (typeof document === 'undefined') { +function getActiveElement(doc) /*?DOMElement*/{ + doc = doc || global.document; + if (typeof doc === 'undefined') { return null; } try { - return document.activeElement || document.body; + return doc.activeElement || doc.body; } catch (e) { - return document.body; + return doc.body; } } module.exports = getActiveElement; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(181))) /***/ }), /* 80 */ @@ -19513,10 +19521,10 @@ module.exports = getMarkupWrap; */ function getUnboundedScrollPosition(scrollable) { - if (scrollable === window) { + if (scrollable.Window && scrollable instanceof scrollable.Window) { return { - x: window.pageXOffset || document.documentElement.scrollLeft, - y: window.pageYOffset || document.documentElement.scrollTop + x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft, + y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop }; } return { @@ -19632,7 +19640,9 @@ module.exports = hyphenateStyleName; * @return {boolean} Whether or not the object is a DOM node. */ function isNode(object) { - return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); } module.exports = isNode; @@ -21882,10 +21892,42 @@ module.exports = __webpack_require__(21); /***/ }), -/* 181 */, +/* 181 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), /* 182 */, /* 183 */, -/* 184 */ +/* 184 */, + +/* 185 */ + +/* 185 */, +/* 186 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22041,7 +22083,7 @@ var Profile = function (_React$Component2) { null, _react2.default.createElement( 'a', - { href: 'MyResumes.html' }, + { href: '/resume' }, 'View My Resumes' ) ), @@ -22105,43 +22147,170 @@ var ProfileInfo = function (_React$Component3) { return _react2.default.createElement( 'div', { id: 'Shadow-Box' }, - _react2.default.createElement('br', null), _react2.default.createElement( 'h2', - { className: 'profileInfoTitle' }, - 'Work Experience' - ), - _react2.default.createElement( - 'h3', - { className: 'profileInfo' }, - 'Shelf Organizer: September 2016- Present' - ), - _react2.default.createElement( - 'h3', - { className: 'profileInfo' }, - 'Library Assistant: December 2014-2015' + null, + ' Basic Information' ), _react2.default.createElement('br', null), - _react2.default.createElement('br', null), - _react2.default.createElement('hr', null), - _react2.default.createElement( - 'h2', - { className: 'profileInfoTitle' }, - 'Education' - ), - _react2.default.createElement( - 'h3', - { className: 'profileInfo' }, - 'Western University: September 2015- Present' - ), _react2.default.createElement( - 'h3', - { className: 'profileInfo' }, - 'High School Secondary: September 2011- June 2015' + 'form', + null, + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' First Name', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Last Name', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: 'E-mail Address ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: 'Phone Number', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: 'Address', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'h2', + null, + ' Work experience' + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Job Title ', name: 'name' }) + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Company Name ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' start date ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' End Date ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('br', null), + _react2.default.createElement('br', null), + _react2.default.createElement('br', null), + _react2.default.createElement('textarea', { name: 'info', className: 'textareaInput', placeholder: ' job discription ', cols: '50', rows: '8' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'h2', + null, + ' Qualifications' + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('textarea', { name: 'info', className: 'textareaInput', placeholder: ' List Your Skills,Certifications and accreditions that you have received ', cols: '50', rows: '8' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'h2', + null, + ' Education' + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Institution Name ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Start Date (ex: September 2013)', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' End Date (ex: April 2017, or Present)', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('textarea', { name: 'info', className: 'textareaInput', placeholder: ' Discription ', cols: '50', rows: '8' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'h2', + null, + ' Interests' + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('textarea', { name: 'info', className: 'textareaInput', placeholder: ' List your interests ', cols: '50', rows: '8' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'h2', + null, + ' References' + ), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Full Name ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Their Position ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Phone Number ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' E-mail Address ', name: 'name' }) + ), + _react2.default.createElement('br', null), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { className: 'formInputLong', type: 'text', placeholder: ' Company Name ', name: 'name' }) + ), + _react2.default.createElement('input', { type: 'submit', value: 'Submit' }) ), - _react2.default.createElement('br', null), - _react2.default.createElement('br', null), - _react2.default.createElement('hr', null) + _react2.default.createElement('br', null) ); } }]); @@ -22150,17 +22319,29 @@ var ProfileInfo = function (_React$Component3) { }(_react2.default.Component); _reactDom2.default.render(_react2.default.createElement(Menu, { icon: 'http://images.clipartpanda.com/stack-of-paper-vector-29343.png' }), document.getElementById('menu')); -_reactDom2.default.render(_react2.default.createElement(Profile, { name: 'Illyria', status: 'Evil Goddess', work: 'Part-time Librarian', pic: 'https://cdn3.iconfinder.com/data/icons/internet-and-web-4/78/internt_web_technology-13-256.png', camera: 'http://www.ensatt.fr/images/Graphisme/photo-icone.png' }), document.getElementById('profile-box')); + +_reactDom2.default.render(_react2.default.createElement(Profile, { name: 'Yeeee', status: 'Evil Goddess', work: 'Part-time Librarian', pic: 'https://cdn3.iconfinder.com/data/icons/internet-and-web-4/78/internt_web_technology-13-256.png', camera: 'http://www.ensatt.fr/images/Graphisme/photo-icone.png' }), document.getElementById('profile-box')); _reactDom2.default.render(_react2.default.createElement(ProfileInfo, null), document.getElementById('profile-info')); /***/ }), -/* 185 */ +/* 186 */ + +_reactDom2.default.render(_react2.default.createElement(Profile, { name: 'Marlin', status: 'Evil Goddess', work: 'Part-time Librarian', pic: 'https://cdn3.iconfinder.com/data/icons/internet-and-web-4/78/internt_web_technology-13-256.png', camera: 'http://www.ensatt.fr/images/Graphisme/photo-icone.png' }), document.getElementById('profile-box')); +_reactDom2.default.render(_react2.default.createElement(ProfileInfo, null), document.getElementById('profile-info')); + +/***/ }), +/* 187 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _profile = __webpack_require__(184); + +var _profile = __webpack_require__(185); + +var _profile = __webpack_require__(186); + var _profile2 = _interopRequireDefault(_profile); diff --git a/grails-app/assets/javascripts/app2.all.js b/grails-app/assets/javascripts/app2.all.js index 72c6d3a..d06054b 100644 --- a/grails-app/assets/javascripts/app2.all.js +++ b/grails-app/assets/javascripts/app2.all.js @@ -63,7 +63,11 @@ /******/ __webpack_require__.p = "/assets/"; /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 186); + +/******/ return __webpack_require__(__webpack_require__.s = 187); + +/******/ return __webpack_require__(__webpack_require__.s = 188); + /******/ }) /************************************************************************/ /******/ ([ @@ -9309,7 +9313,7 @@ module.exports = focusNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - +/* WEBPACK VAR INJECTION */(function(global) { /** * Copyright (c) 2013-present, Facebook, Inc. @@ -9330,19 +9334,24 @@ module.exports = focusNode; * * The activeElement will be null only if the document or document body is not * yet defined. + * + * @param {?DOMDocument} doc Defaults to current document. + * @return {?DOMElement} */ -function getActiveElement() /*?DOMElement*/{ - if (typeof document === 'undefined') { +function getActiveElement(doc) /*?DOMElement*/{ + doc = doc || global.document; + if (typeof doc === 'undefined') { return null; } try { - return document.activeElement || document.body; + return doc.activeElement || doc.body; } catch (e) { - return document.body; + return doc.body; } } module.exports = getActiveElement; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(181))) /***/ }), /* 80 */ @@ -19513,10 +19522,10 @@ module.exports = getMarkupWrap; */ function getUnboundedScrollPosition(scrollable) { - if (scrollable === window) { + if (scrollable.Window && scrollable instanceof scrollable.Window) { return { - x: window.pageXOffset || document.documentElement.scrollLeft, - y: window.pageYOffset || document.documentElement.scrollTop + x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft, + y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop }; } return { @@ -19632,7 +19641,9 @@ module.exports = hyphenateStyleName; * @return {boolean} Whether or not the object is a DOM node. */ function isNode(object) { - return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); } module.exports = isNode; @@ -21882,8 +21893,40 @@ module.exports = __webpack_require__(21); /***/ }), -/* 181 */, -/* 182 */ +/* 181 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 182 */, + +/* 183 */ + +/* 183 */, +/* 184 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22051,9 +22094,8 @@ var LoginForm = function (_React$Component2) { }).then(function (response) { if (response.ok) { - //this.setState({message: " "}); _this3.setState({ - successMessage: _this3.state.name + ", you successfully signed up!", + message: _this3.state.name + ", you successfully signed up!", isLocked: true }); } else { @@ -22094,7 +22136,7 @@ var LoginForm = function (_React$Component2) { 'Sign Up' ), _react2.default.createElement('br', null), - _react2.default.createElement('input', { className: 'formInput', type: 'text', placeholder: 'Enter Name', disabled: this.state.isLocked, value: this.state.name, onChange: this.handleNameChange }), + _react2.default.createElement('input', { className: 'formInput', type: 'text', placeholder: 'Enter ', disabled: this.state.isLocked, value: this.state.name, onChange: this.handleNameChange }), _react2.default.createElement('br', null), _react2.default.createElement('input', { className: 'formInput', type: 'text', placeholder: 'Enter Username', disabled: this.state.isLocked, value: this.state.username, onChange: this.handleUsernameChange }), _react2.default.createElement('br', null), @@ -22108,6 +22150,15 @@ var LoginForm = function (_React$Component2) { _react2.default.createElement('br', null) ), _react2.default.createElement('input', { id: 'loginButton', type: 'submit', value: 'Create Account' }), + _react2.default.createElement( + 'btn', + null, + _react2.default.createElement( + 'a', + { href: '/profile', disabled: this.state.isLocked }, + 'View My Resumes' + ) + ), _react2.default.createElement('br', null) ) ); @@ -22121,16 +22172,27 @@ _reactDom2.default.render(_react2.default.createElement(MenuLogin, { icon: 'http _reactDom2.default.render(_react2.default.createElement(LoginForm, null), document.getElementById('log-in')); /***/ }), -/* 183 */, + /* 184 */, /* 185 */, -/* 186 */ +/* 186 */, +/* 187 */ + +/* 185 */, +/* 186 */, +/* 187 */, +/* 188 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _login = __webpack_require__(182); + +var _login = __webpack_require__(183); + +var _login = __webpack_require__(184); + var _login2 = _interopRequireDefault(_login); diff --git a/grails-app/assets/javascripts/app3.all.js b/grails-app/assets/javascripts/app3.all.js index 7c45ae4..a43487e 100644 --- a/grails-app/assets/javascripts/app3.all.js +++ b/grails-app/assets/javascripts/app3.all.js @@ -63,7 +63,12 @@ /******/ __webpack_require__.p = "/assets/"; /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 187); + + +/******/ return __webpack_require__(__webpack_require__.s = 188); + +/******/ return __webpack_require__(__webpack_require__.s = 189); + /******/ }) /************************************************************************/ /******/ ([ @@ -9309,7 +9314,7 @@ module.exports = focusNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - +/* WEBPACK VAR INJECTION */(function(global) { /** * Copyright (c) 2013-present, Facebook, Inc. @@ -9330,19 +9335,24 @@ module.exports = focusNode; * * The activeElement will be null only if the document or document body is not * yet defined. + * + * @param {?DOMDocument} doc Defaults to current document. + * @return {?DOMElement} */ -function getActiveElement() /*?DOMElement*/{ - if (typeof document === 'undefined') { +function getActiveElement(doc) /*?DOMElement*/{ + doc = doc || global.document; + if (typeof doc === 'undefined') { return null; } try { - return document.activeElement || document.body; + return doc.activeElement || doc.body; } catch (e) { - return document.body; + return doc.body; } } module.exports = getActiveElement; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(181))) /***/ }), /* 80 */ @@ -19513,10 +19523,10 @@ module.exports = getMarkupWrap; */ function getUnboundedScrollPosition(scrollable) { - if (scrollable === window) { + if (scrollable.Window && scrollable instanceof scrollable.Window) { return { - x: window.pageXOffset || document.documentElement.scrollLeft, - y: window.pageYOffset || document.documentElement.scrollTop + x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft, + y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop }; } return { @@ -19632,7 +19642,9 @@ module.exports = hyphenateStyleName; * @return {boolean} Whether or not the object is a DOM node. */ function isNode(object) { - return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); } module.exports = isNode; @@ -21882,9 +21894,41 @@ module.exports = __webpack_require__(21); /***/ }), -/* 181 */, +/* 181 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), /* 182 */, -/* 183 */ +/* 183 */, + +/* 184 */ + +/* 184 */, +/* 185 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21911,98 +21955,69 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" */ -var MenuResumes = function (_React$Component) { - _inherits(MenuResumes, _React$Component); +var ResumeList = function (_React$Component) { + _inherits(ResumeList, _React$Component); - function MenuResumes() { - _classCallCheck(this, MenuResumes); + function ResumeList() { + _classCallCheck(this, ResumeList); - return _possibleConstructorReturn(this, (MenuResumes.__proto__ || Object.getPrototypeOf(MenuResumes)).apply(this, arguments)); + return _possibleConstructorReturn(this, (ResumeList.__proto__ || Object.getPrototypeOf(ResumeList)).apply(this, arguments)); } - _createClass(MenuResumes, [{ + _createClass(ResumeList, [{ key: 'render', value: function render() { return _react2.default.createElement( 'div', - { className: 'menu-box' }, + { id: 'template-List' }, _react2.default.createElement( 'h2', - { id: 'resume' }, - 'ResuME' - ), - _react2.default.createElement( - 'icon', - null, - _react2.default.createElement('img', { src: this.props.icon, height: 90 }) - ), - _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'a', - { href: 'index.html' }, - 'About' - ) - ), - _react2.default.createElement( - 'li', - null, - _react2.default.createElement( - 'a', - { href: '#certifications' }, - 'Contact' - ) + { className: 'heading2' }, + this.props.myresumes ), + _react2.default.createElement('br', null), + _react2.default.createElement('br', null), + _react2.default.createElement('br', null), + _react2.default.createElement('br', null), _react2.default.createElement( - 'li', - null, + 'h2', + { className: 'heading2' }, _react2.default.createElement( 'a', - { href: '#applications' }, - 'Help' + { href: '/choose' }, + 'New Resume Template' ) ) ); } }]); - return MenuResumes; -}(_react2.default.Component); - -var ResumeList = function (_React$Component2) { - _inherits(ResumeList, _React$Component2); - - function ResumeList() { - _classCallCheck(this, ResumeList); - - return _possibleConstructorReturn(this, (ResumeList.__proto__ || Object.getPrototypeOf(ResumeList)).apply(this, arguments)); - } - - _createClass(ResumeList, [{ - key: 'render', - value: function render() { - return _react2.default.createElement('div', { id: 'Shadow-Box' }); - } - }]); - return ResumeList; }(_react2.default.Component); -_reactDom2.default.render(_react2.default.createElement(MenuResumes, { icon: 'http://images.clipartpanda.com/stack-of-paper-vector-29343.png' }), document.getElementById('menu-MyResumes')); -_reactDom2.default.render(_react2.default.createElement(ResumeList, null), document.getElementById('list')); +_reactDom2.default.render(_react2.default.createElement(ResumeList, { myresumes: 'You have no Resumes' }), document.getElementById('list')); /***/ }), -/* 184 */, + /* 185 */, /* 186 */, -/* 187 */ +/* 187 */, +/* 188 */ + +/* 186 */, +/* 187 */, +/* 188 */, +/* 189 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _myresumes = __webpack_require__(183); +var _myresumes = __webpack_require__(184); + +var _myresumes = __webpack_require__(185); + var _myresumes2 = _interopRequireDefault(_myresumes); diff --git a/grails-app/assets/javascripts/app4.all.js b/grails-app/assets/javascripts/app4.all.js index 1f3da63..859e209 100644 --- a/grails-app/assets/javascripts/app4.all.js +++ b/grails-app/assets/javascripts/app4.all.js @@ -63,7 +63,11 @@ /******/ __webpack_require__.p = "/assets/"; /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 188); + +/******/ return __webpack_require__(__webpack_require__.s = 189); + +/******/ return __webpack_require__(__webpack_require__.s = 190); + /******/ }) /************************************************************************/ /******/ ([ @@ -9309,7 +9313,7 @@ module.exports = focusNode; /***/ (function(module, exports, __webpack_require__) { "use strict"; - +/* WEBPACK VAR INJECTION */(function(global) { /** * Copyright (c) 2013-present, Facebook, Inc. @@ -9330,19 +9334,24 @@ module.exports = focusNode; * * The activeElement will be null only if the document or document body is not * yet defined. + * + * @param {?DOMDocument} doc Defaults to current document. + * @return {?DOMElement} */ -function getActiveElement() /*?DOMElement*/{ - if (typeof document === 'undefined') { +function getActiveElement(doc) /*?DOMElement*/{ + doc = doc || global.document; + if (typeof doc === 'undefined') { return null; } try { - return document.activeElement || document.body; + return doc.activeElement || doc.body; } catch (e) { - return document.body; + return doc.body; } } module.exports = getActiveElement; +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(181))) /***/ }), /* 80 */ @@ -19513,10 +19522,10 @@ module.exports = getMarkupWrap; */ function getUnboundedScrollPosition(scrollable) { - if (scrollable === window) { + if (scrollable.Window && scrollable instanceof scrollable.Window) { return { - x: window.pageXOffset || document.documentElement.scrollLeft, - y: window.pageYOffset || document.documentElement.scrollTop + x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft, + y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop }; } return { @@ -19632,7 +19641,9 @@ module.exports = hyphenateStyleName; * @return {boolean} Whether or not the object is a DOM node. */ function isNode(object) { - return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); + var doc = object ? object.ownerDocument || object : document; + var defaultView = doc.defaultView || window; + return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); } module.exports = isNode; @@ -21883,6 +21894,33 @@ module.exports = __webpack_require__(21); /***/ }), /* 181 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 182 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21938,19 +21976,24 @@ var Templates = function (_React$Component) { _reactDom2.default.render(_react2.default.createElement(Templates, null), document.getElementById('templateList')); /***/ }), -/* 182 */, /* 183 */, /* 184 */, /* 185 */, /* 186 */, /* 187 */, -/* 188 */ +/* 188 */, + +/* 189 */ + +/* 189 */, +/* 190 */ + /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _chooseresume = __webpack_require__(181); +var _chooseresume = __webpack_require__(182); var _chooseresume2 = _interopRequireDefault(_chooseresume); diff --git a/grails-app/assets/stylesheets/styleSheet.css b/grails-app/assets/stylesheets/styleSheet.css index e003876..d8fe36e 100644 --- a/grails-app/assets/stylesheets/styleSheet.css +++ b/grails-app/assets/stylesheets/styleSheet.css @@ -11,6 +11,20 @@ rgba(0,0,0,0.12); } +.menu-box-white { + color: black; + list-style-type: none; + margin: 0; + overflow: hidden; + padding-right: 150px; + height: 170px; + webkit-transition: all 500ms ease; + -moz-transition: all 500ms ease; + -ms-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; +} + icon{ position: relative; bottom: 100px; @@ -29,11 +43,19 @@ li a { text-align: center; padding: 14px 20px; text-decoration: none; - } +div.menu-box-white:hover:not(.active) +{ + opacity: 0.7; + color: black; + background-color: mediumseagreen; + box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.14), + 0 5px 1px -2px rgba(0,0,0,0.3), 0 4px 8px 0 + rgba(0,0,0,0.12); +} li a:hover:not(.active) { - background-color: #111; + background-color: black; } .active { @@ -79,6 +101,22 @@ li a:hover:not(.active) { rgba(0,0,0,0.12); } +#Shadow-Box-2{ + display:inline-block; + position: relative; + left: 260px; + top: 80px; + margin: 24px; + margin-top: 2px; + margin-bottom: 3px; + width: 800px; + + padding: 6px; + text-align: center; + +} + + .profileInfoTitle{ font-family: Calibri Light; color: grey; @@ -119,6 +157,32 @@ btn a:hover:not(.active) { background-color: mediumblue; } +btng{ + position: relative; + left: 288px; +} + +btng a{ + + display: block; + color: white; + background-color: limegreen; + font-family: Calibri; + font-size: 22px; + text-align: center; + border: hidden; + text-align: center; + position: relative; + padding: 25px 10px 1px 10px; + width: 200px; + height: 50px; + text-decoration: none; +} + +btng a:hover:not(.active) { + background-color: green; +} + circularbtn { position: relative; left: 500px; @@ -169,6 +233,10 @@ circularbtn3 { } +#background-image{ + opacity: 0.7 +} + .heading{ font-family: Calibri Light; color: darkslategrey; @@ -176,6 +244,20 @@ circularbtn3 { right: 6px; } +.heading2{ + font-family: Calibri Light; + color: white; + position: relative; + left: 6px; +} + +.headingHome{ + font-family: Calibri Light; + color: white; + position: relative; + right: 6px; +} + .loginMessage{ font-family: Calibri Light; color: black; @@ -210,18 +292,39 @@ circularbtn3 { border: 1px solid #ddd; } +.formInputLong { + display: block; + font-size: 20px; + padding: 5px 10px; + position: relative; + left: 67px; + border-radius: 5px; + border: 1px solid #ddd; + width: 630px; + height: 35px; + text-align: center; +} +.textareaInput{ + display: block; + font-size: 20px; + padding: 5px 10px; + position: relative; + left: 60px; + border-radius: 5px; + border: 1px solid #ddd; +} + #template-List { display: inline-block; position: relative; right: 25px; - background-color: white; top: 20px; margin: 24px; margin-top: 2px; margin-bottom: 3px; width: 100%; border: 1px solid #ddd; - background-color: lightgrey; + background-color: mediumseagreen; box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.14), 0 5px 1px -2px rgba(0,0,0,0.3), 0 4px 8px 0 rgba(0,0,0,0.12); diff --git a/grails-app/controllers/resume/UrlMappings.groovy b/grails-app/controllers/resume/UrlMappings.groovy index a61aa17..74ac069 100644 --- a/grails-app/controllers/resume/UrlMappings.groovy +++ b/grails-app/controllers/resume/UrlMappings.groovy @@ -9,6 +9,8 @@ class UrlMappings { } } + "/resume"(view: "/resume/index") + "/choose"(view: "/choose/index") "/"(view:"/index") "500"(view:'/error') "404"(view:'/notFound') diff --git a/grails-app/views/index.gsp b/grails-app/views/index.gsp index 499a4b6..57d2824 100644 --- a/grails-app/views/index.gsp +++ b/grails-app/views/index.gsp @@ -1,18 +1,31 @@ - + Welcome to ResuMe - + - + + + + +
+

Begin Creating Your ResuMe Today

+ Sign Up +

OR

+ Log in +
-
-

Begin Creating Your ResuMe

- To start, please sign up here -
+ diff --git a/grails-app/views/resume/index.gsp b/grails-app/views/resume/index.gsp index 21d4e32..a7aa4ba 100644 --- a/grails-app/views/resume/index.gsp +++ b/grails-app/views/resume/index.gsp @@ -7,6 +7,7 @@ +

My Resumes

diff --git a/grails-app/views/template/index.gsp b/grails-app/views/template/index.gsp index f9b73ec..e69de29 100644 --- a/grails-app/views/template/index.gsp +++ b/grails-app/views/template/index.gsp @@ -1,15 +0,0 @@ - - - - - Choose A Template - - - - -
-

Choose Template

-
- - - \ No newline at end of file diff --git a/node_modules/acorn-dynamic-import/CHANGELOG.md b/node_modules/acorn-dynamic-import/CHANGELOG.md index d7a246b..52a4e26 100644 --- a/node_modules/acorn-dynamic-import/CHANGELOG.md +++ b/node_modules/acorn-dynamic-import/CHANGELOG.md @@ -1,3 +1,7 @@ +# 2.0.2 + +- Fixing parsing of `yield import()`. + # 2.0.1 - Removing unnecessary `in-publish` dependency. diff --git a/node_modules/acorn-dynamic-import/LICENSE b/node_modules/acorn-dynamic-import/LICENSE old mode 100644 new mode 100755 diff --git a/node_modules/acorn-dynamic-import/README.md b/node_modules/acorn-dynamic-import/README.md old mode 100644 new mode 100755 index 7c4d28d..8fcd583 --- a/node_modules/acorn-dynamic-import/README.md +++ b/node_modules/acorn-dynamic-import/README.md @@ -9,13 +9,15 @@ For more information, check out the [proposal repo](https://github.com/tc39/prop You can use this module directly in order to get Acorn instance with plugin installed: ```js -const acorn = require('acorn-dynamic-import'); +import acorn from 'acorn-dynamic-import'; +// or... +const acorn = require('acorn-dynamic-import').default; ``` Or you can use `inject.js` for injecting plugin into your own version of Acorn like this: ```js -const acorn = require('acorn-dynamic-import/lib/inject')(require('./custom-acorn')); +const acorn = require('acorn-dynamic-import/lib/inject').default(require('./custom-acorn')); ``` Then, use the `plugins` option whenever you need to support dynamicImport while parsing: @@ -25,6 +27,7 @@ const ast = acorn.parse(code, { plugins: { dynamicImport: true } }); ``` + ## License This plugin is issued under the [MIT license](./LICENSE). diff --git a/node_modules/acorn-dynamic-import/lib/inject.js b/node_modules/acorn-dynamic-import/lib/inject.js index fb257cf..7b3832b 100644 --- a/node_modules/acorn-dynamic-import/lib/inject.js +++ b/node_modules/acorn-dynamic-import/lib/inject.js @@ -2,9 +2,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = injectDynamicImport; +/* eslint-disable no-underscore-dangle */ + function injectDynamicImport(acorn) { var tt = acorn.tokTypes; + // NOTE: This allows `yield import()` to parse correctly. + tt._import.startsExpr = true; + function parseDynamicImport() { var node = this.startNode(); this.next(); @@ -25,7 +30,6 @@ function injectDynamicImport(acorn) { return function () { function parseStatement() { var node = this.startNode(); - // eslint-disable-next-line no-underscore-dangle if (this.type === tt._import) { var nextToken = peekNext.call(this); if (nextToken === tt.parenL.label) { @@ -48,7 +52,6 @@ function injectDynamicImport(acorn) { instance.extend('parseExprAtom', function (nextMethod) { return function () { function parseExprAtom(refDestructuringErrors) { - // eslint-disable-next-line no-underscore-dangle if (this.type === tt._import) { return parseDynamicImport.call(this); } diff --git a/node_modules/acorn-dynamic-import/package.json b/node_modules/acorn-dynamic-import/package.json index 4f51907..4113cc4 100644 --- a/node_modules/acorn-dynamic-import/package.json +++ b/node_modules/acorn-dynamic-import/package.json @@ -1,53 +1,45 @@ { "_args": [ [ - { - "raw": "acorn-dynamic-import@^2.0.0", - "scope": null, - "escapedName": "acorn-dynamic-import", - "name": "acorn-dynamic-import", - "rawSpec": "^2.0.0", - "spec": ">=2.0.0 <3.0.0", - "type": "range" - }, - "C:\\resumeapp\\node_modules\\webpack" + "acorn-dynamic-import@^2.0.0", + "/Users/Malgosia/IdeaProjects/ResuMe_ProjectCaroyln/node_modules/webpack" ] ], "_from": "acorn-dynamic-import@>=2.0.0 <3.0.0", - "_id": "acorn-dynamic-import@2.0.1", + "_id": "acorn-dynamic-import@2.0.2", "_inCache": true, + "_installable": true, "_location": "/acorn-dynamic-import", - "_nodeVersion": "4.2.1", + "_nodeVersion": "4.7.2", "_npmOperationalInternal": { - "host": "packages-18-east.internal.npmjs.com", - "tmp": "tmp/acorn-dynamic-import-2.0.1.tgz_1481873679281_0.05304656596854329" + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/acorn-dynamic-import-2.0.2.tgz_1488318955046_0.037065627751871943" }, "_npmUser": { - "name": "jordangens", - "email": "jordangens@gmail.com" + "email": "jordangens@gmail.com", + "name": "jordangens" }, - "_npmVersion": "2.14.7", + "_npmVersion": "2.15.11", "_phantomChildren": {}, "_requested": { - "raw": "acorn-dynamic-import@^2.0.0", - "scope": null, - "escapedName": "acorn-dynamic-import", "name": "acorn-dynamic-import", + "raw": "acorn-dynamic-import@^2.0.0", "rawSpec": "^2.0.0", + "scope": null, "spec": ">=2.0.0 <3.0.0", "type": "range" }, "_requiredBy": [ "/webpack" ], - "_resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz", - "_shasum": "23f671eb6e650dab277fef477c321b1178a8cca2", + "_resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "_shasum": "c752bd210bef679501b6c6cb7fc84f8f47158cc4", "_shrinkwrap": null, "_spec": "acorn-dynamic-import@^2.0.0", - "_where": "C:\\resumeapp\\node_modules\\webpack", + "_where": "/Users/Malgosia/IdeaProjects/ResuMe_ProjectCaroyln/node_modules/webpack", "author": { - "name": "Jordan Gensler", - "email": "jordangens@gmail.com" + "email": "jordangens@gmail.com", + "name": "Jordan Gensler" }, "bugs": { "url": "https://github.com/kesne/acorn-dynamic-import/issues" @@ -72,17 +64,17 @@ }, "directories": {}, "dist": { - "shasum": "23f671eb6e650dab277fef477c321b1178a8cca2", - "tarball": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz" + "shasum": "c752bd210bef679501b6c6cb7fc84f8f47158cc4", + "tarball": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz" }, - "gitHead": "7226c32fe2368c6055efa0c175ba42a522351dcb", + "gitHead": "bbde06efe095935575ec6454223d0a1d3b4e748e", "homepage": "https://github.com/kesne/acorn-dynamic-import", "license": "MIT", "main": "lib/index.js", "maintainers": [ { - "name": "jordangens", - "email": "jordangens@gmail.com" + "email": "jordangens@gmail.com", + "name": "jordangens" } ], "name": "acorn-dynamic-import", @@ -107,5 +99,5 @@ "version:minor": "npm --no-git-tag-version version minor", "version:patch": "npm --no-git-tag-version version patch" }, - "version": "2.0.1" + "version": "2.0.2" } diff --git a/node_modules/acorn-dynamic-import/src/inject.js b/node_modules/acorn-dynamic-import/src/inject.js index 4cc6645..7a666b2 100644 --- a/node_modules/acorn-dynamic-import/src/inject.js +++ b/node_modules/acorn-dynamic-import/src/inject.js @@ -1,6 +1,11 @@ +/* eslint-disable no-underscore-dangle */ + export default function injectDynamicImport(acorn) { const tt = acorn.tokTypes; + // NOTE: This allows `yield import()` to parse correctly. + tt._import.startsExpr = true; + function parseDynamicImport() { const node = this.startNode(); this.next(); @@ -19,7 +24,6 @@ export default function injectDynamicImport(acorn) { instance.extend('parseStatement', nextMethod => ( function parseStatement(...args) { const node = this.startNode(); - // eslint-disable-next-line no-underscore-dangle if (this.type === tt._import) { const nextToken = peekNext.call(this); if (nextToken === tt.parenL.label) { @@ -34,7 +38,6 @@ export default function injectDynamicImport(acorn) { instance.extend('parseExprAtom', nextMethod => ( function parseExprAtom(refDestructuringErrors) { - // eslint-disable-next-line no-underscore-dangle if (this.type === tt._import) { return parseDynamicImport.call(this); } diff --git a/node_modules/camelcase/index.js b/node_modules/camelcase/index.js deleted file mode 100644 index b46e100..0000000 --- a/node_modules/camelcase/index.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; -module.exports = function () { - var str = [].map.call(arguments, function (str) { - return str.trim(); - }).filter(function (str) { - return str.length; - }).join('-'); - - if (!str.length) { - return ''; - } - - if (str.length === 1 || !(/[_.\- ]+/).test(str) ) { - if (str[0] === str[0].toLowerCase() && str.slice(1) !== str.slice(1).toLowerCase()) { - return str; - } - - return str.toLowerCase(); - } - - return str - .replace(/^[_.\- ]+/, '') - .toLowerCase() - .replace(/[_.\- ]+(\w|$)/g, function (m, p1) { - return p1.toUpperCase(); - }); -}; diff --git a/node_modules/camelcase/license b/node_modules/camelcase/license deleted file mode 100644 index 654d0bf..0000000 --- a/node_modules/camelcase/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/camelcase/package.json b/node_modules/camelcase/package.json deleted file mode 100644 index d6e5a74..0000000 --- a/node_modules/camelcase/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "camelcase@^1.0.2", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs" - ] - ], - "_from": "camelcase@>=1.0.2 <2.0.0", - "_id": "camelcase@1.2.1", - "_inCache": true, - "_location": "/camelcase", - "_nodeVersion": "0.12.5", - "_npmUser": { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - }, - "_npmVersion": "2.11.2", - "_phantomChildren": {}, - "_requested": { - "raw": "camelcase@^1.0.2", - "scope": null, - "escapedName": "camelcase", - "name": "camelcase", - "rawSpec": "^1.0.2", - "spec": ">=1.0.2 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/uglify-js/yargs" - ], - "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "_shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39", - "_shrinkwrap": null, - "_spec": "camelcase@^1.0.2", - "_where": "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/camelcase/issues" - }, - "dependencies": {}, - "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar", - "devDependencies": { - "ava": "0.0.4" - }, - "directories": {}, - "dist": { - "shasum": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39", - "tarball": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "gitHead": "185ba12da723be9c1ee986cc2956bdc4c517a141", - "homepage": "https://github.com/sindresorhus/camelcase", - "keywords": [ - "camelcase", - "camel-case", - "camel", - "case", - "dash", - "hyphen", - "dot", - "underscore", - "separator", - "string", - "text", - "convert" - ], - "license": "MIT", - "maintainers": [ - { - "name": "sindresorhus", - "email": "sindresorhus@gmail.com" - } - ], - "name": "camelcase", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/camelcase.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.2.1" -} diff --git a/node_modules/camelcase/readme.md b/node_modules/camelcase/readme.md deleted file mode 100644 index 516dc39..0000000 --- a/node_modules/camelcase/readme.md +++ /dev/null @@ -1,56 +0,0 @@ -# camelcase [![Build Status](https://travis-ci.org/sindresorhus/camelcase.svg?branch=master)](https://travis-ci.org/sindresorhus/camelcase) - -> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar` - - -## Install - -```sh -$ npm install --save camelcase -``` - - -## Usage - -```js -var camelCase = require('camelcase'); - -camelCase('foo-bar'); -//=> fooBar - -camelCase('foo_bar'); -//=> fooBar - -camelCase('Foo-Bar'); -//=> fooBar - -camelCase('--foo.bar'); -//=> fooBar - -camelCase('__foo__bar__'); -//=> fooBar - -camelCase('foo bar'); -//=> fooBar - -console.log(process.argv[3]); -//=> --foo-bar -camelCase(process.argv[3]); -//=> fooBar - -camelCase('foo', 'bar'); -//=> fooBar - -camelCase('__foo__', '--bar'); -//=> fooBar -``` - - -## Related - -See [`decamelize`](https://github.com/sindresorhus/decamelize) for the inverse. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/node_modules/cliui/.coveralls.yml b/node_modules/cliui/.coveralls.yml deleted file mode 100644 index 73367db..0000000 --- a/node_modules/cliui/.coveralls.yml +++ /dev/null @@ -1 +0,0 @@ -repo_token: NiRhyj91Z2vtgob6XdEAqs83rzNnbMZUu diff --git a/node_modules/cliui/.npmignore b/node_modules/cliui/.npmignore deleted file mode 100644 index 9daa824..0000000 --- a/node_modules/cliui/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -node_modules diff --git a/node_modules/cliui/.travis.yml b/node_modules/cliui/.travis.yml deleted file mode 100644 index d96edf8..0000000 --- a/node_modules/cliui/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - "0.10" - - "0.11" - - "0.12" - - "iojs" -after_script: "NODE_ENV=test YOURPACKAGE_COVERAGE=1 ./node_modules/.bin/mocha --require patched-blanket --reporter mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js" diff --git a/node_modules/cliui/LICENSE.txt b/node_modules/cliui/LICENSE.txt deleted file mode 100644 index c7e2747..0000000 --- a/node_modules/cliui/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) 2015, Contributors - -Permission to use, copy, modify, and/or distribute this software -for any purpose with or without fee is hereby granted, provided -that the above copyright notice and this permission notice -appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE -LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/cliui/README.md b/node_modules/cliui/README.md deleted file mode 100644 index edcafa8..0000000 --- a/node_modules/cliui/README.md +++ /dev/null @@ -1,104 +0,0 @@ -# cliui - -[![Build Status](https://travis-ci.org/bcoe/cliui.png)](https://travis-ci.org/bcoe/cliui) -[![Coverage Status](https://coveralls.io/repos/bcoe/cliui/badge.svg?branch=)](https://coveralls.io/r/bcoe/cliui?branch=) -[![NPM version](https://img.shields.io/npm/v/cliui.svg)](https://www.npmjs.com/package/cliui) - -easily create complex multi-column command-line-interfaces. - -## Example - -```js -var ui = require('cliui')({ - width: 80 -}) - -ui.div('Usage: $0 [command] [options]') - -ui.div({ - text: 'Options:', - padding: [2, 0, 2, 0] -}) - -ui.div( - { - text: "-f, --file", - width: 40, - padding: [0, 4, 0, 4] - }, - { - text: "the file to load", - width: 25 - }, - { - text: "[required]", - align: 'right' - } -) - -console.log(ui.toString()) -``` - -## Layout DSL - -cliui exposes a simple layout DSL: - -If you create a single `ui.row`, passing a string rather than an -object: - -* `\n`: characters will be interpreted as new rows. -* `\t`: characters will be interpreted as new columns. -* ` `: characters will be interpreted as padding. - -**as an example...** - -```js -var ui = require('./')({ - width: 60 -}) - -ui.div( - 'Usage: node ./bin/foo.js\n' + - ' \t provide a regex\n' + - ' \t provide a glob\t [required]' -) - -console.log(ui.toString()) -``` - -**will output:** - -```shell -Usage: node ./bin/foo.js - provide a regex - provide a glob [required] -``` - -## Methods - -```js -cliui = require('cliui') -``` - -### cliui({width: integer}) - -Specify the maximum width of the UI being generated. - -### cliui({wrap: boolean}) - -Enable or disable the wrapping of text in a column. - -### cliui.div(column, column, column) - -Create a row with any number of columns, a column -can either be a string, or an object with the following -options: - -* **width:** the width of a column. -* **align:** alignment, `right` or `center`. -* **padding:** `[top, right, bottom, left]`. - -### cliui.span(column, column, column) - -Similar to `div`, except the next row will be appended without -a new line being created. diff --git a/node_modules/cliui/index.js b/node_modules/cliui/index.js deleted file mode 100644 index 31b4aa7..0000000 --- a/node_modules/cliui/index.js +++ /dev/null @@ -1,273 +0,0 @@ -var wrap = require('wordwrap'), - align = { - right: require('right-align'), - center: require('center-align') - }, - top = 0, - right = 1, - bottom = 2, - left = 3 - -function UI (opts) { - this.width = opts.width - this.wrap = opts.wrap - this.rows = [] -} - -UI.prototype.span = function () { - var cols = this.div.apply(this, arguments) - cols.span = true -} - -UI.prototype.div = function () { - if (arguments.length === 0) this.div('') - if (this.wrap && this._shouldApplyLayoutDSL.apply(this, arguments)) { - return this._applyLayoutDSL(arguments[0]) - } - - var cols = [] - - for (var i = 0, arg; (arg = arguments[i]) !== undefined; i++) { - if (typeof arg === 'string') cols.push(this._colFromString(arg)) - else cols.push(arg) - } - - this.rows.push(cols) - return cols -} - -UI.prototype._shouldApplyLayoutDSL = function () { - return arguments.length === 1 && typeof arguments[0] === 'string' && - /[\t\n]/.test(arguments[0]) -} - -UI.prototype._applyLayoutDSL = function (str) { - var _this = this, - rows = str.split('\n'), - leftColumnWidth = 0 - - // simple heuristic for layout, make sure the - // second column lines up along the left-hand. - // don't allow the first column to take up more - // than 50% of the screen. - rows.forEach(function (row) { - var columns = row.split('\t') - if (columns.length > 1 && columns[0].length > leftColumnWidth) { - leftColumnWidth = Math.min( - Math.floor(_this.width * 0.5), - columns[0].length - ) - } - }) - - // generate a table: - // replacing ' ' with padding calculations. - // using the algorithmically generated width. - rows.forEach(function (row) { - var columns = row.split('\t') - _this.div.apply(_this, columns.map(function (r, i) { - return { - text: r.trim(), - padding: [0, r.match(/\s*$/)[0].length, 0, r.match(/^\s*/)[0].length], - width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined - } - })) - }) - - return this.rows[this.rows.length - 1] -} - -UI.prototype._colFromString = function (str) { - return { - text: str - } -} - -UI.prototype.toString = function () { - var _this = this, - lines = [] - - _this.rows.forEach(function (row, i) { - _this.rowToString(row, lines) - }) - - // don't display any lines with the - // hidden flag set. - lines = lines.filter(function (line) { - return !line.hidden - }) - - return lines.map(function (line) { - return line.text - }).join('\n') -} - -UI.prototype.rowToString = function (row, lines) { - var _this = this, - paddingLeft, - rrows = this._rasterize(row), - str = '', - ts, - width, - wrapWidth - - rrows.forEach(function (rrow, r) { - str = '' - rrow.forEach(function (col, c) { - ts = '' // temporary string used during alignment/padding. - width = row[c].width // the width with padding. - wrapWidth = _this._negatePadding(row[c]) // the width without padding. - - for (var i = 0; i < Math.max(wrapWidth, col.length); i++) { - ts += col.charAt(i) || ' ' - } - - // align the string within its column. - if (row[c].align && row[c].align !== 'left' && _this.wrap) { - ts = align[row[c].align](ts.trim() + '\n' + new Array(wrapWidth + 1).join(' ')) - .split('\n')[0] - if (ts.length < wrapWidth) ts += new Array(width - ts.length).join(' ') - } - - // add left/right padding and print string. - paddingLeft = (row[c].padding || [0, 0, 0, 0])[left] - if (paddingLeft) str += new Array(row[c].padding[left] + 1).join(' ') - str += ts - if (row[c].padding && row[c].padding[right]) str += new Array(row[c].padding[right] + 1).join(' ') - - // if prior row is span, try to render the - // current row on the prior line. - if (r === 0 && lines.length > 0) { - str = _this._renderInline(str, lines[lines.length - 1], paddingLeft) - } - }) - - // remove trailing whitespace. - lines.push({ - text: str.replace(/ +$/, ''), - span: row.span - }) - }) - - return lines -} - -// if the full 'source' can render in -// the target line, do so. -UI.prototype._renderInline = function (source, previousLine, paddingLeft) { - var target = previousLine.text, - str = '' - - if (!previousLine.span) return source - - // if we're not applying wrapping logic, - // just always append to the span. - if (!this.wrap) { - previousLine.hidden = true - return target + source - } - - for (var i = 0, tc, sc; i < Math.max(source.length, target.length); i++) { - tc = target.charAt(i) || ' ' - sc = source.charAt(i) || ' ' - // we tried to overwrite a character in the other string. - if (tc !== ' ' && sc !== ' ') return source - // there is not enough whitespace to maintain padding. - if (sc !== ' ' && i < paddingLeft + target.length) return source - // :thumbsup: - if (tc === ' ') str += sc - else str += tc - } - - previousLine.hidden = true - - return str -} - -UI.prototype._rasterize = function (row) { - var _this = this, - i, - rrow, - rrows = [], - widths = this._columnWidths(row), - wrapped - - // word wrap all columns, and create - // a data-structure that is easy to rasterize. - row.forEach(function (col, c) { - // leave room for left and right padding. - col.width = widths[c] - if (_this.wrap) wrapped = wrap.hard(_this._negatePadding(col))(col.text).split('\n') - else wrapped = col.text.split('\n') - - // add top and bottom padding. - if (col.padding) { - for (i = 0; i < (col.padding[top] || 0); i++) wrapped.unshift('') - for (i = 0; i < (col.padding[bottom] || 0); i++) wrapped.push('') - } - - wrapped.forEach(function (str, r) { - if (!rrows[r]) rrows.push([]) - - rrow = rrows[r] - - for (var i = 0; i < c; i++) { - if (rrow[i] === undefined) rrow.push('') - } - rrow.push(str) - }) - }) - - return rrows -} - -UI.prototype._negatePadding = function (col) { - var wrapWidth = col.width - if (col.padding) wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0) - return wrapWidth -} - -UI.prototype._columnWidths = function (row) { - var _this = this, - widths = [], - unset = row.length, - unsetWidth, - remainingWidth = this.width - - // column widths can be set in config. - row.forEach(function (col, i) { - if (col.width) { - unset-- - widths[i] = col.width - remainingWidth -= col.width - } else { - widths[i] = undefined - } - }) - - // any unset widths should be calculated. - if (unset) unsetWidth = Math.floor(remainingWidth / unset) - widths.forEach(function (w, i) { - if (!_this.wrap) widths[i] = row[i].width || row[i].text.length - else if (w === undefined) widths[i] = Math.max(unsetWidth, _minWidth(row[i])) - }) - - return widths -} - -// calculates the minimum width of -// a column, based on padding preferences. -function _minWidth (col) { - var padding = col.padding || [] - - return 1 + (padding[left] || 0) + (padding[right] || 0) -} - -module.exports = function (opts) { - opts = opts || {} - - return new UI({ - width: (opts || {}).width || 80, - wrap: typeof opts.wrap === 'boolean' ? opts.wrap : true - }) -} diff --git a/node_modules/cliui/package.json b/node_modules/cliui/package.json deleted file mode 100644 index a8ee4c3..0000000 --- a/node_modules/cliui/package.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "cliui@^2.1.0", - "scope": null, - "escapedName": "cliui", - "name": "cliui", - "rawSpec": "^2.1.0", - "spec": ">=2.1.0 <3.0.0", - "type": "range" - }, - "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs" - ] - ], - "_from": "cliui@>=2.1.0 <3.0.0", - "_id": "cliui@2.1.0", - "_inCache": true, - "_location": "/cliui", - "_nodeVersion": "0.10.36", - "_npmUser": { - "name": "bcoe", - "email": "ben@npmjs.com" - }, - "_npmVersion": "2.7.5", - "_phantomChildren": {}, - "_requested": { - "raw": "cliui@^2.1.0", - "scope": null, - "escapedName": "cliui", - "name": "cliui", - "rawSpec": "^2.1.0", - "spec": ">=2.1.0 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/uglify-js/yargs" - ], - "_resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "_shasum": "4b475760ff80264c762c3a1719032e91c7fea0d1", - "_shrinkwrap": null, - "_spec": "cliui@^2.1.0", - "_where": "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs", - "author": { - "name": "Ben Coe", - "email": "ben@npmjs.com" - }, - "bugs": { - "url": "https://github.com/bcoe/cliui/issues" - }, - "config": { - "blanket": { - "pattern": [ - "index.js" - ], - "data-cover-never": [ - "node_modules", - "test" - ], - "output-reporter": "spec" - } - }, - "dependencies": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - }, - "description": "easily create complex multi-column command-line-interfaces", - "devDependencies": { - "blanket": "^1.1.6", - "chai": "^2.2.0", - "coveralls": "^2.11.2", - "mocha": "^2.2.4", - "mocha-lcov-reporter": "0.0.2", - "mocoverage": "^1.0.0", - "patched-blanket": "^1.0.1", - "standard": "^3.6.1" - }, - "directories": {}, - "dist": { - "shasum": "4b475760ff80264c762c3a1719032e91c7fea0d1", - "tarball": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" - }, - "gitHead": "5d6ce466b144db62abefc4b2252c8aa70a741695", - "homepage": "https://github.com/bcoe/cliui", - "keywords": [ - "cli", - "command-line", - "layout", - "design", - "console", - "wrap", - "table" - ], - "license": "ISC", - "main": "index.js", - "maintainers": [ - { - "name": "bcoe", - "email": "ben@npmjs.com" - } - ], - "name": "cliui", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/bcoe/cliui.git" - }, - "scripts": { - "test": "standard && mocha --check-leaks --ui exports --require patched-blanket -R mocoverage" - }, - "standard": { - "ignore": [ - "**/example/**" - ], - "globals": [ - "it" - ] - }, - "version": "2.1.0" -} diff --git a/node_modules/cliui/test/cliui.js b/node_modules/cliui/test/cliui.js deleted file mode 100644 index 1cc6127..0000000 --- a/node_modules/cliui/test/cliui.js +++ /dev/null @@ -1,349 +0,0 @@ -/* global describe, it */ - -require('chai').should() - -var cliui = require('../') - -describe('cliui', function () { - describe('div', function () { - it("wraps text at 'width' if a single column is given", function () { - var ui = cliui({ - width: 10 - }) - - ui.div('i am a string that should be wrapped') - - ui.toString().split('\n').forEach(function (row) { - row.length.should.be.lte(10) - }) - }) - - it('evenly divides text across columns if multiple columns are given', function () { - var ui = cliui({ - width: 40 - }) - - ui.div( - {text: 'i am a string that should be wrapped', width: 15}, - 'i am a second string that should be wrapped', - 'i am a third string that should be wrapped' - ) - - // total width of all columns is <= - // the width cliui is initialized with. - ui.toString().split('\n').forEach(function (row) { - row.length.should.be.lte(40) - }) - - // it should wrap each column appropriately. - var expected = [ - 'i am a string i am a i am a third', - 'that should be second string that', - 'wrapped string that should be', - ' should be wrapped', - ' wrapped' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('allows for a blank row to be appended', function () { - var ui = cliui({ - width: 40 - }) - - ui.div() - - // it should wrap each column appropriately. - var expected = [''] - - ui.toString().split('\n').should.eql(expected) - }) - }) - - describe('_columnWidths', function () { - it('uses same width for each column by default', function () { - var ui = cliui({ - width: 40 - }), - widths = ui._columnWidths([{}, {}, {}]) - - widths[0].should.equal(13) - widths[1].should.equal(13) - widths[2].should.equal(13) - }) - - it('divides width over remaining columns if first column has width specified', function () { - var ui = cliui({ - width: 40 - }), - widths = ui._columnWidths([{width: 20}, {}, {}]) - - widths[0].should.equal(20) - widths[1].should.equal(10) - widths[2].should.equal(10) - }) - - it('divides width over remaining columns if middle column has width specified', function () { - var ui = cliui({ - width: 40 - }), - widths = ui._columnWidths([{}, {width: 10}, {}]) - - widths[0].should.equal(15) - widths[1].should.equal(10) - widths[2].should.equal(15) - }) - - it('keeps track of remaining width if multiple columns have width specified', function () { - var ui = cliui({ - width: 40 - }), - widths = ui._columnWidths([{width: 20}, {width: 12}, {}]) - - widths[0].should.equal(20) - widths[1].should.equal(12) - widths[2].should.equal(8) - }) - - it('uses a sane default if impossible widths are specified', function () { - var ui = cliui({ - width: 40 - }), - widths = ui._columnWidths([{width: 30}, {width: 30}, {padding: [0, 2, 0, 1]}]) - - widths[0].should.equal(30) - widths[1].should.equal(30) - widths[2].should.equal(4) - }) - }) - - describe('alignment', function () { - it('allows a column to be right aligned', function () { - var ui = cliui({ - width: 40 - }) - - ui.div( - 'i am a string', - {text: 'i am a second string', align: 'right'}, - 'i am a third string that should be wrapped' - ) - - // it should right-align the second column. - var expected = [ - 'i am a stringi am a secondi am a third', - ' stringstring that', - ' should be', - ' wrapped' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('allows a column to be center aligned', function () { - var ui = cliui({ - width: 60 - }) - - ui.div( - 'i am a string', - {text: 'i am a second string', align: 'center', padding: [0, 2, 0, 2]}, - 'i am a third string that should be wrapped' - ) - - // it should right-align the second column. - var expected = [ - 'i am a string i am a second i am a third string', - ' string that should be', - ' wrapped' - ] - - ui.toString().split('\n').should.eql(expected) - }) - }) - - describe('padding', function () { - it('handles left/right padding', function () { - var ui = cliui({ - width: 40 - }) - - ui.div( - {text: 'i have padding on my left', padding: [0, 0, 0, 4]}, - {text: 'i have padding on my right', padding: [0, 2, 0, 0], align: 'center'}, - {text: 'i have no padding', padding: [0, 0, 0, 0]} - ) - - // it should add left/right padding to columns. - var expected = [ - ' i have i have i have no', - ' padding padding on padding', - ' on my my right', - ' left' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('handles top/bottom padding', function () { - var ui = cliui({ - width: 40 - }) - - ui.div( - 'i am a string', - {text: 'i am a second string', padding: [2, 0, 0, 0]}, - {text: 'i am a third string that should be wrapped', padding: [0, 0, 1, 0]} - ) - - // it should add top/bottom padding to second - // and third columns. - var expected = [ - 'i am a string i am a third', - ' string that', - ' i am a secondshould be', - ' string wrapped', - '' - ] - - ui.toString().split('\n').should.eql(expected) - }) - }) - - describe('wrap', function () { - it('allows wordwrap to be disabled', function () { - var ui = cliui({ - wrap: false - }) - - ui.div( - {text: 'i am a string', padding: [0, 1, 0, 0]}, - {text: 'i am a second string', padding: [0, 2, 0, 0]}, - {text: 'i am a third string that should not be wrapped', padding: [0, 0, 0, 2]} - ) - - ui.toString().should.equal('i am a string i am a second string i am a third string that should not be wrapped') - }) - }) - - describe('span', function () { - it('appends the next row to the end of the prior row if it fits', function () { - var ui = cliui({ - width: 40 - }) - - ui.span( - {text: 'i am a string that will be wrapped', width: 30} - ) - - ui.div( - {text: ' [required] [default: 99]', align: 'right'} - ) - - var expected = [ - 'i am a string that will be', - 'wrapped [required] [default: 99]' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('does not append the string if it does not fit on the prior row', function () { - var ui = cliui({ - width: 40 - }) - - ui.span( - {text: 'i am a string that will be wrapped', width: 30} - ) - - ui.div( - {text: 'i am a second row', align: 'left'} - ) - - var expected = [ - 'i am a string that will be', - 'wrapped', - 'i am a second row' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('always appends text to prior span if wrap is disabled', function () { - var ui = cliui({ - wrap: false, - width: 40 - }) - - ui.span( - {text: 'i am a string that will be wrapped', width: 30} - ) - - ui.div( - {text: 'i am a second row', align: 'left', padding: [0, 0, 0, 3]} - ) - - ui.div('a third line') - - var expected = [ - 'i am a string that will be wrapped i am a second row', - 'a third line' - ] - - ui.toString().split('\n').should.eql(expected) - }) - }) - - describe('layoutDSL', function () { - it('turns tab into multiple columns', function () { - var ui = cliui({ - width: 60 - }) - - ui.div( - ' \tmy awesome regex\n \tanother row\t a third column' - ) - - var expected = [ - ' my awesome regex', - ' another row a third column' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('turns newline into multiple rows', function () { - var ui = cliui({ - width: 40 - }) - - ui.div( - 'Usage: $0\n \t my awesome regex\n \t my awesome glob\t [required]' - ) - var expected = [ - 'Usage: $0', - ' my awesome regex', - ' my awesome [required]', - ' glob' - ] - - ui.toString().split('\n').should.eql(expected) - }) - - it('does not apply DSL if wrap is false', function () { - var ui = cliui({ - width: 40, - wrap: false - }) - - ui.div( - 'Usage: $0\ttwo\tthree' - ) - - ui.toString().should.eql('Usage: $0\ttwo\tthree') - }) - - }) -}) diff --git a/node_modules/parse-asn1/asn1.js b/node_modules/parse-asn1/asn1.js index cb2fcfc..6cac822 100644 --- a/node_modules/parse-asn1/asn1.js +++ b/node_modules/parse-asn1/asn1.js @@ -1,8 +1,11 @@ // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js // Fedor, you are amazing. +'use strict' var asn1 = require('asn1.js') +exports.certificate = require('./certificate') + var RSAPrivateKey = asn1.define('RSAPrivateKey', function () { this.seq().obj( this.key('version').int(), @@ -94,6 +97,7 @@ exports.DSAPrivateKey = DSAPrivateKey exports.DSAparam = asn1.define('DSAparam', function () { this.int() }) + var ECPrivateKey = asn1.define('ECPrivateKey', function () { this.seq().obj( this.key('version').int(), @@ -103,6 +107,7 @@ var ECPrivateKey = asn1.define('ECPrivateKey', function () { ) }) exports.ECPrivateKey = ECPrivateKey + var ECParameters = asn1.define('ECParameters', function () { this.choice({ namedCurve: this.objid() diff --git a/node_modules/parse-asn1/fixProc.js b/node_modules/parse-asn1/fixProc.js index 5c4085e..655c3cf 100644 --- a/node_modules/parse-asn1/fixProc.js +++ b/node_modules/parse-asn1/fixProc.js @@ -1,7 +1,7 @@ // adapted from https://github.com/apatil/pemstrip -var findProc = /Proc-Type: 4,ENCRYPTED\r?\nDEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\r?\n\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n/m -var startRegex = /^-----BEGIN (.*) KEY-----\r?\n/m -var fullRegex = /^-----BEGIN (.*) KEY-----\r?\n([0-9A-z\n\r\+\/\=]+)\r?\n-----END \1 KEY-----$/m +var findProc = /Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m +var startRegex = /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n/m +var fullRegex = /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?-----END \1-----$/m var evp = require('evp_bytestokey') var ciphers = require('browserify-aes') module.exports = function (okey, password) { @@ -22,7 +22,7 @@ module.exports = function (okey, password) { out.push(cipher.final()) decrypted = Buffer.concat(out) } - var tag = key.match(startRegex)[1] + ' KEY' + var tag = key.match(startRegex)[1] return { tag: tag, data: decrypted diff --git a/node_modules/parse-asn1/index.js b/node_modules/parse-asn1/index.js index 5cc7967..14932df 100644 --- a/node_modules/parse-asn1/index.js +++ b/node_modules/parse-asn1/index.js @@ -21,8 +21,13 @@ function parseKeys (buffer) { var data = stripped.data var subtype, ndata switch (type) { + case 'CERTIFICATE': + ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo + // falls through case 'PUBLIC KEY': - ndata = asn1.PublicKey.decode(data, 'der') + if (!ndata) { + ndata = asn1.PublicKey.decode(data, 'der') + } subtype = ndata.algorithm.algorithm.join('.') switch (subtype) { case '1.2.840.113549.1.1.1': diff --git a/node_modules/parse-asn1/package.json b/node_modules/parse-asn1/package.json index c779cb3..e191e90 100644 --- a/node_modules/parse-asn1/package.json +++ b/node_modules/parse-asn1/package.json @@ -1,35 +1,31 @@ { "_args": [ [ - { - "raw": "parse-asn1@^5.0.0", - "scope": null, - "escapedName": "parse-asn1", - "name": "parse-asn1", - "rawSpec": "^5.0.0", - "spec": ">=5.0.0 <6.0.0", - "type": "range" - }, - "C:\\resumeapp\\node_modules\\browserify-sign" + "parse-asn1@^5.0.0", + "/Users/Malgosia/IdeaProjects/ResuMe_ProjectCaroyln/node_modules/browserify-sign" ] ], "_from": "parse-asn1@>=5.0.0 <6.0.0", - "_id": "parse-asn1@5.0.0", + "_id": "parse-asn1@5.1.0", "_inCache": true, + "_installable": true, "_location": "/parse-asn1", - "_nodeVersion": "4.2.1", + "_nodeVersion": "6.9.2", + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/parse-asn1-5.1.0.tgz_1489415296693_0.6854203154798597" + }, "_npmUser": { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" + "email": "calvin.metcalf@gmail.com", + "name": "cwmma" }, - "_npmVersion": "2.9.0", + "_npmVersion": "4.0.5", "_phantomChildren": {}, "_requested": { - "raw": "parse-asn1@^5.0.0", - "scope": null, - "escapedName": "parse-asn1", "name": "parse-asn1", + "raw": "parse-asn1@^5.0.0", "rawSpec": "^5.0.0", + "scope": null, "spec": ">=5.0.0 <6.0.0", "type": "range" }, @@ -37,11 +33,11 @@ "/browserify-sign", "/public-encrypt" ], - "_resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz", - "_shasum": "35060f6d5015d37628c770f4e091a0b5a278bc23", + "_resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", + "_shasum": "37c4f9b7ed3ab65c74817b5f2480937fbf97c712", "_shrinkwrap": null, "_spec": "parse-asn1@^5.0.0", - "_where": "C:\\resumeapp\\node_modules\\browserify-sign", + "_where": "/Users/Malgosia/IdeaProjects/ResuMe_ProjectCaroyln/node_modules/browserify-sign", "author": "", "bugs": { "url": "https://github.com/crypto-browserify/parse-asn1/issues" @@ -53,40 +49,40 @@ "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3" }, - "description": "[![TRAVIS](https://secure.travis-ci.org/crypto-browserify/parse-asn1.png)](http://travis-ci.org/crypto-browserify/parse-asn1) [![NPM](http://img.shields.io/npm/v/parse-asn1.svg)](https://www.npmjs.org/package/parse-asn1)", + "description": "utility library for parsing asn1 files for use with browserify-sign.", "devDependencies": { "standard": "^5.0.0", "tape": "^3.4.0" }, "directories": {}, "dist": { - "shasum": "35060f6d5015d37628c770f4e091a0b5a278bc23", - "tarball": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz" + "shasum": "37c4f9b7ed3ab65c74817b5f2480937fbf97c712", + "tarball": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz" }, - "gitHead": "eb88523b7c6dc896a407b896bba470218fde70b4", + "gitHead": "da019013e56630e7f49c7bc1d90eeefab3d97c7e", "homepage": "https://github.com/crypto-browserify/parse-asn1#readme", "license": "ISC", "main": "index.js", "maintainers": [ { - "name": "cwmma", - "email": "calvin.metcalf@gmail.com" + "email": "calvin.metcalf@gmail.com", + "name": "cwmma" }, { - "name": "dcousens", - "email": "email@dcousens.com" + "email": "email@dcousens.com", + "name": "dcousens" }, { - "name": "dominictarr", - "email": "dominic.tarr@gmail.com" + "email": "dominic.tarr@gmail.com", + "name": "dominictarr" }, { - "name": "jprichardson", - "email": "jprichardson@gmail.com" + "email": "jprichardson@gmail.com", + "name": "jprichardson" }, { - "name": "indutny", - "email": "fedor@indutny.com" + "email": "fedor@indutny.com", + "name": "indutny" } ], "name": "parse-asn1", @@ -101,5 +97,5 @@ "test": "npm run standard && npm run unit", "unit": "node ./test" }, - "version": "5.0.0" + "version": "5.1.0" } diff --git a/node_modules/parse-asn1/test/index.js b/node_modules/parse-asn1/test/index.js index 4d16030..d8bf70d 100644 --- a/node_modules/parse-asn1/test/index.js +++ b/node_modules/parse-asn1/test/index.js @@ -1,7 +1,6 @@ var test = require('tape') var fs = require('fs') var parseKey = require('../') -var crypto = require('crypto') var rsa1024 = { private: fs.readFileSync(__dirname + '/rsa.1024.priv'), public: fs.readFileSync(__dirname + '/rsa.1024.pub') @@ -68,12 +67,16 @@ var rsapass2 = { }, public: fs.readFileSync(__dirname + '/pass.rsa.2028.pub') } +var cert = { + private: fs.readFileSync(__dirname + '/rsa.1024.priv'), + public: fs.readFileSync(__dirname + '/node.cert') +} var i = 0 function testIt (keys) { test('key ' + (++i), function (t) { t.plan(2) - t.ok(parseKey(keys.public, crypto), 'public key') - t.ok(parseKey(keys.private, crypto), 'private key') + t.ok(parseKey(keys.public), 'public key') + t.ok(parseKey(keys.private), 'private key') }) } @@ -90,3 +93,4 @@ testIt(rsapass) testIt(rsapass2) testIt(pass1024) testIt(pass1024) +testIt(cert) diff --git a/node_modules/webpack-dev-server/bin/webpack-dev-server.js b/node_modules/webpack-dev-server/bin/webpack-dev-server.js old mode 100644 new mode 100755 diff --git a/node_modules/window-size/LICENSE-MIT b/node_modules/window-size/LICENSE-MIT deleted file mode 100644 index e25dca2..0000000 --- a/node_modules/window-size/LICENSE-MIT +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2014 Jon Schlinkert - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/window-size/README.md b/node_modules/window-size/README.md deleted file mode 100644 index 2547283..0000000 --- a/node_modules/window-size/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# window-size [![NPM version](https://badge.fury.io/js/window-size.png)](http://badge.fury.io/js/window-size) - -> Reliable way to to get the height and width of the terminal/console in a node.js environment. - -## Install - -### [npm](npmjs.org) - -```bash -npm i window-size --save -``` - -```javascript -var size = require('window-size'); -size.height; // "80" (rows) -size.width; // "25" (columns) -``` - -## Author - -+ [github/jonschlinkert](https://github.com/jonschlinkert) -+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -## License -Copyright (c) 2014 Jon Schlinkert -Licensed under the MIT license. \ No newline at end of file diff --git a/node_modules/window-size/index.js b/node_modules/window-size/index.js deleted file mode 100644 index 9af5b02..0000000 --- a/node_modules/window-size/index.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - * window-size - * https://github.com/jonschlinkert/window-size - * - * Copyright (c) 2014 Jon Schlinkert - * Licensed under the MIT license. - */ - -const tty = require('tty') - -module.exports = (function() { - var width; - var height; - - if(tty.isatty(1) && tty.isatty(2)) { - if(process.stdout.getWindowSize) { - width = process.stdout.getWindowSize(1)[0]; - height = process.stdout.getWindowSize(1)[1]; - } else if (tty.getWindowSize) { - width = tty.getWindowSize()[1]; - height = tty.getWindowSize()[0]; - } else if (process.stdout.columns && process.stdout.rows) { - height = process.stdout.columns; - width = process.stdout.rows; - } - } else { - new Error('Error: could not get window size with tty or process.stdout'); - } - return { - height: height, - width: width - } -})(); \ No newline at end of file diff --git a/node_modules/window-size/package.json b/node_modules/window-size/package.json deleted file mode 100644 index 8e04302..0000000 --- a/node_modules/window-size/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "window-size@0.1.0", - "scope": null, - "escapedName": "window-size", - "name": "window-size", - "rawSpec": "0.1.0", - "spec": "0.1.0", - "type": "version" - }, - "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs" - ] - ], - "_from": "window-size@0.1.0", - "_id": "window-size@0.1.0", - "_inCache": true, - "_location": "/window-size", - "_npmUser": { - "name": "jonschlinkert", - "email": "github@sellside.com" - }, - "_npmVersion": "1.3.24", - "_phantomChildren": {}, - "_requested": { - "raw": "window-size@0.1.0", - "scope": null, - "escapedName": "window-size", - "name": "window-size", - "rawSpec": "0.1.0", - "spec": "0.1.0", - "type": "version" - }, - "_requiredBy": [ - "/uglify-js/yargs" - ], - "_resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "_shasum": "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d", - "_shrinkwrap": null, - "_spec": "window-size@0.1.0", - "_where": "C:\\resumeapp\\node_modules\\uglify-js\\node_modules\\yargs", - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/window-size/issues" - }, - "dependencies": {}, - "description": "Reliable way to to get the height and width of the terminal/console in a node.js environment.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d", - "tarball": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" - }, - "engines": { - "node": ">= 0.8.0" - }, - "homepage": "https://github.com/jonschlinkert/window-size", - "keywords": [ - "window", - "console", - "terminal", - "tty" - ], - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/jonschlinkert/window-size/blob/master/LICENSE-MIT" - } - ], - "main": "index.js", - "maintainers": [ - { - "name": "jonschlinkert", - "email": "github@sellside.com" - } - ], - "name": "window-size", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/window-size.git" - }, - "version": "0.1.0" -} diff --git a/package.json b/package.json index 54971e6..5da078b 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "babel-loader": "^6.3.2", "babel-preset-es2015": "^6.22.0", "babel-preset-react": "^6.23.0", - "webpack": "^2.2.1" + "webpack": "2.2.1" }, "repository": { "type": "git", diff --git a/src/main/js/app3.js b/src/main/js/app3.js index bca13f9..c9439b5 100644 --- a/src/main/js/app3.js +++ b/src/main/js/app3.js @@ -1,4 +1,4 @@ /** * Created by Marlin on 3/3/2017. */ -import MenuResumes from './myresumes'; \ No newline at end of file +import ResumeList from './myresumes'; \ No newline at end of file diff --git a/src/main/js/app4.js b/src/main/js/app4.js index d9e63c0..6d14647 100644 --- a/src/main/js/app4.js +++ b/src/main/js/app4.js @@ -1,4 +1,4 @@ /** * Created by Marlin on 3/3/2017. */ -import Image from './chooseresume'; \ No newline at end of file +import Templates from './chooseresume'; \ No newline at end of file diff --git a/src/main/js/appHome.js b/src/main/js/appHome.js new file mode 100644 index 0000000..2faf425 --- /dev/null +++ b/src/main/js/appHome.js @@ -0,0 +1 @@ +import HomeOptions from './home'; \ No newline at end of file diff --git a/src/main/js/home.js b/src/main/js/home.js new file mode 100644 index 0000000..1d185b9 --- /dev/null +++ b/src/main/js/home.js @@ -0,0 +1,34 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; + +class MenuHome extends React.Component{ + render() { + return( +
+

ResuME

+ + Search Templates + About + Contact + Help +
+ ); + } +} + +class HomeOptions extends React.Component{ + render() { + return( +
+

Begin Creating Your ResuMe

+ Sign Up +
+ Log in +
+ ); + } +} + +ReactDOM.render(, document.getElementById('menu')); +ReactDOM.render(,document.getElementById('home')); + diff --git a/src/main/js/login.js b/src/main/js/login.js index da820e2..1a42377 100644 --- a/src/main/js/login.js +++ b/src/main/js/login.js @@ -90,9 +90,8 @@ class LoginForm extends React.Component{ }).then(response => { if (response.ok) { - //this.setState({message: " "}); this.setState({ - successMessage: this.state.name + ", you successfully signed up!", + message: this.state.name + ", you successfully signed up!", isLocked: true }); } @@ -120,7 +119,7 @@ class LoginForm extends React.Component{ + + Continue to my profile +
diff --git a/src/main/js/myresumes.js b/src/main/js/myresumes.js index 0079692..1f86c0d 100644 --- a/src/main/js/myresumes.js +++ b/src/main/js/myresumes.js @@ -4,30 +4,17 @@ import React from 'react'; import ReactDOM from 'react-dom'; -class MenuResumes extends React.Component { - render() { - return( -
-

ResuME

- -
  • About
  • -
  • Contact
  • -
  • Help
  • -
    - ); - } -} - class ResumeList extends React.Component { render() { return ( -
    - +
    +

    {this.props.myresumes}

    +



    +

    New Resume Template

    ); } } -ReactDOM.render(, document.getElementById('menu-MyResumes')); -ReactDOM.render(, document.getElementById('list')); \ No newline at end of file +ReactDOM.render(, document.getElementById('list')); \ No newline at end of file diff --git a/src/main/js/profile.js b/src/main/js/profile.js index 8f14672..d115fa9 100644 --- a/src/main/js/profile.js +++ b/src/main/js/profile.js @@ -29,6 +29,7 @@ class Profile extends React.Component { render() { return(
    +

    {this.props.name}

    {this.props.status}

    {this.props.work}

    @@ -41,8 +42,7 @@ class Profile extends React.Component { className="image"/>

    - View My Resumes - {/* */} + View My Resumes

    ); @@ -83,20 +83,105 @@ class ProfileInfo extends React.Component { render() { return(
    +

    Basic Information

    +
    -

    Work Experience

    -

    Shelf Organizer: September 2016- Present

    -

    Library Assistant: December 2014-2015

    -

    -
    +
    + +
    + +
    + +
    + +
    + +
    + +

    Work experience

    + + + +
    + +
    + +
    + +
    +

    Qualifications

    + +
    +

    Education

    + +
    + +
    + +
    + +
    +

    Interests

    + +
    +

    References

    + +
    + +
    + +
    + +
    + + +
    +
    -

    Education

    -

    Western University: September 2015- Present

    -

    High School Secondary: September 2011- June 2015

    - -

    -
    ); @@ -104,5 +189,9 @@ class ProfileInfo extends React.Component { } ReactDOM.render(, document.getElementById('menu')); -ReactDOM.render(,document.getElementById('profile-box')); + +ReactDOM.render(,document.getElementById('profile-box')); + +ReactDOM.render(,document.getElementById('profile-box')); + ReactDOM.render(, document.getElementById('profile-info')); \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index e457ba4..397a907 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -11,6 +11,7 @@ module.exports = { app2: './src/main/js/app2.js', app3: './src/main/js/app3.js', app4: './src/main/js/app4.js', + appHome: './src/main/js/appHome.js' }, output: {