This file was deleted.

@@ -1,6 +1,6 @@
{
"name": "@nuxt/vue-app",
"version": "2.6.1",
"version": "2.6.2",
"repository": "nuxt/nuxt.js",
"license": "MIT",
"files": [
@@ -17,7 +17,7 @@
"vue": "^2.6.10",
"vue-meta": "^1.6.0",
"vue-no-ssr": "^1.1.1",
"vue-router": "^3.0.2",
"vue-router": "^3.0.5",
"vue-template-compiler": "^2.6.10",
"vuex": "^3.1.0"
},

This file was deleted.

@@ -1,16 +1,16 @@
{
"name": "@nuxt/vue-renderer",
"version": "2.6.1",
"version": "2.6.2",
"repository": "nuxt/nuxt.js",
"license": "MIT",
"files": [
"dist"
],
"main": "dist/vue-renderer.js",
"dependencies": {
"@nuxt/devalue": "^1.2.2",
"@nuxt/utils": "2.6.1",
"consola": "^2.5.8",
"@nuxt/devalue": "^1.2.3",
"@nuxt/utils": "2.6.2",
"consola": "^2.6.0",
"fs-extra": "^7.0.1",
"lru-cache": "^5.1.1",
"vue": "^2.6.10",
@@ -30,8 +30,9 @@ export default class SPAMetaRenderer {
return vm.$meta().inject()
}

async render({ url = '/', req = {} }) {
const cacheKey = `${req.modernMode ? 'modern:' : 'legacy:'}${url}`
async render({ url = '/', req = {}, _generate }) {
const modern = req.modernMode || (this.options.modern && _generate)
const cacheKey = `${modern ? 'modern:' : 'legacy:'}${url}`
let meta = this.cache.get(cacheKey)

if (meta) {
@@ -75,7 +76,7 @@ export default class SPAMetaRenderer {
meta.resourceHints = ''

const { resources: { modernManifest, clientManifest } } = this.renderer.context
const manifest = req.modernMode ? modernManifest : clientManifest
const manifest = modern ? modernManifest : clientManifest

const { shouldPreload, shouldPrefetch } = this.options.render.bundleRenderer

@@ -90,7 +91,7 @@ export default class SPAMetaRenderer {
meta.preloadFiles = manifest.initial
.map(SPAMetaRenderer.normalizeFile)
.filter(({ fileWithoutQuery, asType }) => shouldPreload(fileWithoutQuery, asType))
.map(file => ({ ...file, modern: req.modernMode }))
.map(file => ({ ...file, modern }))

meta.resourceHints += meta.preloadFiles
.map(({ file, extension, fileWithoutQuery, asType, modern }) => {

This file was deleted.

@@ -1,6 +1,6 @@
{
"name": "@nuxt/webpack",
"version": "2.6.1",
"version": "2.6.2",
"repository": "nuxt/nuxt.js",
"license": "MIT",
"files": [
@@ -9,18 +9,18 @@
"main": "dist/webpack.js",
"dependencies": {
"@babel/core": "^7.4.3",
"@nuxt/babel-preset-app": "2.6.1",
"@nuxt/babel-preset-app": "2.6.2",
"@nuxt/friendly-errors-webpack-plugin": "^2.4.0",
"@nuxt/utils": "2.6.1",
"@nuxt/utils": "2.6.2",
"babel-loader": "^8.0.5",
"cache-loader": "^2.0.1",
"caniuse-lite": "^1.0.30000957",
"caniuse-lite": "^1.0.30000959",
"chalk": "^2.4.2",
"consola": "^2.5.8",
"consola": "^2.6.0",
"css-loader": "^2.1.1",
"cssnano": "^4.1.10",
"eventsource-polyfill": "^0.9.6",
"extract-css-chunks-webpack-plugin": "^4.3.0",
"extract-css-chunks-webpack-plugin": "^4.3.1",
"file-loader": "^3.0.1",
"fs-extra": "^7.0.1",
"glob": "^7.1.3",
@@ -43,8 +43,8 @@
"time-fix-plugin": "^2.0.5",
"url-loader": "^1.1.2",
"vue-loader": "^15.7.0",
"webpack": "^4.29.6",
"webpack-bundle-analyzer": "^3.1.0",
"webpack": "^4.30.0",
"webpack-bundle-analyzer": "^3.3.2",
"webpack-dev-middleware": "^3.6.2",
"webpack-hot-middleware": "^2.24.3",
"webpack-node-externals": "^1.7.2",
@@ -61,7 +61,7 @@ export class WebpackBundler {
const { styleResources } = this.buildContext.options.build
if (styleResources && Object.keys(styleResources).length) {
consola.warn(
'Using styleResources without the nuxt-style-resources-module is not suggested and can lead to severe performance issues.',
'Using styleResources without the @nuxtjs/style-resources is not suggested and can lead to severe performance issues.',
'Please use https://github.com/nuxt-community/style-resources-module'
)
for (const ext of Object.keys(styleResources)) {
@@ -7,7 +7,8 @@
],
"ignoreDeps": [
"thread-loader",
"core-js"
"core-js",
"esm"
],
"lockFileMaintenance": {
"enabled": true
@@ -0,0 +1,143 @@
import consola from 'consola'
import execa from 'execa'
import groupBy from 'lodash/groupBy'
import sortBy from 'lodash/sortBy'
import uniq from 'lodash/uniq'
import { writeFile } from 'fs-extra'

const types = {
fix: { title: 'Fixes' },
feat: { title: 'Features' },
hotfix: { title: 'HotFixes' },
refactor: { title: 'Refactors' },
perf: { title: 'Performance Improvements' },
examples: { title: 'Examples' },
chore: { title: 'Chore' },
test: { title: 'Tests' }
}

const knownAuthors = [
'chopin',
'parsa',
'clark',
'galvez',
'lichter',
'molotkov',
'marrec',
'pim'
]

const isKnownAuthor = name => Boolean(knownAuthors.find(n => name.toLowerCase().includes(n)))

const allowedTypes = Object.keys(types)

async function main() {
// Get last git tag
const lastGitTag = await getLastGitTag()

// Get all commits from last release to current dev
let commits = await getGitDiff(lastGitTag, 'dev')

// Parse commits as conventional commits
commits = parseCommits(commits)

// Filter commits
commits = commits.filter(c =>
allowedTypes.includes(c.type) &&
c.scope !== 'deps'
)

// Generate markdown
const markdown = generateMarkDown(commits)

process.stdout.write('\n\n' + markdown + '\n\n')
await writeFile('CHANGELOG.md', markdown, 'utf-8')
}

function execCommand(cmd, args) {
return execa(cmd, args).then(r => r.stdout)
}

async function getLastGitTag() {
const r = await execCommand('git', ['describe'])
return /^[^-]+/.exec(r)[0]
}

async function getGitDiff(from, to) {
// # https://git-scm.com/docs/pretty-formats
const r = await execCommand('git', ['--no-pager', 'log', `${from}...${to}`, '--pretty=%s|%h|%an|%ae'])
return r.split('\n').map((line) => {
const [message, commit, authorName, authorEmail] = line.split('|')

return { message, commit, authorName, authorEmail }
})
}

function parseCommits(commits) {
return commits.filter(c => c.message.includes(':')).map((commit) => {
let [type, message] = commit.message.split(':')

// Extract references from message
const references = []
const referencesRegex = /#[0-9]+/g
let m
while (m = referencesRegex.exec(message)) { // eslint-disable-line no-cond-assign
references.push(m[0])
}

// Remove references and normalize
message = message.replace(referencesRegex, '').replace(/\(\)/g, '').trim()

// Extract scope from type
let scope = type.match(/\((.*)\)/)
if (scope) {
scope = scope[1]
}
type = type.split('(')[0]

return {
...commit,
message,
type,
scope,
references
}
})
}

function generateMarkDown(commits) {
const commitGroups = groupBy(commits, 'type')

let markdown = ''

for (const type of allowedTypes) {
const group = commitGroups[type]
if (!group || !group.length) {
continue
}

const { title } = types[type]
markdown += '\n\n' + '## ' + title + '\n\n'
markdown += sortBy(group, 'scope').map(formatCommitForMarkdown).join('\n')
}

const authors = sortBy(uniq(commits.map(commit => commit.authorName).filter(an => !isKnownAuthor(an))))
if (authors.length) {
markdown += '\n\n' + '## ' + 'Thanks to' + '\n\n'
markdown += authors.map(name => '- ' + name).join('\n')
}

return markdown.trim()
}

function formatCommitForMarkdown({ scope, type, message, references }) {
let fMessage = scope ? `**${scope}**: ${message}` : message

if (references.length) {
fMessage += ' ' + references.map(r => `(${r})`).join(' ')
}

return '- ' + fMessage
}

main().catch(consola.error)

This file was deleted.

@@ -0,0 +1,5 @@
#!/bin/bash
set -e

yarn lerna version --no-changelog
yarn build
@@ -1,5 +1,4 @@
#!/bin/bash
set -e
yarn lerna version
yarn build

./scripts/workspace-run npm publish -q
@@ -24,7 +24,7 @@ describe('with-config', () => {
'message': 'Found 2 plugins that match the configuration, suggest to specify extension:'
}],
['Please use `build.postcss` in your nuxt.config.js instead of an external config file. Support for such files will be removed in Nuxt 3 as they remove all defaults set by Nuxt and can cause severe problems with features like alias resolving inside your CSS.'],
['Using styleResources without the nuxt-style-resources-module is not suggested and can lead to severe performance issues.', 'Please use https://github.com/nuxt-community/style-resources-module'],
['Using styleResources without the @nuxtjs/style-resources is not suggested and can lead to severe performance issues.', 'Please use https://github.com/nuxt-community/style-resources-module'],
['Notice: Please do not deploy bundles built with analyze mode, it\'s only for analyzing purpose.']
])
expect(customCompressionMiddlewareFunctionName).toBe('damn')
820 yarn.lock

Large diffs are not rendered by default.