Skip to content

Commit

Permalink
Merge branch 'v1-work' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
rstoenescu committed Dec 14, 2018
2 parents a716ba4 + f838162 commit c89bdc5
Show file tree
Hide file tree
Showing 686 changed files with 31,672 additions and 30,697 deletions.
17 changes: 4 additions & 13 deletions backers.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ You can join them in supporting Quasar development by [pledging on Patreon](http

- Mark Crady

- Haitham Al-Beik

---

### $50+
Expand All @@ -47,7 +45,6 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Bobby Ross
- Netanel Edri
- Edinei Cipriani
- Andy Burnett

---

Expand All @@ -63,7 +60,6 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Ciprian Popa ($20)
- Shone Radulovic ($15)
- Sam Cassar ($15)
- 上田 進也 (Sandbox Gmbh) ($20)
- Laurent Aapro ($12)
- Alex Tyutchev ($11)
- Marek Urbanowicz
Expand All @@ -86,6 +82,7 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Stian Mikkelsen
- Thomas Gick
- Alexey Telyatnikov
- Ryan Timmins
- Sevenview Studios
- Rus Brushkoff
- Scott Brooks
Expand All @@ -94,6 +91,7 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Thibaut Renoncourt
- Benoit Ranque
- Brian J Petersen
- Felipe Santiago
- Heitor Ribeiro
- Allan Gaunt
- Kévin Marrec
Expand All @@ -106,6 +104,7 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Christian Kyony
- Talles Dantas
- Mast
- 上田 進也 (Sandbox Gmbh)
- altShiftDev
- Simon Kimber
- Arjan Dhupia
Expand All @@ -121,21 +120,13 @@ You can join them in supporting Quasar development by [pledging on Patreon](http
- Roman Sujatinov
- Tanya Trimbakova
- eae
- Tomer Shalev
- Ildemaro Martinez Jr.
- Uri Levitsky
- Pascal Guérin
- Justin Coker
- Jonathan G
- rangepoker

- Jim O'Quinn ($5)
- Ken ($5)
- Mahesh Narayanamurthi ($5)
- Rogério Queiroz ($5)
- Walison Moreira ($5)
- Felipe Santiago ($5)
- Hugo Ramses Moreno Ramos (5$)
- John (JCharante) ($1)
- Joe L Wroten ($1)
- Yasuhiro Kawagoe ($1)
- Shawn Taylor ($1)
Expand Down
2 changes: 0 additions & 2 deletions build/build.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ const version = process.env.VERSION || require('../package.json').version

module.exports = {
version,
themes: ['mat', 'ios'],
themeToken: '__THEME__',
banner:
'/*!\n' +
' * Quasar Framework v' + version + '\n' +
Expand Down
53 changes: 25 additions & 28 deletions build/build.helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const
const
cache = {},
{ writeFile } = require('./build.utils'),
Quasar = require('../dist/umd/quasar.mat.umd.min'),
Quasar = require('../dist/quasar.umd.min'),
components = Quasar.components,
resolve = file => path.resolve(__dirname, '../dist/helper-json', file)

Expand All @@ -29,24 +29,9 @@ function kebab (name) {
: kebabCase(name)
}

function addProps (comp, list) {
if (comp.props) {
Object.keys(comp.props)
.filter(name => name !== 'value')
.forEach(name => {
list[kebab(name)] = comp.props[name]
})
}
}

const propExceptions = {
'q-chips-input': ['max-height'],
'q-collapsible': ['link'],
'q-search': ['max-value']
}
const internalComponents = [
'q-item-wrapper',
'q-input-frame'
]
function applyExceptions (cache) {
internalComponents.forEach(name => {
Expand All @@ -61,21 +46,32 @@ function applyExceptions (cache) {

function parseComponent (comp, list) {
const
name = kebabCase(comp.name),
cached = name !== void 0 ? cache[comp.name] : false
isFn = typeof comp === 'function',
obj = isFn ? comp.options : comp,
name = kebabCase(obj.name)

if (name !== void 0) {
const cached = cache[name]

if (cached) {
Object.assign(list, cached)
return
if (cached) {
Object.assign(list, cached)
return
}
}

if (comp.mixins) {
comp.mixins.forEach(mixin => {
if (obj.mixins) {
obj.mixins.forEach(mixin => {
parseComponent(mixin, list)
})
}

addProps(comp, list)
if (obj.props) {
Object.keys(obj.props)
.filter(name => name !== 'value')
.forEach(name => {
list[kebab(name)] = obj.props[name]
})
}

if (name) {
cache[name] = cloneDeep(list)
Expand All @@ -101,25 +97,26 @@ function getAttributes (cache) {
let entry
let type = props[prop].type || 'any'
if (Array.isArray(type)) {
types = type.map(val => {
const types = type.map(val => {
const v = PropTypeMap.get(val)
if (!PropTypeMap.has(val)) {
console.error('PropTypeMap.get', v)
console.error('PropTypeMap.get', name, prop, val, v)
}
else {
return PropTypeMap.get(val).type
}
})
type = types.join('|')
let description = 'One of '
if (types.length == 2) {
if (types.length === 2) {
description += `${types[0]} or ${types[1]}.`
}
else {
for (let i = 0; i < types.length; i++) {
if (i < types.length - 1) {
description += `${types[i]}, `
} else {
}
else {
description += `or ${types[i]}.`
}
}
Expand Down
27 changes: 5 additions & 22 deletions build/build.transforms.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,13 @@ function isExternalUtil (name) {
return !['escape-key', 'modal-fn', 'popup', 'sort', 'router-link', 'is', 'noop', 'web-storage'].includes(name)
}

function addComponents (map, theme) {
const
currentThemeEnding = `.${theme}.`,
otherThemeEnding = `.${theme === 'mat' ? 'ios' : 'mat'}.`

function addComponents (map) {
glob.sync(resolve('src/components/**/Q*.js'))
.map(relative)
.filter(file => file.indexOf(otherThemeEnding) === -1)
.forEach(file => {
let name = path.basename(file)
if (name.indexOf(currentThemeEnding) > -1) {
name = name.replace(currentThemeEnding, '.js')
}
const name = path.basename(file)
map[getWithoutExtension(name)] = file
})

map['QSpinner'] = relative(resolve('src/components/spinner/QSpinner.js'))
map['QSpinnerMat'] = relative(resolve('src/components/spinner/QSpinner.mat.js'))
map['QSpinnerIos'] = relative(resolve('src/components/spinner/QSpinner.ios.js'))
}

function addDirectives (map) {
Expand Down Expand Up @@ -93,23 +81,18 @@ module.exports = function (importName) {
`
}

function generateTheme (theme) {
module.exports.generate = function () {
const map = {
Quasar: relative(resolve('src/vue-plugin.js'))
}

addComponents(map, theme)
addComponents(map)
addDirectives(map)
addPlugins(map)
addUtils(map)

writeFile(
resolve(`dist/babel-transforms/imports.${theme}.js`),
resolve(`dist/babel-transforms/imports.js`),
generateFile(map)
)
}

module.exports.generate = function () {
generateTheme('mat')
generateTheme('ios')
}
2 changes: 0 additions & 2 deletions build/env.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
const
theme = process.argv[2] || 'mat',
host = process.env.HOST || '0.0.0.0',
port = process.env.PORT || (process.env.QUASAR_SSR ? 8554 : 8080)

module.exports = {
theme,
quasarVersion: require('../package.json').version,
host,
port,
Expand Down
57 changes: 10 additions & 47 deletions build/script.build.javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ const
uglify = require('uglify-es'),
buble = require('rollup-plugin-buble'),
json = require('rollup-plugin-json'),
replace = require('rollup-plugin-replace'),
nodeResolve = require('rollup-plugin-node-resolve'),
buildConf = require('./build.conf'),
buildUtils = require('./build.utils'),
Expand All @@ -22,7 +21,7 @@ const builds = [
input: resolve(`src/index.esm.js`)
},
output: {
file: resolve(`dist/quasar.${buildConf.themeToken}.esm.js`),
file: resolve(`dist/quasar.esm.js`),
format: 'es'
}
},
Expand All @@ -46,7 +45,7 @@ const builds = [
input: resolve('src/ie-compat/ie.js')
},
output: {
file: resolve('dist/umd/quasar.ie.polyfills.umd.js'),
file: resolve('dist/quasar.ie.polyfills.umd.js'),
format: 'umd'
}
},
Expand All @@ -58,7 +57,7 @@ const builds = [
input: resolve(`src/index.umd.js`)
},
output: {
file: resolve(`dist/umd/quasar.${buildConf.themeToken}.umd.js`),
file: resolve(`dist/quasar.umd.js`),
format: 'umd'
}
},
Expand Down Expand Up @@ -99,7 +98,7 @@ function addAssets (builds, type) {
plugins
},
output: {
file: addExtension(resolve(`dist/umd/${type}.${file}`), 'umd'),
file: addExtension(resolve(`dist/${type}/${file}`), 'umd'),
format: 'umd',
name: `Quasar.${type}.${name}`
}
Expand All @@ -111,67 +110,31 @@ function addAssets (builds, type) {
})
}

function processEntries (entries) {
const builds = []

entries.forEach(entry => {
if (entry.rollup.output.file.indexOf(buildConf.themeToken) === -1) {
builds.push(entry)
return
}

buildConf.themes.forEach(theme => {
const clone = JSON.parse(JSON.stringify(entry))
clone.rollup.output.file = entry.rollup.output.file.replace(buildConf.themeToken, theme)
clone.build.theme = theme
builds.push(clone)
})
})

return builds
}

function build (builds) {
return Promise
.all(processEntries(builds).map(genConfig).map(buildEntry))
.all(builds.map(genConfig).map(buildEntry))
.catch(buildUtils.logError)
}

function genConfig (opts) {
const theme = opts.build && opts.build.theme
? opts.build.theme
: null

const plugins = opts.rollup.input.plugins || [
nodeResolve({
extensions: theme
? [`.${theme}.js`, '.js']
: ['.js'],
extensions: ['.js'],
preferBuiltins: false
}),
json(),
buble(bubleConfig)
]

if (theme) {
plugins.push(
replace({
'process.env.THEME': `'${theme}'`
})
)
}

opts.rollup.input.plugins = plugins
opts.rollup.output.banner = buildConf.banner
opts.rollup.output.name = opts.rollup.output.name || 'Quasar'

if (opts.rollup.output.format === 'umd') {
opts.rollup.input.external = opts.rollup.input.external || []
opts.rollup.input.external.push('vue')
opts.rollup.input.external = opts.rollup.input.external || []
opts.rollup.input.external.push('vue')

opts.rollup.output.globals = opts.rollup.output.globals || {}
opts.rollup.output.globals.vue = 'Vue'
}
opts.rollup.output.globals = opts.rollup.output.globals || {}
opts.rollup.output.globals.vue = 'Vue'

return opts
}
Expand Down
3 changes: 2 additions & 1 deletion build/script.build.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,12 @@ if (!type) {
console.log(` 📦 Building Quasar ${green('v' + require('../package.json').version)}...${parallel ? blue(' [multi-threaded]') : ''}\n`)

createFolder('dist')
createFolder('dist/umd')

if (!type || type === 'js') {
createFolder('dist/helper-json')
createFolder('dist/babel-transforms')
createFolder('dist/i18n')
createFolder('dist/icons')
runJob(join(__dirname, './script.build.javascript'))
}
if (!type || type === 'css') {
Expand Down
Loading

0 comments on commit c89bdc5

Please sign in to comment.