We need 1.7.0 for other features, so we had to update it.
Our setup of Ultima NG doesn't use bundled theme and layout css in index.html. Instead, we load the UltimaNG scss files in .angular-cli.json. Mainly because it allows us to reuse Ultima/prime mixins and variables in our own sass code.
Code: Select all
"styles": [
"../node_modules/primeng/resources/primeng.min.css",
"../node_modules/fullcalendar/dist/fullcalendar.min.css",
"../node_modules/quill/dist/quill.snow.css",
"assets/theme/theme-cyan.scss",
"assets/layout/css/layout-cyan.scss",
"styles.scss"
],
This error seems to occur due to invalid SASS form, as reported by this github issue: https://github.com/angular/angular-cli/issues/9313 and especially this comment https://github.com/angular/angular-cli/ ... -360216974ultima-ng-5.2.0\node_modules\clean-css\lib\reader\input-source-map-tracker.js:37
if (originalPosition.line === null && line > 1 && selectorFallbacks > 0) {
^
TypeError: Cannot read property 'line' of undefined
at originalPositionFor (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\reader\input-source-map-tracker.js:37:24)
at originalMetadata (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\tokenizer\tokenize.js:486:43)
at intoTokens (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\tokenizer\tokenize.js:435:68)
at tokenize (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\tokenizer\tokenize.js:74:10)
at fromStyles (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\reader\read-sources.js:147:12)
at fromString (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\reader\read-sources.js:48:10)
at doReadSources (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\reader\read-sources.js:33:12)
at readSources (C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\reader\read-sources.js:24:10)
at C:\Users\World\Downloads\ultima-ng-5.2.0\node_modules\clean-css\lib\clean.js:99:12
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
This is due to the fact Ultima NG sometimes writes code with line splitted properties. For example writting something like this breaks the build:
Code: Select all
transition: 0.2s margin ease-in,
.4s opacity ease-in;
Code: Select all
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url("../fonts/roboto-v15-latin-300.eot"); /* IE9 Compat Modes */
src: local('Roboto Light'), local('Roboto-Light'),
url("../fonts/roboto-v15-latin-300.eot?#iefix") format('embedded-opentype'), /* IE6-IE8 */
url("../fonts/roboto-v15-latin-300.woff2") format('woff2'), /* Super Modern Browsers */
url("../fonts/roboto-v15-latin-300.woff") format('woff'), /* Modern Browsers */
url("../fonts/roboto-v15-latin-300.ttf") format('truetype'), /* Safari, Android, iOS */
url("../fonts/roboto-v15-latin-300.svg#Roboto") format('svg'); /* Legacy iOS */
}