Merge branch 'dev' into 2.x

This commit is contained in:
Clark Du 2019-01-28 17:44:16 +00:00
commit a303ea89b3
591 changed files with 12821 additions and 4538 deletions

View File

@ -6,8 +6,9 @@
"files": [ "files": [
"README.md" "README.md"
], ],
"imageSize": 150, "imageSize": 120,
"commit": false, "commit": false,
"contributorsPerLine": 4,
"contributors": [ "contributors": [
{ {
"login": "Atinux", "login": "Atinux",
@ -94,6 +95,31 @@
"review", "review",
"test" "test"
] ]
},
{
"login": "aldarund",
"name": "Dmitry Molotkov",
"avatar_url": "https://avatars2.githubusercontent.com/u/571159?v=4",
"profile": "https://github.com/aldarund",
"contributions": [
"question",
"bug",
"code",
"ideas",
"review"
]
},
{
"login": "kevinmarrec",
"name": "Kevin Marrec",
"avatar_url": "https://avatars2.githubusercontent.com/u/25272043?v=4",
"profile": "https://github.com/kevinmarrec",
"contributions": [
"code",
"ideas",
"platform",
"review"
]
} }
] ]
} }

View File

@ -3,9 +3,39 @@ version: 2
defaults: &defaults defaults: &defaults
working_directory: ~/project working_directory: ~/project
docker: docker:
- image: banian/node-headless-chrome - image: circleci/node:latest
environment: environment:
- NODE_ENV: test NODE_ENV: test
NODE_OPTIONS: --max_old_space_size=4096
release_branches: &release_branches
branches:
only:
- dev
- next
release: &release
<<: *defaults
steps:
- checkout
- attach_workspace:
at: ~/project
- run:
name: release
command: |
if [ -z "$COMMIT_MSG" ]; then
COMMIT_MSG=$(git --no-pager log --pretty=full -n1 $CIRCLE_SHA1)
fi
if echo "$COMMIT_MSG" | grep -o "\[release\]"; then
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
echo "//registry.yarnpkg.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc
yarn lerna version --yes --no-git-tag-version --no-push
PACKAGE_SUFFIX=edge yarn build
if [ "$CIRCLE_BRANCH" = "next" ]; then tag="--tag next"; fi
./scripts/workspace-run npm publish $tag -q
else
echo "Release phase is skipped."
fi
jobs: jobs:
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
@ -19,7 +49,7 @@ jobs:
# Restore cache # Restore cache
- restore_cache: - restore_cache:
key: yarn-{{ checksum "yarn.lock" }} key: lock-{{ checksum "yarn.lock" }}
# Install dependencies # Install dependencies
- run: - run:
@ -28,7 +58,7 @@ jobs:
# Save cache # Save cache
- save_cache: - save_cache:
key: yarn-{{ checksum "yarn.lock" }} key: lock-{{ checksum "yarn.lock" }}
paths: paths:
- node_modules - node_modules
- packages/*/node_modules - packages/*/node_modules
@ -64,7 +94,7 @@ jobs:
at: ~/project at: ~/project
- run: - run:
name: Security Audit name: Security Audit
command: npm install --package-lock-only && npm audit --audit-level=moderate command: yarn audit
build: build:
<<: *defaults <<: *defaults
@ -74,14 +104,24 @@ jobs:
at: ~/project at: ~/project
- run: - run:
name: Build Fixtures name: Build Fixtures
command: yarn test:fixtures -w=4 --coverage && yarn coverage command: yarn test:fixtures -i --coverage && yarn coverage
- persist_to_workspace: - persist_to_workspace:
root: ~/project root: ~/project
paths: paths:
- test/fixtures - test/fixtures
lint-app:
<<: *defaults
steps:
- checkout
- attach_workspace:
at: ~/project
- run:
name: Lint vue-app templates
command: yarn lint:app
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Phase 3: Unit and E2E tests # Phase 3: Unit, E2E and types tests
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
test-unit: test-unit:
<<: *defaults <<: *defaults
@ -91,10 +131,12 @@ jobs:
at: ~/project at: ~/project
- run: - run:
name: Unit Tests name: Unit Tests
command: yarn test:unit -w=4 --coverage && yarn coverage command: yarn test:unit -w=2 --coverage && yarn coverage
test-e2e: test-e2e:
<<: *defaults <<: *defaults
docker:
- image: circleci/node:latest-browsers
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
@ -103,59 +145,65 @@ jobs:
name: E2E Tests name: E2E Tests
command: yarn test:e2e && yarn coverage command: yarn test:e2e && yarn coverage
# -------------------------------------------------------------------------- test-types:
# Phase 4: Release (dev branch only)
# --------------------------------------------------------------------------
release:
<<: *defaults <<: *defaults
docker:
- image: circleci/node:latest-browsers
steps: steps:
- checkout - checkout
- attach_workspace: - attach_workspace:
at: ~/project at: ~/project
- run: - run:
name: release name: Types Tests
command: | command: yarn test:types
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
echo "//registry.yarnpkg.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc # --------------------------------------------------------------------------
yarn release --yes # Phase 4: Release (dev branch only)
PACKAGE_SUFFIX=edge yarn build # --------------------------------------------------------------------------
./scripts/workspace-run npm publish -q release-commit:
<<: *release
release-nightly:
<<: *release
environment:
COMMIT_MSG: '[release]'
# Workflow definition # Workflow definition
workflows: workflows:
version: 2 version: 2
setup-and-test:
# Build and test after each commit
# Manually release on release branches
commit:
jobs: jobs:
- setup - setup
- lint: { requires: [setup] }
- lint: - audit: { requires: [setup] }
requires: - build: { requires: [setup] }
- setup - lint-app: { requires: [build] }
- test-unit: { requires: [build] }
- audit: - test-e2e: { requires: [build] }
requires: - test-types: { requires: [build] }
- setup - release-commit:
requires: [build, lint, lint-app, audit, test-unit, test-e2e, test-types]
- build:
requires:
- setup
- test-unit:
requires:
- build
- test-e2e:
requires:
- build
- release:
requires:
- build
- lint
- audit
- test-unit
- test-e2e
filters: filters:
branches: <<: *release_branches
only:
- dev # Release nightly builds on release branches
nightly:
jobs:
- setup
- lint: { requires: [setup] }
- audit: { requires: [setup] }
- build: { requires: [setup] }
- lint-app: { requires: [build] }
- test-unit: { requires: [build] }
- test-e2e: { requires: [build] }
- test-types: { requires: [build] }
- release-nightly:
requires: [build, lint, lint-app, audit, test-unit, test-e2e, test-types]
triggers:
- schedule:
cron: "0 0 * * *"
filters:
<<: *release_branches

View File

@ -2,20 +2,39 @@ module.exports = {
root: true, root: true,
parserOptions: { parserOptions: {
parser: 'babel-eslint', parser: 'babel-eslint',
sourceType: 'module' sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true
}
}, },
extends: [ extends: [
'@nuxtjs' '@nuxtjs'
], ],
"globals": {
"BigInt": true
},
overrides: [{ overrides: [{
files: [ 'test/fixtures/*/.nuxt*/**' ], files: [ 'test/fixtures/*/.nuxt*/**' ],
rules: { rules: {
'vue/name-property-casing': ['error', 'kebab-case'] 'vue/name-property-casing': 'error'
} }
}, { }, {
files: [ 'test/fixtures/*/.nuxt*/**/+(App|index).js' ], files: [
'examples/storybook/**',
'examples/with-element-ui/**',
'examples/with-museui/**',
'examples/with-vue-material/**',
'examples/with-vuetify/**',
'examples/with-vuikit/**',
'examples/with-vux/**',
],
rules: { rules: {
'import/order': 'ignore' 'vue/component-name-in-template-casing': ['warn', 'kebab-case']
}
}, {
files: [ 'test/fixtures/*/.nuxt*/**/+(App|index|server|client).js' ],
rules: {
'import/order': 'off'
} }
}, { }, {
files: [ 'test/fixtures/*/.nuxt*/**/client.js' ], files: [ 'test/fixtures/*/.nuxt*/**/client.js' ],
@ -31,7 +50,18 @@ module.exports = {
files: [ 'test/fixtures/*/.nuxt*/**/*.html' ], files: [ 'test/fixtures/*/.nuxt*/**/*.html' ],
rules: { rules: {
'semi': ['error', 'always', { 'omitLastInOneLineBlock': true }], 'semi': ['error', 'always', { 'omitLastInOneLineBlock': true }],
'no-var': 'warn' 'no-var': 'off'
}
}, {
files: [ 'test/fixtures/*/.nuxt*/**/nuxt-error.vue' ],
rules: {
'vue/singleline-html-element-content-newline': 'off'
}
}, {
// might be removed in the future, see https://github.com/standard/eslint-plugin-standard/issues/27
files: [ 'test/fixtures/*/.nuxt*/**/nuxt-link.client.js' ],
rules: {
'standard/no-callback-literal': 'off'
} }
}] }]
} }

View File

@ -5,6 +5,7 @@ Please use the following link to create a new issue:
- 🚨 Bug report - https://bug.nuxtjs.org/ - 🚨 Bug report - https://bug.nuxtjs.org/
- 🙋 Feature request - https://feature.nuxtjs.org/ - 🙋 Feature request - https://feature.nuxtjs.org/
- 🤔 Help wanted - https://otechie.com/nuxt
- ❗️ All other issues - https://cmty.nuxtjs.org/ - ❗️ All other issues - https://cmty.nuxtjs.org/
If your issue was not created using the app above, **it will be closed immediately**. If your issue was not created using the app above, **it will be closed immediately**.

43
.github/_main.workflow vendored Normal file
View File

@ -0,0 +1,43 @@
workflow "Nuxt.js Actions" {
on = "push"
resolves = ["Audit", "Lint", "Test: Unit", "Test: E2E"]
}
action "branch-filter" {
uses = "actions/bin/filter@master"
args = ["branch dev"]
}
action "Install" {
uses = "nuxt/actions-yarn@master"
args = "install --frozen-lockfile --non-interactive"
}
action "Audit" {
uses = "nuxt/actions-yarn@master"
args = "audit"
}
action "Lint" {
uses = "nuxt/actions-yarn@master"
needs = ["Install"]
args = "lint"
}
action "Build" {
uses = "nuxt/actions-yarn@master"
needs = ["Install"]
runs = "yarn test:fixtures --coverage && yarn coverage"
}
action "Test: Unit" {
uses = "nuxt/actions-yarn@master"
needs = ["Build"]
runs = "yarn test:unit --coverage && yarn coverage"
}
action "Test: E2E" {
uses = "nuxt/actions-yarn@master"
args = "test:e2e"
needs = ["Build"]
}

3
.github/lock.yml vendored
View File

@ -1,5 +1,6 @@
# Configuration for lock-threads - https://github.com/dessant/lock-threads # Configuration for lock-threads - https://github.com/dessant/lock-threads
daysUntilLock: 30 # disable lock bot for now
daysUntilLock: 3650
exemptLabels: [] exemptLabels: []
lockLabel: false lockLabel: false
lockComment: > lockComment: >

12
.github/stale.yml vendored
View File

@ -4,6 +4,18 @@ daysUntilClose: 7
staleLabel: stale staleLabel: stale
exemptLabels: exemptLabels:
- "cmty:feature-request" - "cmty:feature-request"
- "WIP"
- ":clock1:Pending"
- "type:discussion"
markComment: > markComment: >
Thanks for your contribution to Nuxt.js!
This issue has been automatically marked as stale because it has not had This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. recent activity. It will be closed if no further activity occurs.
If you would like this issue to remain open:
1. Verify that you can still reproduce the issue in the latest version of nuxt-edge
1. Comment the steps to reproduce it
Issues that are labeled as `🕐Pending` will not be automatically marked as stale.

View File

@ -3,6 +3,212 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.4.0](https://github.com/nuxt/nuxt.js/compare/v2.3.4...v2.4.0) (2019-01-28)
### Bug Fixes
* $nuxt is used instead of globalName ([#4743](https://github.com/nuxt/nuxt.js/issues/4743)) ([fe57a5a](https://github.com/nuxt/nuxt.js/commit/fe57a5a))
* add iron browser as modern ([#4775](https://github.com/nuxt/nuxt.js/issues/4775)) ([9eab558](https://github.com/nuxt/nuxt.js/commit/9eab558))
* add option to rewatch on path after raw fs event ([#4717](https://github.com/nuxt/nuxt.js/issues/4717)) ([9c6df49](https://github.com/nuxt/nuxt.js/commit/9c6df49))
* allow keepAliveProps for nuxt component ([#4610](https://github.com/nuxt/nuxt.js/issues/4610)) ([8dc15d0](https://github.com/nuxt/nuxt.js/commit/8dc15d0))
* allow pcss ending for webpack loader ([#4530](https://github.com/nuxt/nuxt.js/issues/4530)) ([8e0b508](https://github.com/nuxt/nuxt.js/commit/8e0b508))
* apply store HMR to whole store ([#4589](https://github.com/nuxt/nuxt.js/issues/4589)) ([81cf09c](https://github.com/nuxt/nuxt.js/commit/81cf09c))
* correct renderer.noSSR name ([6990efc](https://github.com/nuxt/nuxt.js/commit/6990efc))
* csp SHA hashes accumulate when using custom script-src rules ([#4519](https://github.com/nuxt/nuxt.js/issues/4519)) ([683dbba](https://github.com/nuxt/nuxt.js/commit/683dbba))
* detect plugin without extension ([#4579](https://github.com/nuxt/nuxt.js/issues/4579)) ([e7df65b](https://github.com/nuxt/nuxt.js/commit/e7df65b))
* hotfix for vuex hmr ([#4801](https://github.com/nuxt/nuxt.js/issues/4801)) ([5f0b34f](https://github.com/nuxt/nuxt.js/commit/5f0b34f))
* **rollup:** temporary ignore rollup-plugin-license deprecated warns ([49a7d0c](https://github.com/nuxt/nuxt.js/commit/49a7d0c))
* empty error message in dev mode ([3d990fe](https://github.com/nuxt/nuxt.js/commit/3d990fe))
* enable FriendlyErrorsPlugin when build.friendlyErrors is true ([30fef5d](https://github.com/nuxt/nuxt.js/commit/30fef5d))
* exit with proper error code on errors ([#4806](https://github.com/nuxt/nuxt.js/issues/4806)) ([a7ba73e](https://github.com/nuxt/nuxt.js/commit/a7ba73e))
* fall back to default value when `publicPath` is falsy ([#4365](https://github.com/nuxt/nuxt.js/issues/4365)) ([e0537d5](https://github.com/nuxt/nuxt.js/commit/e0537d5))
* hmr in modern mode ([#4623](https://github.com/nuxt/nuxt.js/issues/4623)) ([df9b32a](https://github.com/nuxt/nuxt.js/commit/df9b32a))
* improvements for build and dev stability ([#4470](https://github.com/nuxt/nuxt.js/issues/4470)) ([fe05169](https://github.com/nuxt/nuxt.js/commit/fe05169))
* invalid plugin mode warning for all ([9b3e7be](https://github.com/nuxt/nuxt.js/commit/9b3e7be))
* keepAliveProps broken in <nuxt-child> ([#4521](https://github.com/nuxt/nuxt.js/issues/4521)) ([431cc15](https://github.com/nuxt/nuxt.js/commit/431cc15))
* loading.throttle can not be 0 ([2d74804](https://github.com/nuxt/nuxt.js/commit/2d74804))
* match subdir under node_module in transpile ([#4850](https://github.com/nuxt/nuxt.js/issues/4850)) ([43ce8e9](https://github.com/nuxt/nuxt.js/commit/43ce8e9))
* merge route.meta into options.meta ([#4479](https://github.com/nuxt/nuxt.js/issues/4479)) ([5a8e6e4](https://github.com/nuxt/nuxt.js/commit/5a8e6e4))
* modern=true or false not work as expected ([#4378](https://github.com/nuxt/nuxt.js/issues/4378)) ([4c27088](https://github.com/nuxt/nuxt.js/commit/4c27088))
* nested-components example ([#4535](https://github.com/nuxt/nuxt.js/issues/4535)) ([6315bd7](https://github.com/nuxt/nuxt.js/commit/6315bd7))
* no false positives for plugins with index.js ([#4714](https://github.com/nuxt/nuxt.js/issues/4714)) ([eef2af3](https://github.com/nuxt/nuxt.js/commit/eef2af3)), closes [#4713](https://github.com/nuxt/nuxt.js/issues/4713)
* No need to use process.client here ([be5e057](https://github.com/nuxt/nuxt.js/commit/be5e057))
* **builder:** add lodash inside templates ([#4368](https://github.com/nuxt/nuxt.js/issues/4368)) ([27e79be](https://github.com/nuxt/nuxt.js/commit/27e79be))
* **builder:** js layout ([#4701](https://github.com/nuxt/nuxt.js/issues/4701)) ([af76e07](https://github.com/nuxt/nuxt.js/commit/af76e07))
* **builder:** layouts condition ([#4641](https://github.com/nuxt/nuxt.js/issues/4641)) ([6436e3b](https://github.com/nuxt/nuxt.js/commit/6436e3b))
* **builder, module:** addLayout and nuxt.config precedence over auto-scanned layouts ([#4702](https://github.com/nuxt/nuxt.js/issues/4702)) ([f85ac94](https://github.com/nuxt/nuxt.js/commit/f85ac94))
* **ci:** [release] manually does not work ([052512e](https://github.com/nuxt/nuxt.js/commit/052512e))
* **ci:** deprecated --skip-git has been replaced by --no-git-tag-version --no-push ([056704f](https://github.com/nuxt/nuxt.js/commit/056704f))
* **ci:** env can not be in workflow ([0e9eca2](https://github.com/nuxt/nuxt.js/commit/0e9eca2))
* **ci:** env in circle is not executable [release] ([a4c503b](https://github.com/nuxt/nuxt.js/commit/a4c503b))
* **ci:** reduce jest workers i CircleCI ([5ec0c8d](https://github.com/nuxt/nuxt.js/commit/5ec0c8d))
* **ci:** release edge with push and tag ([678b4ab](https://github.com/nuxt/nuxt.js/commit/678b4ab))
* **ci:** release is ignored in all commits ([d7bd99e](https://github.com/nuxt/nuxt.js/commit/d7bd99e))
* **ci:** release is ignored in all commits ([b3ff7a1](https://github.com/nuxt/nuxt.js/commit/b3ff7a1))
* **ci:** run in bound for now ([89f097e](https://github.com/nuxt/nuxt.js/commit/89f097e))
* **ci:** setupFilesAfterEnv is array ([6d8da0e](https://github.com/nuxt/nuxt.js/commit/6d8da0e))
* **ci:** support skip release in commit body ([4eff50f](https://github.com/nuxt/nuxt.js/commit/4eff50f))
* **ci:** swap COMMIT_MSG between commit and nightly release ([d455408](https://github.com/nuxt/nuxt.js/commit/d455408))
* **ci:** typo ([#4400](https://github.com/nuxt/nuxt.js/issues/4400)) ([b6b7c43](https://github.com/nuxt/nuxt.js/commit/b6b7c43))
* **ci:** use full message for COMMIT_MSG ([cc358b5](https://github.com/nuxt/nuxt.js/commit/cc358b5))
* **ci:** use skip-git for edge release ([5235471](https://github.com/nuxt/nuxt.js/commit/5235471))
* **circleci:** keep using --forceExit ([085ff82](https://github.com/nuxt/nuxt.js/commit/085ff82))
* **cli:** disable lerna commit and tag ([955b5d4](https://github.com/nuxt/nuxt.js/commit/955b5d4))
* **common:** remove extra [@nuxt](https://github.com/nuxt)/config dependency ([a2d4270](https://github.com/nuxt/nuxt.js/commit/a2d4270))
* **config:** define once default nuxt config filename ([#4814](https://github.com/nuxt/nuxt.js/issues/4814)) ([06a18ca](https://github.com/nuxt/nuxt.js/commit/06a18ca))
* **deps:** update all non-major dependencies ([#4358](https://github.com/nuxt/nuxt.js/issues/4358)) ([45fdae0](https://github.com/nuxt/nuxt.js/commit/45fdae0))
* **deps:** update dependency vue-no-ssr to ^1.1.0 ([#4372](https://github.com/nuxt/nuxt.js/issues/4372)) ([e731250](https://github.com/nuxt/nuxt.js/commit/e731250))
* **dev:** Show correct path when webpack watched files changed ([25dea5f](https://github.com/nuxt/nuxt.js/commit/25dea5f))
* **dist:** use -edge suffix to require cli ([98c1922](https://github.com/nuxt/nuxt.js/commit/98c1922))
* **edge, next:** -t ~> --tag ([2b46d3e](https://github.com/nuxt/nuxt.js/commit/2b46d3e))
* **eslint:** amp tags not support pascal case ([6a4808f](https://github.com/nuxt/nuxt.js/commit/6a4808f))
* **example:** lint error ([ccf3264](https://github.com/nuxt/nuxt.js/commit/ccf3264))
* **examples:** add pug dependencies ([#4824](https://github.com/nuxt/nuxt.js/issues/4824)) ([4b32144](https://github.com/nuxt/nuxt.js/commit/4b32144))
* **examples:** deps [skip ci] ([#4782](https://github.com/nuxt/nuxt.js/issues/4782)) ([f70610b](https://github.com/nuxt/nuxt.js/commit/f70610b))
* **examples:** deps [skip ci] ([#4827](https://github.com/nuxt/nuxt.js/issues/4827)) ([6542dff](https://github.com/nuxt/nuxt.js/commit/6542dff))
* **examples:** fix deps on codesandbox ([#4828](https://github.com/nuxt/nuxt.js/issues/4828)) ([ee7ad77](https://github.com/nuxt/nuxt.js/commit/ee7ad77))
* **examples:** Ugrade `vue-property-decorator` in typescript examples ([#4767](https://github.com/nuxt/nuxt.js/issues/4767)) ([73507b8](https://github.com/nuxt/nuxt.js/commit/73507b8))
* **examples:** Update config for better mobile handling ([3b7ac3c](https://github.com/nuxt/nuxt.js/commit/3b7ac3c))
* **examples:** use testURL and module names ([#4777](https://github.com/nuxt/nuxt.js/issues/4777)) ([c83bcb0](https://github.com/nuxt/nuxt.js/commit/c83bcb0))
* **exmaple:** typescript example ([7cf9f80](https://github.com/nuxt/nuxt.js/commit/7cf9f80))
* **layout-middleware:** Fix issue [#4724](https://github.com/nuxt/nuxt.js/issues/4724) ([521ac20](https://github.com/nuxt/nuxt.js/commit/521ac20))
* **nuxt-start:** include all vue-app dependencies to prevent breaking changes ([c664e3d](https://github.com/nuxt/nuxt.js/commit/c664e3d))
* **pkg:** add serialize-javascript to common/package.json ([#4565](https://github.com/nuxt/nuxt.js/issues/4565)) ([6b95eff](https://github.com/nuxt/nuxt.js/commit/6b95eff))
* **pkg:** move opencollective dependency nuxt and nuxt-legacy ([#4415](https://github.com/nuxt/nuxt.js/issues/4415)) ([f680e36](https://github.com/nuxt/nuxt.js/commit/f680e36))
* **pkg:** preferConst -> output.preferConst ([7fc4ba2](https://github.com/nuxt/nuxt.js/commit/7fc4ba2))
* **pkg:** skip invalid workspace packages ([ba50d3b](https://github.com/nuxt/nuxt.js/commit/ba50d3b))
* **progress-bar:** allow 0 for values and remove duplicate defaults ([#4397](https://github.com/nuxt/nuxt.js/issues/4397)) ([ecdc7bc](https://github.com/nuxt/nuxt.js/commit/ecdc7bc))
* **renderer:** ignore invalid sourcemaps ([4b643b9](https://github.com/nuxt/nuxt.js/commit/4b643b9))
* **resolver:** resolve dir if no index found [#4568](https://github.com/nuxt/nuxt.js/issues/4568) ([#4569](https://github.com/nuxt/nuxt.js/issues/4569)) ([85b5359](https://github.com/nuxt/nuxt.js/commit/85b5359))
* **resolver:** resolvedPath/index.[ext] resolution ([#4548](https://github.com/nuxt/nuxt.js/issues/4548)) ([b413bc1](https://github.com/nuxt/nuxt.js/commit/b413bc1))
* **rollup:** set correct output options ([fc1ab1e](https://github.com/nuxt/nuxt.js/commit/fc1ab1e))
* **scrollBehavior:** emit triggerScroll event after changing layer ([#4399](https://github.com/nuxt/nuxt.js/issues/4399)) ([330301c](https://github.com/nuxt/nuxt.js/commit/330301c)), closes [#4080](https://github.com/nuxt/nuxt.js/issues/4080)
* **server:** allow listening on number 0 port ([#4781](https://github.com/nuxt/nuxt.js/issues/4781)) ([602cf12](https://github.com/nuxt/nuxt.js/commit/602cf12))
* **server:** allow rendering urls with unicode characters ([#4512](https://github.com/nuxt/nuxt.js/issues/4512)) ([c3128ea](https://github.com/nuxt/nuxt.js/commit/c3128ea))
* **server:** Cannot read property client of null when webpackHMR & restarting Nuxt ([8a200f7](https://github.com/nuxt/nuxt.js/commit/8a200f7))
* **server:** delete all non-js assets ([6589670](https://github.com/nuxt/nuxt.js/commit/6589670))
* **server:** process browser version with non semver versions ([#4673](https://github.com/nuxt/nuxt.js/issues/4673)) ([d3b9396](https://github.com/nuxt/nuxt.js/commit/d3b9396))
* **server, jsdom:** fix timeout error message ([#4412](https://github.com/nuxt/nuxt.js/issues/4412)) ([ab6367b](https://github.com/nuxt/nuxt.js/commit/ab6367b))
* **server, vue-app:** allow unicode page names ([#4402](https://github.com/nuxt/nuxt.js/issues/4402)) ([949785f](https://github.com/nuxt/nuxt.js/commit/949785f))
* **test:** downgrade jest to 23 ([d88e448](https://github.com/nuxt/nuxt.js/commit/d88e448))
* **test:** fallback to config if no config.default ([2f2ec7a](https://github.com/nuxt/nuxt.js/commit/2f2ec7a))
* **test:** jest describe.skip does not work fine ([d0aadd4](https://github.com/nuxt/nuxt.js/commit/d0aadd4))
* **test:** remove local paths ([d02eb2f](https://github.com/nuxt/nuxt.js/commit/d02eb2f))
* **test:** typescirpt modern mode only check once ([70775e1](https://github.com/nuxt/nuxt.js/commit/70775e1))
* **test:** wrong route in error-handler-object test ([#4363](https://github.com/nuxt/nuxt.js/issues/4363)) ([0db1f26](https://github.com/nuxt/nuxt.js/commit/0db1f26))
* **test/utils:** check both ts and js for nuxt.config ([5b66afc](https://github.com/nuxt/nuxt.js/commit/5b66afc))
* **ts:** Add missing `loading` property to Component options ([#4786](https://github.com/nuxt/nuxt.js/issues/4786)) ([db4001d](https://github.com/nuxt/nuxt.js/commit/db4001d))
* **ts:** better `tsconfig.json` handling & improve tests ([#4856](https://github.com/nuxt/nuxt.js/issues/4856)) ([f18ce4e](https://github.com/nuxt/nuxt.js/commit/f18ce4e))
* **ts:** fix `$nuxt.$loading` typedefs ([#4778](https://github.com/nuxt/nuxt.js/issues/4778)) ([6694cf7](https://github.com/nuxt/nuxt.js/commit/6694cf7))
* **ts:** fix default `tsconfig.json` ([#4842](https://github.com/nuxt/nuxt.js/issues/4842)) ([c39cf84](https://github.com/nuxt/nuxt.js/commit/c39cf84))
* **ts:** fix missing process type definitions and refactor types tests ([#4798](https://github.com/nuxt/nuxt.js/issues/4798)) ([45afc3f](https://github.com/nuxt/nuxt.js/commit/45afc3f))
* **ts:** fix nuxt-ts binary when running nuxt commands ([#4844](https://github.com/nuxt/nuxt.js/issues/4844)) ([6e60aa4](https://github.com/nuxt/nuxt.js/commit/6e60aa4))
* **ts:** keep baseUrl property in generated tsconfig.json ([#4843](https://github.com/nuxt/nuxt.js/issues/4843)) ([55dc7f4](https://github.com/nuxt/nuxt.js/commit/55dc7f4))
* thread-loader slow building ([4fb220c](https://github.com/nuxt/nuxt.js/commit/4fb220c))
* **ts:** missing `tsconfig.json` on npm published version ([#4840](https://github.com/nuxt/nuxt.js/issues/4840)) ([e57c20a](https://github.com/nuxt/nuxt.js/commit/e57c20a))
* **ts:** prevent checking types twice in modern mode & use consola as logger ([#4803](https://github.com/nuxt/nuxt.js/issues/4803)) ([b202361](https://github.com/nuxt/nuxt.js/commit/b202361))
* **ts:** set ts-node register compilerOptions.module to 'commonjs' ([#4752](https://github.com/nuxt/nuxt.js/issues/4752)) ([e22e14b](https://github.com/nuxt/nuxt.js/commit/e22e14b))
* watch custom patterns only when it exists ([#4823](https://github.com/nuxt/nuxt.js/issues/4823)) ([3966b26](https://github.com/nuxt/nuxt.js/commit/3966b26))
* **ts:** switch from babel preset to ts-loader ([#4563](https://github.com/nuxt/nuxt.js/issues/4563)) ([75e3df6](https://github.com/nuxt/nuxt.js/commit/75e3df6))
* **vue-app:** add type definition for `ComponentOptions.middleware` ([#4531](https://github.com/nuxt/nuxt.js/issues/4531)) ([da0a379](https://github.com/nuxt/nuxt.js/commit/da0a379))
* **vue-app:** allow passing custom props to error function ([#4462](https://github.com/nuxt/nuxt.js/issues/4462)) ([a6fed0a](https://github.com/nuxt/nuxt.js/commit/a6fed0a)), closes [#4460](https://github.com/nuxt/nuxt.js/issues/4460)
* require serverMiddleware object with path and handler ([#4656](https://github.com/nuxt/nuxt.js/issues/4656)) ([8786ff7](https://github.com/nuxt/nuxt.js/commit/8786ff7))
* **vue-app:** Call Vue.config.errorHandler instead of simply logging the error ([6c4280f](https://github.com/nuxt/nuxt.js/commit/6c4280f))
* **vue-app:** Fix default error handler in production ([96892c5](https://github.com/nuxt/nuxt.js/commit/96892c5))
* **vue-app:** Fix route meta to handle order ([45be638](https://github.com/nuxt/nuxt.js/commit/45be638))
* **vue-app:** Fix test on size-limit ([4a77de8](https://github.com/nuxt/nuxt.js/commit/4a77de8))
* **vue-app:** Fix Vuex HMR & refactor for better modules usage ([#4791](https://github.com/nuxt/nuxt.js/issues/4791)) ([deadc48](https://github.com/nuxt/nuxt.js/commit/deadc48))
* **vue-app:** router.meta is null on extendRoutes([#4478](https://github.com/nuxt/nuxt.js/issues/4478)) ([e2ab1b4](https://github.com/nuxt/nuxt.js/commit/e2ab1b4)), closes [#4154](https://github.com/nuxt/nuxt.js/issues/4154)
* Vue.component(RouterLink) is undefined in vue-router 3.0.0 ([#4668](https://github.com/nuxt/nuxt.js/issues/4668)) ([7ff4058](https://github.com/nuxt/nuxt.js/commit/7ff4058))
* **vue-app:** Set window. equals to window.{globalName} when defined ([951e745](https://github.com/nuxt/nuxt.js/commit/951e745))
* **vue-renderer:** improve ready handling ([#4511](https://github.com/nuxt/nuxt.js/issues/4511)) ([f0cb654](https://github.com/nuxt/nuxt.js/commit/f0cb654))
* **vue-renderer:** parse JSON values before passing to bundle-renderer ([c0721c0](https://github.com/nuxt/nuxt.js/commit/c0721c0)), closes [#4439](https://github.com/nuxt/nuxt.js/issues/4439)
* server build failed in dev mode ([89f8866](https://github.com/nuxt/nuxt.js/commit/89f8866))
* **webpack:** allow changing devtool with extend ([#4515](https://github.com/nuxt/nuxt.js/issues/4515)) ([33edef2](https://github.com/nuxt/nuxt.js/commit/33edef2))
* not use deprecated option esm in resolver ([5f6361f](https://github.com/nuxt/nuxt.js/commit/5f6361f))
* offer a new port and listen if already used, use consola on server error ([#4428](https://github.com/nuxt/nuxt.js/issues/4428)) ([1d78027](https://github.com/nuxt/nuxt.js/commit/1d78027))
* plugins for modern mode ([#4659](https://github.com/nuxt/nuxt.js/issues/4659)) ([867e8e1](https://github.com/nuxt/nuxt.js/commit/867e8e1))
* prevent matching native statements in serializeFunction ([#4585](https://github.com/nuxt/nuxt.js/issues/4585)) ([5b58272](https://github.com/nuxt/nuxt.js/commit/5b58272))
* properly serialize head functions ([#4558](https://github.com/nuxt/nuxt.js/issues/4558)) ([7831e57](https://github.com/nuxt/nuxt.js/commit/7831e57)), closes [#4079](https://github.com/nuxt/nuxt.js/issues/4079)
* remove unnecessary isDev in template/server ([a51ba8d](https://github.com/nuxt/nuxt.js/commit/a51ba8d))
* replace nuxtDir with module.paths ([#4448](https://github.com/nuxt/nuxt.js/issues/4448)) ([d66e1ec](https://github.com/nuxt/nuxt.js/commit/d66e1ec))
* require postcss module via resolver ([#4737](https://github.com/nuxt/nuxt.js/issues/4737)) ([4b9e8e7](https://github.com/nuxt/nuxt.js/commit/4b9e8e7))
* router Expected "0" to be defined ([#4394](https://github.com/nuxt/nuxt.js/issues/4394)) ([39b1b8e](https://github.com/nuxt/nuxt.js/commit/39b1b8e))
* SafariFix is not injected in client modern mode ([ecf76d9](https://github.com/nuxt/nuxt.js/commit/ecf76d9))
* tests failed in windows ([8163a9e](https://github.com/nuxt/nuxt.js/commit/8163a9e))
* thread-loader memory leak ([d34a9e2](https://github.com/nuxt/nuxt.js/commit/d34a9e2))
* undefined script in modern mode ([0a21d4b](https://github.com/nuxt/nuxt.js/commit/0a21d4b))
* **webpack:** deepClone before calling extendConfig ([#4464](https://github.com/nuxt/nuxt.js/issues/4464)) ([06ddfbb](https://github.com/nuxt/nuxt.js/commit/06ddfbb))
* **webpack:** prevent terser mangling html/vue reserved tags ([#4821](https://github.com/nuxt/nuxt.js/issues/4821)) ([6a68f4e](https://github.com/nuxt/nuxt.js/commit/6a68f4e))
* use case insensitive regex for webpack loader rules ([#4728](https://github.com/nuxt/nuxt.js/issues/4728)) ([68d8d54](https://github.com/nuxt/nuxt.js/commit/68d8d54))
* use triple equals in loading.throttle [release] ([e77c2db](https://github.com/nuxt/nuxt.js/commit/e77c2db))
* wait error hook ([36ca945](https://github.com/nuxt/nuxt.js/commit/36ca945))
* wrong devMiddleware in non-modern dev mode ([3515115](https://github.com/nuxt/nuxt.js/commit/3515115))
* wrong type checking for loading.duration ([0c15b29](https://github.com/nuxt/nuxt.js/commit/0c15b29))
### Features
* **builder:** optional typescript support ([#4557](https://github.com/nuxt/nuxt.js/issues/4557)) ([7145c1a](https://github.com/nuxt/nuxt.js/commit/7145c1a))
* **builder:** validate vue-app dependencies and suggest fix ([#4669](https://github.com/nuxt/nuxt.js/issues/4669)) ([7dd33fe](https://github.com/nuxt/nuxt.js/commit/7dd33fe))
* **ci:** disable lock bot ([8a11bb8](https://github.com/nuxt/nuxt.js/commit/8a11bb8))
* **ci:** edge@next ([#4477](https://github.com/nuxt/nuxt.js/issues/4477)) ([76c9d58](https://github.com/nuxt/nuxt.js/commit/76c9d58))
* **ci:** test typescript types ([#4802](https://github.com/nuxt/nuxt.js/issues/4802)) ([25fd1d8](https://github.com/nuxt/nuxt.js/commit/25fd1d8))
* **circleci:** add nightly build and manual releases ([ec99922](https://github.com/nuxt/nuxt.js/commit/ec99922))
* **cli:** add `--devtools` option for build and generate ([#4357](https://github.com/nuxt/nuxt.js/issues/4357)) ([e6f73b5](https://github.com/nuxt/nuxt.js/commit/e6f73b5))
* **cli:** improvements and external commands ([#4314](https://github.com/nuxt/nuxt.js/issues/4314)) ([0145551](https://github.com/nuxt/nuxt.js/commit/0145551))
* **common:** add yandex and vivaldi to modern browsers ([#4516](https://github.com/nuxt/nuxt.js/issues/4516)) ([51e4488](https://github.com/nuxt/nuxt.js/commit/51e4488))
* **modern:** auto detect modern mode ([#4422](https://github.com/nuxt/nuxt.js/issues/4422)) ([fe492d8](https://github.com/nuxt/nuxt.js/commit/fe492d8))
* **nuxt-link:** Smart prefetching and $nuxt.isOffline ([#4574](https://github.com/nuxt/nuxt.js/issues/4574)) ([f319033](https://github.com/nuxt/nuxt.js/commit/f319033))
* **nuxt-ts:** typescript support improvements ([#4750](https://github.com/nuxt/nuxt.js/issues/4750)) ([dfaffc0](https://github.com/nuxt/nuxt.js/commit/dfaffc0))
* **router:** custom route name splitter ([#4598](https://github.com/nuxt/nuxt.js/issues/4598)) ([add8000](https://github.com/nuxt/nuxt.js/commit/add8000))
* **server:** export Listener ([#4577](https://github.com/nuxt/nuxt.js/issues/4577)) ([2f0ed85](https://github.com/nuxt/nuxt.js/commit/2f0ed85))
* **server:** timing option for `Server-Timing` header ([#4800](https://github.com/nuxt/nuxt.js/issues/4800)) ([b23f5c9](https://github.com/nuxt/nuxt.js/commit/b23f5c9))
* **test:** unit tests for core/config module ([#4760](https://github.com/nuxt/nuxt.js/issues/4760)) ([a616c09](https://github.com/nuxt/nuxt.js/commit/a616c09))
* **ts:** add TSX support ([#4613](https://github.com/nuxt/nuxt.js/issues/4613)) ([4d52742](https://github.com/nuxt/nuxt.js/commit/4d52742))
* **ts:** auto generate tsconfig.json ([#4776](https://github.com/nuxt/nuxt.js/issues/4776)) ([2a1ee96](https://github.com/nuxt/nuxt.js/commit/2a1ee96))
* **ts:** provide type checking through `fork-ts-checker-webpack-plugin` ([#4611](https://github.com/nuxt/nuxt.js/issues/4611)) ([f1377a7](https://github.com/nuxt/nuxt.js/commit/f1377a7))
* **ts:** provide type definitions ([#4164](https://github.com/nuxt/nuxt.js/issues/4164)) ([d5716eb](https://github.com/nuxt/nuxt.js/commit/d5716eb))
* **ts:** typescript examples + improve `vue-app` typings ([#4695](https://github.com/nuxt/nuxt.js/issues/4695)) ([b38e0aa](https://github.com/nuxt/nuxt.js/commit/b38e0aa))
* **vue-app:** <n-link> and <n-child> component aliases ([#4525](https://github.com/nuxt/nuxt.js/issues/4525)) ([1505197](https://github.com/nuxt/nuxt.js/commit/1505197))
* **vue-app:** Add deprecating for classic mode and handle mutations/actions HMR to store/index.js ([c8b920a](https://github.com/nuxt/nuxt.js/commit/c8b920a))
* **vue-app:** add vetur helpers for components auto-complete on VS Code ([#4524](https://github.com/nuxt/nuxt.js/issues/4524)) ([59aee74](https://github.com/nuxt/nuxt.js/commit/59aee74))
* **vue-app:** support named views ([#4410](https://github.com/nuxt/nuxt.js/issues/4410)) ([b1b9e0b](https://github.com/nuxt/nuxt.js/commit/b1b9e0b))
* **vue-app, vue-renderer:** support meta `headAttrs` ([#4536](https://github.com/nuxt/nuxt.js/issues/4536)) ([9961453](https://github.com/nuxt/nuxt.js/commit/9961453))
* **webpack:** add experimental HardSourceWebpackPlugin support ([#4527](https://github.com/nuxt/nuxt.js/issues/4527)) ([c6d820a](https://github.com/nuxt/nuxt.js/commit/c6d820a))
* use runInNewContext: true for nuxt dev ([#4508](https://github.com/nuxt/nuxt.js/issues/4508)) ([1162f2d](https://github.com/nuxt/nuxt.js/commit/1162f2d))
* **webpack:** options.build.loaders.vueStyle ([#4837](https://github.com/nuxt/nuxt.js/issues/4837)) ([762305b](https://github.com/nuxt/nuxt.js/commit/762305b))
* add an option to disable FriendlyErrorsWebpackPlugin ([#4498](https://github.com/nuxt/nuxt.js/issues/4498)) ([f1b2ca3](https://github.com/nuxt/nuxt.js/commit/f1b2ca3))
* add exclude regex array for generated pages ([#4754](https://github.com/nuxt/nuxt.js/issues/4754)) ([ec17804](https://github.com/nuxt/nuxt.js/commit/ec17804))
* add process.modern ([#4532](https://github.com/nuxt/nuxt.js/issues/4532)) ([f1ff634](https://github.com/nuxt/nuxt.js/commit/f1ff634))
* add store module HMR ([#4582](https://github.com/nuxt/nuxt.js/issues/4582)) ([b2eee17](https://github.com/nuxt/nuxt.js/commit/b2eee17))
* add styleExtensions ([#4671](https://github.com/nuxt/nuxt.js/issues/4671)) ([471a32a](https://github.com/nuxt/nuxt.js/commit/471a32a))
* allow `lang="postcss"` in Vue SFCs ([#4417](https://github.com/nuxt/nuxt.js/issues/4417)) ([71136fc](https://github.com/nuxt/nuxt.js/commit/71136fc))
* allow scrollToTop to be explicitly disabled ([#4564](https://github.com/nuxt/nuxt.js/issues/4564)) ([669fecc](https://github.com/nuxt/nuxt.js/commit/669fecc))
* attach ts-loader options on build.loaders.ts ([#4572](https://github.com/nuxt/nuxt.js/issues/4572)) ([d723e49](https://github.com/nuxt/nuxt.js/commit/d723e49))
* better stack traces for SSR error, show error with correct URL and use eventsource-polyfill ([#4600](https://github.com/nuxt/nuxt.js/issues/4600)) ([498c4f1](https://github.com/nuxt/nuxt.js/commit/498c4f1))
* check modern build file in modern mode ([#4467](https://github.com/nuxt/nuxt.js/issues/4467)) ([14fe679](https://github.com/nuxt/nuxt.js/commit/14fe679))
* disable compressor if set to false/undefined ([#4381](https://github.com/nuxt/nuxt.js/issues/4381)) ([e4140ce](https://github.com/nuxt/nuxt.js/commit/e4140ce))
* improve SSR bundle ([#4439](https://github.com/nuxt/nuxt.js/issues/4439)) ([0f104aa](https://github.com/nuxt/nuxt.js/commit/0f104aa)), closes [#4225](https://github.com/nuxt/nuxt.js/issues/4225) [#3465](https://github.com/nuxt/nuxt.js/issues/3465) [#1728](https://github.com/nuxt/nuxt.js/issues/1728) [#1601](https://github.com/nuxt/nuxt.js/issues/1601) [#1481](https://github.com/nuxt/nuxt.js/issues/1481)
* mode for plugins ([#4592](https://github.com/nuxt/nuxt.js/issues/4592)) ([e71c455](https://github.com/nuxt/nuxt.js/commit/e71c455))
* nuxt-ts ([#4658](https://github.com/nuxt/nuxt.js/issues/4658)) ([ee0096b](https://github.com/nuxt/nuxt.js/commit/ee0096b))
* **webpack:** support `build.hotMiddleware.client` ([#4796](https://github.com/nuxt/nuxt.js/issues/4796)) ([dcdbaba](https://github.com/nuxt/nuxt.js/commit/dcdbaba))
* **webpack,cli:** standalone build mode ([#4661](https://github.com/nuxt/nuxt.js/issues/4661)) ([bdb6791](https://github.com/nuxt/nuxt.js/commit/bdb6791))
* preload and push modern resources in modern mode ([#4362](https://github.com/nuxt/nuxt.js/issues/4362)) ([701190d](https://github.com/nuxt/nuxt.js/commit/701190d))
* replace babel-plugin-transform-vue-jsx with [@vue](https://github.com/vue)/babel-preset-jsx ([#4740](https://github.com/nuxt/nuxt.js/issues/4740)) ([da8a3d8](https://github.com/nuxt/nuxt.js/commit/da8a3d8))
* upgrade css loader to v2 ([#4503](https://github.com/nuxt/nuxt.js/issues/4503)) ([af9b30c](https://github.com/nuxt/nuxt.js/commit/af9b30c))
### Performance Improvements
* **pkg:** remove lodash dependency from packages ([#4411](https://github.com/nuxt/nuxt.js/issues/4411)) ([d7851b3](https://github.com/nuxt/nuxt.js/commit/d7851b3))
* **ssr:** remove extra imprts from server.js ([6178c47](https://github.com/nuxt/nuxt.js/commit/6178c47))
## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26) ## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26)

3
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,3 @@
# Contributing to Nuxt
Want to contribute to Nuxt? We provide a **[Contribution Guide](https://nuxtjs.org/guide/contribution-guide)** to help you get started.

View File

@ -13,7 +13,9 @@
<a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/nuxtjs/tiers/sponsors/badge.svg" /></a> <a href="#sponsors" alt="Sponsors on Open Collective"><img src="https://opencollective.com/nuxtjs/tiers/sponsors/badge.svg" /></a>
<a href="#backers" alt="Backers on Open Collective"><img src="https://opencollective.com/nuxtjs/tiers/backers/badge.svg" /></a> <a href="#backers" alt="Backers on Open Collective"><img src="https://opencollective.com/nuxtjs/tiers/backers/badge.svg" /></a>
<a href="https://oc.nuxtjs.org/"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a> <a href="https://oc.nuxtjs.org/"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
</p>
<p align="center">
<a href="https://otechie.com/nuxt?ref=badge"><img src="https://api.otechie.com/consultancy/nuxt/badge.svg" alt="Hire Nuxt"></a>
</p> </p>
> Vue.js Meta Framework to create complex, fast & universal web applications *quickly*. > Vue.js Meta Framework to create complex, fast & universal web applications *quickly*.
@ -38,9 +40,14 @@
- Custom layouts with the `layouts/` directory - Custom layouts with the `layouts/` directory
- Middleware - Middleware
- Code splitting for every `pages/` - Code splitting for every `pages/`
- Loading just the critical CSS (page-level)
Learn more at [nuxtjs.org](https://nuxtjs.org). Learn more at [nuxtjs.org](https://nuxtjs.org).
## Consulting from the Nuxt team
Get help with that tough bug or make sure your Nuxt app is ready to deploy. For $200 an hour, get technical support, advice, code reviews, and development from the Nuxt core team: [Hire Nuxt on Otechie](https://otechie.com/nuxt?ref=readme)
## Professional support with TideLift ## Professional support with TideLift
Professionally supported Nuxt.js is now available! Professionally supported Nuxt.js is now available!
@ -70,43 +77,10 @@ Support us with a monthly donation and help us continue our activities. [[Become
## Getting started ## Getting started
``` ```
$ npm install nuxt $ npx create-nuxt-app <project-name>
``` ```
Add a script to your package.json like this: It's as simple as that!
```json
{
"scripts": {
"start": "nuxt"
}
}
```
After that, the file-system is the main API. Every .vue file becomes a route that gets automatically processed and rendered.
Populate `./pages/index.vue` inside your project:
```html
<template>
<h1>Hello {{ name }}!</h1>
</template>
<script>
export default {
data: () => {
return { name: 'world' }
}
}
</script>
```
And then run:
```bash
npm start
```
Go to [http://localhost:3000](http://localhost:3000)
## Templates ## Templates
@ -207,8 +181,9 @@ Note: we recommend putting `.nuxt` in `.npmignore` or `.gitignore`.
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore --> <!-- prettier-ignore -->
| [<img src="https://avatars2.githubusercontent.com/u/904724?v=4" width="150px;"/><br /><sub><b>Sébastien Chopin</b></sub>](https://github.com/atinux)<br />[📝](#blog-Atinux "Blogposts") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3AAtinux "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=Atinux "Code") [🎨](#design-Atinux "Design") [📖](https://github.com/Atinux/Nuxt.js/commits?author=Atinux "Documentation") [💬](#question-Atinux "Answering Questions") [👀](#review-Atinux "Reviewed Pull Requests") [📢](#talk-Atinux "Talks") | [<img src="https://avatars2.githubusercontent.com/u/4084277?v=4" width="150px;"/><br /><sub><b>Alexandre Chopin</b></sub>](https://github.com/alexchopin)<br />[🎨](#design-alexchopin "Design") [📖](https://github.com/Atinux/Nuxt.js/commits?author=alexchopin "Documentation") [📋](#eventOrganizing-alexchopin "Event Organizing") [📦](#platform-alexchopin "Packaging/porting to new platform") [💬](#question-alexchopin "Answering Questions") [📢](#talk-alexchopin "Talks") | [<img src="https://avatars0.githubusercontent.com/u/5158436?v=4" width="150px;"/><br /><sub><b>Pooya Parsa</b></sub>](https://github.com/pi0)<br />[🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Api0 "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=pi0 "Code") [🔌](#plugin-pi0 "Plugin/utility libraries") [💬](#question-pi0 "Answering Questions") [👀](#review-pi0 "Reviewed Pull Requests") [🔧](#tool-pi0 "Tools") | [<img src="https://avatars3.githubusercontent.com/u/4312154?v=4" width="150px;"/><br /><sub><b>Clark Du</b></sub>](https://github.com/clarkdo)<br />[🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Aclarkdo "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=clarkdo "Code") [💡](#example-clarkdo "Examples") [👀](#review-clarkdo "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=clarkdo "Tests") [🔧](#tool-clarkdo "Tools") | [<img src="https://avatars0.githubusercontent.com/u/640208?s=460&v=4" width="150px;"/><br /><sub><b>Alexander Lichter</b></sub>](https://github.com/manniL)<br />[💬](#question-manniL "Answering Questions") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3AmanniL "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=manniL "Code") [💡](#example-manniL "Examples") [👀](#review-manniL "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=manniL "Tests") | [<img src="https://avatars1.githubusercontent.com/u/12291?s=460&v=4" width="150px;"/><br /><sub><b>Jonas Galvez</b></sub>](https://github.com/galvez)<br />[💬](#question-galvez "Answering Questions") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Agalvez "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=galvez "Code") [💡](#example-galvez "Examples") [👀](#review-galvez "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=galvez "Tests") | | [<img src="https://avatars2.githubusercontent.com/u/904724?v=4" width="120px;"/><br /><sub><b>Sébastien Chopin</b></sub>](https://github.com/atinux)<br />[📝](#blog-Atinux "Blogposts") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3AAtinux "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=Atinux "Code") [🎨](#design-Atinux "Design") [📖](https://github.com/Atinux/Nuxt.js/commits?author=Atinux "Documentation") [💬](#question-Atinux "Answering Questions") [👀](#review-Atinux "Reviewed Pull Requests") [📢](#talk-Atinux "Talks") | [<img src="https://avatars2.githubusercontent.com/u/4084277?v=4" width="120px;"/><br /><sub><b>Alexandre Chopin</b></sub>](https://github.com/alexchopin)<br />[🎨](#design-alexchopin "Design") [📖](https://github.com/Atinux/Nuxt.js/commits?author=alexchopin "Documentation") [📋](#eventOrganizing-alexchopin "Event Organizing") [📦](#platform-alexchopin "Packaging/porting to new platform") [💬](#question-alexchopin "Answering Questions") [📢](#talk-alexchopin "Talks") | [<img src="https://avatars0.githubusercontent.com/u/5158436?v=4" width="120px;"/><br /><sub><b>Pooya Parsa</b></sub>](https://github.com/pi0)<br />[🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Api0 "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=pi0 "Code") [🔌](#plugin-pi0 "Plugin/utility libraries") [💬](#question-pi0 "Answering Questions") [👀](#review-pi0 "Reviewed Pull Requests") [🔧](#tool-pi0 "Tools") | [<img src="https://avatars3.githubusercontent.com/u/4312154?v=4" width="120px;"/><br /><sub><b>Clark Du</b></sub>](https://github.com/clarkdo)<br />[🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Aclarkdo "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=clarkdo "Code") [💡](#example-clarkdo "Examples") [👀](#review-clarkdo "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=clarkdo "Tests") [🔧](#tool-clarkdo "Tools") |
| :---: | :---: | :---: | :---: | :---: | :---: | | :---: | :---: | :---: | :---: |
| [<img src="https://avatars0.githubusercontent.com/u/640208?s=460&v=4" width="120px;"/><br /><sub><b>Alexander Lichter</b></sub>](https://github.com/manniL)<br />[💬](#question-manniL "Answering Questions") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3AmanniL "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=manniL "Code") [💡](#example-manniL "Examples") [👀](#review-manniL "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=manniL "Tests") | [<img src="https://avatars1.githubusercontent.com/u/12291?s=460&v=4" width="120px;"/><br /><sub><b>Jonas Galvez</b></sub>](https://github.com/galvez)<br />[💬](#question-galvez "Answering Questions") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Agalvez "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=galvez "Code") [💡](#example-galvez "Examples") [👀](#review-galvez "Reviewed Pull Requests") [⚠️](https://github.com/Atinux/Nuxt.js/commits?author=galvez "Tests") | [<img src="https://avatars2.githubusercontent.com/u/571159?v=4" width="120px;"/><br /><sub><b>Dmitry Molotkov</b></sub>](https://github.com/aldarund)<br />[💬](#question-aldarund "Answering Questions") [🐛](https://github.com/Atinux/Nuxt.js/issues?q=author%3Aaldarund "Bug reports") [💻](https://github.com/Atinux/Nuxt.js/commits?author=aldarund "Code") [🤔](#ideas-aldarund "Ideas, Planning, & Feedback") [👀](#review-aldarund "Reviewed Pull Requests") | [<img src="https://avatars2.githubusercontent.com/u/25272043?v=4" width="120px;"/><br /><sub><b>Kevin Marrec</b></sub>](https://github.com/kevinmarrec)<br />[💻](https://github.com/Atinux/Nuxt.js/commits?author=kevinmarrec "Code") [🤔](#ideas-kevinmarrec "Ideas, Planning, & Feedback") [📦](#platform-kevinmarrec "Packaging/porting to new platform") [👀](#review-kevinmarrec "Reviewed Pull Requests") |
<!-- ALL-CONTRIBUTORS-LIST:END --> <!-- ALL-CONTRIBUTORS-LIST:END -->
## Contributors ## Contributors
@ -227,6 +202,11 @@ Thanks to BrowserStack!
<a href="http://browserstack.com"><img height="70" src="https://p3.zdusercontent.com/attachment/1015988/PWfFdN71Aung2evRkIVQuKJpE?token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..aUrNFb8clSXsFwgw5BUTcg.IJr5piuCen7PmSSBHSrOnqM9K5YZfxX3lvbp-5LCqoKOi4CjjgdA419iqjofs0nLtm26FMURvZ8JRTuKB4iHer6lGu5f8dXHtIkYAHjP5fXDWkl044Yg2mSdrhF6uPy62GdlBYoYxwvgkNrac8nN_In8GY-qOC7bYmlZyJT7tsTZUTYbNMQiXS86YA5LgdCEWzWreMvc3C6cvZtVXIrcVgpkroIhvsTQPm4vQA-Uq6iCbTPA4oX5cpEtMtrlg4jYBnnAE4BTw5UwU_dY83ep5g.7wpc1IKv0rSRGsvqCG_q3g" alt="BrowserStack"></a> <a href="http://browserstack.com"><img height="70" src="https://p3.zdusercontent.com/attachment/1015988/PWfFdN71Aung2evRkIVQuKJpE?token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..aUrNFb8clSXsFwgw5BUTcg.IJr5piuCen7PmSSBHSrOnqM9K5YZfxX3lvbp-5LCqoKOi4CjjgdA419iqjofs0nLtm26FMURvZ8JRTuKB4iHer6lGu5f8dXHtIkYAHjP5fXDWkl044Yg2mSdrhF6uPy62GdlBYoYxwvgkNrac8nN_In8GY-qOC7bYmlZyJT7tsTZUTYbNMQiXS86YA5LgdCEWzWreMvc3C6cvZtVXIrcVgpkroIhvsTQPm4vQA-Uq6iCbTPA4oX5cpEtMtrlg4jYBnnAE4BTw5UwU_dY83ep5g.7wpc1IKv0rSRGsvqCG_q3g" alt="BrowserStack"></a>
## Security
If you discover a security vulnerability regarding Nuxt.js, please send an e-mail to the team via security@nuxtjs.org! All security vulnerabilities will be promptly addressed.
## License ## License
[MIT](https://github.com/nuxt/nuxt.js/blob/dev/LICENSE) [MIT](https://github.com/nuxt/nuxt.js/blob/dev/LICENSE)

49
RELEASE_PLAN.md Normal file
View File

@ -0,0 +1,49 @@
## Release Plan
Starting with version `v2.4`, Nuxt will adhere to a formalized release plan (as good as possible).
Also, an end of life for older major versions is defined with this document
### Major versions (3.x -> 4.0)
Nuxt major releases are planned every **6 months**. This depends on a few factors though:
* If there are no breaking changes waiting for a release, no new major version will be published. Instead, another minor one will be released.
* In case of unexpected major updates of important dependencies like Vue, Webpack, and so on, major versions might be released *earlier* than planned.
The goal is to provide a **migration guide** for each major version as well, as escape hatches, so existing code
won't "just break".
### Minor versions (2.1 -> 2.2)
The release cycle for Nuxt.js minor versions is roughly **4 weeks**.
Three of the four weeks will be used for actual **feature implementations** while the last week will be used for
**testing, fixing bugs and thorough audits**.
That also means a *feature freeze* for the next minor version after these three weeks.
Features that aren't ready will be moved to the next cycle. "Waiting" for features
(for a longer time) will be avoided as good as possible to keep releases lean, concise, predictable and digestible.
### Patch releases (2.2.3 -> 2.2.4)
The last patch releases were mostly *bundled* fixes or single *hotfixes*.
In the future, fixes will be released **as soon as possible** after the actual PR/commit so people won't have to switch to `nuxt-edge` for bugfixes. This should improve the stability of Nuxt
Fixes can or will include:
* Updates of dependencies (for various reasons, like a "faulty/buggy" dependency or an newer versions that works better with the Nuxt.js code)
* Fixes for our code
Bugfixes for upcoming features won't be ported of course.
### Edge Release Channel
After experimenting with `nuxt-edge` releases in the last time, the decisiion to do **nightly releases** for now instead of
releasing a version after *each commit* was made.
## End of Life
Starting with `v2.4`, every major Nuxt.js version will have an **End of Life**.
Previous releases will receive security updates and bugfixes **for one year and two weeks**, counted from the first release on.
As Nuxt majors are approximately released once every 6 months, this will allow developers to "skip one major version" without being stuck with a broken or unsecure Nuxt.js dependency.
The EOL also applies to the documentation.

View File

@ -20,11 +20,11 @@ steps:
displayName: 'Install dependencies' displayName: 'Install dependencies'
- script: | - script: |
set JEST_JUNIT_OUTPUT=test-fixtures-junit.xml&& yarn test:fixtures -w=2 set JEST_JUNIT_OUTPUT=test-fixtures-junit.xml && set NODE_OPTIONS=--max_old_space_size=4096 && yarn test:fixtures -i
displayName: 'Test: Build Fixtures' displayName: 'Test: Build Fixtures'
- script: | - script: |
set JEST_JUNIT_OUTPUT=test-unit-junit.xml&& yarn test:unit -w=2 set JEST_JUNIT_OUTPUT=test-unit-junit.xml && set NODE_OPTIONS=--max_old_space_size=4096 && yarn test:unit -w=2
displayName: 'Test: Run unit tests' displayName: 'Test: Run unit tests'
- task: PublishTestResults@2 - task: PublishTestResults@2

View File

@ -1,5 +1,7 @@
<template> <template>
<ul> <ul>
<li v-for="n in 10000" :key="n">This is row {{ n + 1 }}</li> <li v-for="n in 10000" :key="n">
This is row {{ n + 1 }}
</li>
</ul> </ul>
</template> </template>

View File

@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.4.0](https://github.com/nuxt/nuxt.js/compare/v2.3.4...v2.4.0) (2019-01-28)
### Bug Fixes
* **dist:** use -edge suffix to require cli ([98c1922](https://github.com/nuxt/nuxt.js/commit/98c1922))
* **pkg:** move opencollective dependency nuxt and nuxt-legacy ([#4415](https://github.com/nuxt/nuxt.js/issues/4415)) ([f680e36](https://github.com/nuxt/nuxt.js/commit/f680e36))
* exit with proper error code on errors ([#4806](https://github.com/nuxt/nuxt.js/issues/4806)) ([a7ba73e](https://github.com/nuxt/nuxt.js/commit/a7ba73e))
## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26) ## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26)

View File

@ -1,10 +1,8 @@
#!/usr/bin/env node #!/usr/bin/env node
const register = require('@babel/register')
require('@babel/polyfill') require('@babel/polyfill')
register({ require('@babel/register')({
presets: [ presets: [
[ '@babel/env', { targets: { node: 'current' } } ] [ '@babel/env', { targets: { node: 'current' } } ]
], ],
@ -24,4 +22,9 @@ register({
] ]
}) })
require('@nuxt/cli').run() const suffix = require('../package.json').name.includes('-edge') ? '-edge' : ''
require('@nuxt/cli' + suffix).run()
.catch((error) => {
require('consola').fatal(error)
process.exit(2)
})

View File

@ -1,11 +1,11 @@
export default { export default {
build: false, build: false,
extend(pkg, { load }) { hooks: {
pkg.on('build:done', () => { async 'build:done'(pkg) {
const mono = load('../..') const mono = pkg.load('../..')
const nuxt = load('../nuxt') const nuxt = pkg.load('../nuxt')
pkg.copyFilesFrom(mono, [ await pkg.copyFilesFrom(mono, [
'LICENSE' 'LICENSE'
]) ])
@ -17,7 +17,7 @@ export default {
'collective' 'collective'
]) ])
pkg.writePackage() await pkg.writePackage()
}) }
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "nuxt-legacy", "name": "nuxt-legacy",
"version": "2.3.4", "version": "2.4.0",
"description": "Legacy build of Nuxt.js for Node.js < 8.0.0", "description": "Legacy build of Nuxt.js for Node.js < 8.0.0",
"keywords": [ "keywords": [
"nuxt", "nuxt",
@ -37,6 +37,12 @@
}, },
{ {
"name": "Alexander Lichter (@manniL)" "name": "Alexander Lichter (@manniL)"
},
{
"name": "Dmitry Molotkov (@aldarund)"
},
{
"name": "Kevin Marrec (@kevinmarrec)"
} }
], ],
"files": [ "files": [
@ -44,17 +50,16 @@
], ],
"bin": "bin/nuxt-legacy.js", "bin": "bin/nuxt-legacy.js",
"dependencies": { "dependencies": {
"@babel/core": "^7.1.6", "@babel/core": "^7.2.2",
"@babel/polyfill": "^7.0.0", "@babel/polyfill": "^7.2.5",
"@babel/preset-env": "^7.1.6", "@babel/preset-env": "^7.3.1",
"@babel/register": "^7.0.0", "@babel/register": "^7.0.0",
"@nuxt/builder": "2.3.4", "@nuxt/builder": "2.4.0",
"@nuxt/cli": "2.3.4", "@nuxt/cli": "2.4.0",
"@nuxt/common": "2.3.4", "@nuxt/core": "2.4.0",
"@nuxt/core": "2.3.4", "@nuxt/generator": "2.4.0",
"@nuxt/generator": "2.3.4", "@nuxt/opencollective": "^0.2.1",
"@nuxt/webpack": "2.3.4", "@nuxt/webpack": "2.4.0"
"@nuxtjs/opencollective": "^0.2.0"
}, },
"engines": { "engines": {
"node": ">=6.0.0", "node": ">=6.0.0",

View File

@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.4.0](https://github.com/nuxt/nuxt.js/compare/v2.3.4...v2.4.0) (2019-01-28)
### Bug Fixes
* **dist:** use -edge suffix to require cli ([98c1922](https://github.com/nuxt/nuxt.js/commit/98c1922))
* **nuxt-start:** include all vue-app dependencies to prevent breaking changes ([c664e3d](https://github.com/nuxt/nuxt.js/commit/c664e3d))
* exit with proper error code on errors ([#4806](https://github.com/nuxt/nuxt.js/issues/4806)) ([a7ba73e](https://github.com/nuxt/nuxt.js/commit/a7ba73e))
## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26) ## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26)
**Note:** Version bump only for package nuxt-start **Note:** Version bump only for package nuxt-start

View File

@ -1,8 +1,12 @@
#!/usr/bin/env node #!/usr/bin/env node
const { name } = require('../package.json')
const isEdge = name.indexOf('-edge') !== -1
const cli = require(isEdge ? '@nuxt/cli-edge' : '@nuxt/cli')
if (process.argv[2] !== 'start') { if (process.argv[2] !== 'start') {
process.argv.splice(2, 0, 'start') process.argv.splice(2, 0, 'start')
} }
cli.run()
const suffix = require('../package.json').name.includes('-edge') ? '-edge' : ''
require('@nuxt/cli' + suffix).run()
.catch((error) => {
require('consola').fatal(error)
process.exit(2)
})

View File

@ -1,11 +1,11 @@
export default { export default {
build: true, build: true,
extend(pkg, { load }) { hooks: {
pkg.on('build:done', () => { async 'build:done'(pkg) {
const mono = load('../..') const mono = pkg.load('../..')
const nuxt = load('../nuxt') const nuxt = pkg.load('../nuxt')
pkg.copyFilesFrom(mono, [ await pkg.copyFilesFrom(mono, [
'LICENSE' 'LICENSE'
]) ])
@ -17,7 +17,7 @@ export default {
'engines' 'engines'
]) ])
pkg.writePackage() await pkg.writePackage()
}) }
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "nuxt-start", "name": "nuxt-start",
"version": "2.3.4", "version": "2.4.0",
"description": "Starts Nuxt.js Application in production mode", "description": "Starts Nuxt.js Application in production mode",
"keywords": [ "keywords": [
"nuxt", "nuxt",
@ -37,6 +37,12 @@
}, },
{ {
"name": "Alexander Lichter (@manniL)" "name": "Alexander Lichter (@manniL)"
},
{
"name": "Dmitry Molotkov (@aldarund)"
},
{
"name": "Kevin Marrec (@kevinmarrec)"
} }
], ],
"files": [ "files": [
@ -46,9 +52,13 @@
"main": "dist/nuxt-start.js", "main": "dist/nuxt-start.js",
"bin": "bin/nuxt-start.js", "bin": "bin/nuxt-start.js",
"dependencies": { "dependencies": {
"@nuxt/cli": "2.3.4", "@nuxt/cli": "2.4.0",
"@nuxt/common": "2.3.4", "@nuxt/core": "2.4.0",
"@nuxt/core": "2.3.4" "vue": "^2.5.22",
"vue-meta": "^1.5.8",
"vue-no-ssr": "^1.1.1",
"vue-router": "^3.0.2",
"vuex": "^3.1.0"
}, },
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",

View File

@ -0,0 +1,21 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.4.0](https://github.com/nuxt/nuxt.js/compare/v2.3.4...v2.4.0) (2019-01-28)
### Bug Fixes
* **dist:** use -edge suffix to require cli ([98c1922](https://github.com/nuxt/nuxt.js/commit/98c1922))
* exit with proper error code on errors ([#4806](https://github.com/nuxt/nuxt.js/issues/4806)) ([a7ba73e](https://github.com/nuxt/nuxt.js/commit/a7ba73e))
* **ts:** better `tsconfig.json` handling & improve tests ([#4856](https://github.com/nuxt/nuxt.js/issues/4856)) ([f18ce4e](https://github.com/nuxt/nuxt.js/commit/f18ce4e))
* **ts:** fix nuxt-ts binary when running nuxt commands ([#4844](https://github.com/nuxt/nuxt.js/issues/4844)) ([6e60aa4](https://github.com/nuxt/nuxt.js/commit/6e60aa4))
* **ts:** set ts-node register compilerOptions.module to 'commonjs' ([#4752](https://github.com/nuxt/nuxt.js/issues/4752)) ([e22e14b](https://github.com/nuxt/nuxt.js/commit/e22e14b))
### Features
* nuxt-ts ([#4658](https://github.com/nuxt/nuxt.js/issues/4658)) ([ee0096b](https://github.com/nuxt/nuxt.js/commit/ee0096b))
* **ts:** auto generate tsconfig.json ([#4776](https://github.com/nuxt/nuxt.js/issues/4776)) ([2a1ee96](https://github.com/nuxt/nuxt.js/commit/2a1ee96))

View File

@ -0,0 +1,3 @@
# nuxt-ts
> Nuxt With Runtime Typescript Support

View File

@ -0,0 +1,19 @@
#!/usr/bin/env node
const { resolve } = require('path')
// Globally indicate we are running in ts mode
process.env.NUXT_TS = 'true'
const nuxtCommands = ['dev', 'build', 'generate', 'start']
const rootDir = (process.argv[2] && !nuxtCommands.includes(process.argv[2])) ? process.argv[2] : process.cwd()
const tsConfigPath = resolve(rootDir, 'tsconfig.json')
const suffix = require('../package.json').name.includes('-edge') ? '-edge' : ''
require('@nuxt/typescript' + suffix).setup(tsConfigPath).then(() => {
require('@nuxt/cli' + suffix).run()
}).catch((error) => {
require('consola').fatal(error)
process.exit(2)
})

View File

@ -0,0 +1,23 @@
export default {
build: false,
hooks: {
async 'build:done'(pkg) {
const mono = pkg.load('../..')
const nuxt = pkg.load('../nuxt')
await pkg.copyFilesFrom(mono, [
'LICENSE'
])
pkg.copyFieldsFrom(nuxt, [
'license',
'repository',
'contributors',
'keywords',
'collective'
])
await pkg.writePackage()
}
}
}

View File

@ -0,0 +1,75 @@
{
"name": "nuxt-ts",
"version": "2.4.0",
"description": "Nuxt With Runtime Typescript Support",
"keywords": [
"nuxt",
"nuxt-ts",
"nuxt.js",
"nuxt.ts",
"nuxtjs",
"nuxts",
"ssr",
"vue",
"vue isomorphic",
"vue server side",
"vue ssr",
"vue universal",
"vue versatile",
"vue.js",
"vuejs"
],
"homepage": "https://github.com/nuxt/nuxt.js#readme",
"repository": "nuxt/nuxt.js",
"license": "MIT",
"contributors": [
{
"name": "Sebastien Chopin (@Atinux)"
},
{
"name": "Alexandre Chopin (@alexchopin)"
},
{
"name": "Pooya Parsa (@pi0)"
},
{
"name": "Clark Du (@clarkdo)"
},
{
"name": "Jonas Galvez (@galvez)"
},
{
"name": "Alexander Lichter (@manniL)"
},
{
"name": "Dmitry Molotkov (@aldarund)"
},
{
"name": "Kevin Marrec (@kevinmarrec)"
}
],
"files": [
"bin"
],
"bin": {
"nuxt-ts": "bin/nuxt-ts.js",
"nuxts": "bin/nuxt-ts.js"
},
"dependencies": {
"@nuxt/builder": "2.4.0",
"@nuxt/cli": "2.4.0",
"@nuxt/core": "2.4.0",
"@nuxt/generator": "2.4.0",
"@nuxt/opencollective": "^0.2.1",
"@nuxt/typescript": "2.4.0",
"@nuxt/webpack": "2.4.0"
},
"engines": {
"node": ">=6.0.0",
"npm": ">=3.0.0"
},
"collective": {
"url": "https://opencollective.com/nuxtjs",
"logoUrl": "https://opencollective.com/nuxtjs/logo.txt?reverse=true&variant=variant2"
}
}

View File

@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.4.0](https://github.com/nuxt/nuxt.js/compare/v2.3.4...v2.4.0) (2019-01-28)
### Bug Fixes
* **dist:** use -edge suffix to require cli ([98c1922](https://github.com/nuxt/nuxt.js/commit/98c1922))
* **pkg:** move opencollective dependency nuxt and nuxt-legacy ([#4415](https://github.com/nuxt/nuxt.js/issues/4415)) ([f680e36](https://github.com/nuxt/nuxt.js/commit/f680e36))
* exit with proper error code on errors ([#4806](https://github.com/nuxt/nuxt.js/issues/4806)) ([a7ba73e](https://github.com/nuxt/nuxt.js/commit/a7ba73e))
## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26) ## [2.3.4](https://github.com/nuxt/nuxt.js/compare/v2.3.2...v2.3.4) (2018-11-26)

View File

@ -38,6 +38,7 @@
- Custom layouts with the `layouts/` directory - Custom layouts with the `layouts/` directory
- Middleware - Middleware
- Code splitting for every `pages/` - Code splitting for every `pages/`
- Loading just the critical CSS (page-level)
Learn more at [nuxtjs.org](https://nuxtjs.org). Learn more at [nuxtjs.org](https://nuxtjs.org).
@ -70,43 +71,10 @@ Support us with a monthly donation and help us continue our activities. [[Become
## Getting started ## Getting started
``` ```
$ npm install nuxt $ npx create-nuxt-app <project-name>
``` ```
Add a script to your package.json like this: It's as simple as that!
```json
{
"scripts": {
"start": "nuxt"
}
}
```
After that, the file-system is the main API. Every .vue file becomes a route that gets automatically processed and rendered.
Populate `./pages/index.vue` inside your project:
```html
<template>
<h1>Hello {{ name }}!</h1>
</template>
<script>
export default {
data: () => {
return { name: 'world' }
}
}
</script>
```
And then run:
```bash
npm start
```
Go to [http://localhost:3000](http://localhost:3000)
## Templates ## Templates
@ -227,6 +195,11 @@ Thanks to BrowserStack!
<a href="http://browserstack.com"><img height="70" src="https://p3.zdusercontent.com/attachment/1015988/PWfFdN71Aung2evRkIVQuKJpE?token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..aUrNFb8clSXsFwgw5BUTcg.IJr5piuCen7PmSSBHSrOnqM9K5YZfxX3lvbp-5LCqoKOi4CjjgdA419iqjofs0nLtm26FMURvZ8JRTuKB4iHer6lGu5f8dXHtIkYAHjP5fXDWkl044Yg2mSdrhF6uPy62GdlBYoYxwvgkNrac8nN_In8GY-qOC7bYmlZyJT7tsTZUTYbNMQiXS86YA5LgdCEWzWreMvc3C6cvZtVXIrcVgpkroIhvsTQPm4vQA-Uq6iCbTPA4oX5cpEtMtrlg4jYBnnAE4BTw5UwU_dY83ep5g.7wpc1IKv0rSRGsvqCG_q3g" alt="BrowserStack"></a> <a href="http://browserstack.com"><img height="70" src="https://p3.zdusercontent.com/attachment/1015988/PWfFdN71Aung2evRkIVQuKJpE?token=eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..aUrNFb8clSXsFwgw5BUTcg.IJr5piuCen7PmSSBHSrOnqM9K5YZfxX3lvbp-5LCqoKOi4CjjgdA419iqjofs0nLtm26FMURvZ8JRTuKB4iHer6lGu5f8dXHtIkYAHjP5fXDWkl044Yg2mSdrhF6uPy62GdlBYoYxwvgkNrac8nN_In8GY-qOC7bYmlZyJT7tsTZUTYbNMQiXS86YA5LgdCEWzWreMvc3C6cvZtVXIrcVgpkroIhvsTQPm4vQA-Uq6iCbTPA4oX5cpEtMtrlg4jYBnnAE4BTw5UwU_dY83ep5g.7wpc1IKv0rSRGsvqCG_q3g" alt="BrowserStack"></a>
## Security
If you discover a security vulnerability regarding Nuxt.js, please send an e-mail to the team via security@nuxtjs.org! All security vulnerabilities will be promptly addressed.
## License ## License
[MIT](https://github.com/nuxt/nuxt.js/blob/dev/LICENSE) [MIT](https://github.com/nuxt/nuxt.js/blob/dev/LICENSE)

View File

@ -1,5 +1,8 @@
#!/usr/bin/env node #!/usr/bin/env node
const { name } = require('../package.json')
const isEdge = name.indexOf('-edge') !== -1 const suffix = require('../package.json').name.includes('-edge') ? '-edge' : ''
const cli = require(isEdge ? '@nuxt/cli-edge' : '@nuxt/cli') require('@nuxt/cli' + suffix).run()
cli.run() .catch((error) => {
require('consola').fatal(error)
process.exit(2)
})

View File

@ -1,13 +1,13 @@
export default { export default {
build: true, build: true,
extend(pkg, { load }) { hooks: {
pkg.on('build:done', () => { async 'build:done'(pkg) {
const mono = load('../..') const mono = pkg.load('../..')
pkg.copyFilesFrom(mono, [ await pkg.copyFilesFrom(mono, [
'LICENSE', 'LICENSE',
'README.md' 'README.md'
]) ])
}) }
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "nuxt", "name": "nuxt",
"version": "2.3.4", "version": "2.4.0",
"description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)", "description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)",
"keywords": [ "keywords": [
"nuxt", "nuxt",
@ -36,6 +36,12 @@
}, },
{ {
"name": "Alexander Lichter (@manniL)" "name": "Alexander Lichter (@manniL)"
},
{
"name": "Dmitry Molotkov (@aldarund)"
},
{
"name": "Kevin Marrec (@kevinmarrec)"
} }
], ],
"files": [ "files": [
@ -48,13 +54,12 @@
"postinstall": "opencollective || exit 0" "postinstall": "opencollective || exit 0"
}, },
"dependencies": { "dependencies": {
"@nuxt/builder": "2.3.4", "@nuxt/builder": "2.4.0",
"@nuxt/cli": "2.3.4", "@nuxt/cli": "2.4.0",
"@nuxt/common": "2.3.4", "@nuxt/core": "2.4.0",
"@nuxt/core": "2.3.4", "@nuxt/generator": "2.4.0",
"@nuxt/generator": "2.3.4", "@nuxt/opencollective": "^0.2.1",
"@nuxt/webpack": "2.3.4", "@nuxt/webpack": "2.4.0"
"@nuxtjs/opencollective": "^0.2.0"
}, },
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",

View File

@ -1,14 +1,20 @@
<template> <template>
<div class="wrapper"> <div class="wrapper">
<div class="header"> <div class="header">
<nuxt-link to="/">NUXT BLOG</nuxt-link> <NuxtLink to="/">
NUXT BLOG
</NuxtLink>
</div> </div>
<p class="links"> <p class="links">
<a href="https://twitter.com/nuxt_js" target="_blank"><img src="~/assets/img/twitter.png"></a> <a href="https://twitter.com/nuxt_js" target="_blank">
<a href="https://github.com/nuxt/nuxt.js/tree/dev/examples/async-component-injection" target="_blank"><img src="~/assets/img/github.png"></a> <img src="~/assets/img/twitter.png">
</a>
<a href="https://github.com/nuxt/nuxt.js/tree/dev/examples/async-component-injection" target="_blank">
<img src="~/assets/img/github.png">
</a>
</p> </p>
<div class="main"> <div class="main">
<nuxt /> <Nuxt />
</div> </div>
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt" "start": "nuxt",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="post"> <div class="post">
<component :is="component" /> <Component :is="component" />
</div> </div>
</template> </template>

View File

@ -2,9 +2,17 @@
<ul> <ul>
<li v-for="(post, index) in posts" :key="index"> <li v-for="(post, index) in posts" :key="index">
<h3>{{ post.date }}</h3> <h3>{{ post.date }}</h3>
<h2><nuxt-link :to="post.link">{{ post.title }}</nuxt-link></h2> <h2>
<NuxtLink :to="post.link">
{{ post.title }}
</NuxtLink>
</h2>
</li>
<li style="border:none;text-align: center;font-size: 14px;">
Design from <a href="http://blog.evanyou.me" target="_blank">
EvanYou.me
</a>
</li> </li>
<li style="border:none;text-align: center;font-size: 14px;">Design from <a href="http://blog.evanyou.me" target="_blank">EvanYou.me</a></li>
</ul> </ul>
</template> </template>

View File

@ -1,3 +1,5 @@
<template> <template>
<h1 style="text-align: center;">Article not found</h1> <h1 style="text-align: center;">
Article not found
</h1>
</template> </template>

View File

@ -1,6 +1,8 @@
<template> <template>
<div> <div>
<h3 class="date">Jul 10, 2017</h3> <h3 class="date">
Jul 10, 2017
</h3>
<h1>Deep dive into the Ocean</h1> <h1>Deep dive into the Ocean</h1>
<div class="content"> <div class="content">
<img src="~/assets/img/swimmer.jpg"> <img src="~/assets/img/swimmer.jpg">

View File

@ -1,6 +1,8 @@
<template> <template>
<div> <div>
<h3 class="date">Jul 08, 2017</h3> <h3 class="date">
Jul 08, 2017
</h3>
<h1>Welcome to my blog</h1> <h1>Welcome to my blog</h1>
<div class="content"> <div class="content">
<h2>What is Lorem Ipsum?</h2> <h2>What is Lorem Ipsum?</h2>

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -3,7 +3,11 @@
<div class="container"> <div class="container">
<h1>User Agent</h1> <h1>User Agent</h1>
<p>{{ userAgent }}</p> <p>{{ userAgent }}</p>
<p><nuxt-link to="/posts">Blog</nuxt-link></p> <p>
<NuxtLink to="/posts">
Blog
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -3,7 +3,11 @@
<div class="container"> <div class="container">
<h1>{{ post.title }}</h1> <h1>{{ post.title }}</h1>
<pre>{{ post.body }}</pre> <pre>{{ post.body }}</pre>
<p><nuxt-link to="/posts">Back to the list</nuxt-link></p> <p>
<NuxtLink to="/posts">
Back to the list
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -4,10 +4,16 @@
<h1>Blog</h1> <h1>Blog</h1>
<ul> <ul>
<li v-for="(post, index) in posts" :key="index"> <li v-for="(post, index) in posts" :key="index">
<nuxt-link :to="{ name: 'posts-id', params: { id: post.id } }">{{ post.title }}</nuxt-link> <NuxtLink :to="{ name: 'posts-id', params: { id: post.id } }">
{{ post.title }}
</NuxtLink>
</li> </li>
</ul> </ul>
<p><nuxt-link to="/">Back to home page</nuxt-link></p> <p>
<NuxtLink to="/">
Back to home page
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -8,6 +8,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,13 +1,21 @@
<template> <template>
<div> <div>
<div v-if="$store.state.auth"> <div v-if="$store.state.auth">
<p>You are authenticated. You can see the <p>
<nuxt-link to="/secret">secret page</nuxt-link>! You are authenticated. You can see the
<NuxtLink to="/secret">
secret page
</NuxtLink>!
</p> </p>
<button @click="logout">Logout</button> <button @click="logout">
Logout
</button>
</div> </div>
<p v-else>Please <p v-else>
<nuxt-link to="/login">login</nuxt-link>. Please
<NuxtLink to="/login">
login
</NuxtLink>.
</p> </p>
</div> </div>
</template> </template>

View File

@ -8,7 +8,9 @@
<label for="password"> <label for="password">
<input id="password" type="password" value="test"> <input id="password" type="password" value="test">
</label> </label>
<button @click="postLogin">login</button> <button @click="postLogin">
login
</button>
<p>The credentials are not verified for the example purpose.</p> <p>The credentials are not verified for the example purpose.</p>
</div> </div>
</div> </div>

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<h1>This is secret page.</h1> <h1>This is secret page.</h1>
<nuxt-link to="/">Back home</nuxt-link> <NuxtLink to="/">
Back home
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -10,6 +10,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -2,19 +2,29 @@
<div class="container"> <div class="container">
<h1>Please login to see the secret content</h1> <h1>Please login to see the secret content</h1>
<form v-if="!$store.state.authUser" @submit.prevent="login"> <form v-if="!$store.state.authUser" @submit.prevent="login">
<p v-if="formError" class="error">{{ formError }}</p> <p v-if="formError" class="error">
{{ formError }}
</p>
<p><i>To login, use <b>demo</b> as username and <b>demo</b> as password.</i></p> <p><i>To login, use <b>demo</b> as username and <b>demo</b> as password.</i></p>
<p>Username: <input v-model="formUsername" type="text" name="username"></p> <p>Username: <input v-model="formUsername" type="text" name="username"></p>
<p>Password: <input v-model="formPassword" type="password" name="password"></p> <p>Password: <input v-model="formPassword" type="password" name="password"></p>
<button type="submit">Login</button> <button type="submit">
Login
</button>
</form> </form>
<div v-else> <div v-else>
Hello {{ $store.state.authUser.username }}! Hello {{ $store.state.authUser.username }}!
<pre>I am the secret content, I am shown only when the use is connected.</pre> <pre>I am the secret content, I am shown only when the use is connected.</pre>
<p><i>You can also refresh this page, you'll still be connected!</i></p> <p><i>You can also refresh this page, you'll still be connected!</i></p>
<button @click="logout">Logout</button> <button @click="logout">
Logout
</button>
</div> </div>
<p><nuxt-link to="/secret">Super secret page</nuxt-link></p> <p>
<NuxtLink to="/secret">
Super secret page
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -2,7 +2,9 @@
<div> <div>
<h1>Super secret page</h1> <h1>Super secret page</h1>
<p>If you try to access this URL not connected, you will see the error page telling your that you are not connected.</p> <p>If you try to access this URL not connected, you will see the error page telling your that you are not connected.</p>
<nuxt-link to="/">Back to the home page</nuxt-link> <NuxtLink to="/">
Back to the home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -9,6 +9,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<nuxt /> <Nuxt />
</div> </div>
</template> </template>

View File

@ -7,7 +7,8 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
}, },
"dependencies": { "dependencies": {
"nuxt-edge": "latest" "nuxt-edge": "latest"

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="dark"> <div class="dark">
<nuxt /> <Nuxt />
</div> </div>
</template> </template>

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<img src="logo.png"> <img src="logo.png">
<nuxt /> <Nuxt />
</div> </div>
</template> </template>

View File

@ -1,8 +1,14 @@
<template> <template>
<div class="container"> <div class="container">
<h1 v-if="error.statusCode === 404">Page not found</h1> <h1 v-if="error.statusCode === 404">
<h1 v-else>An error occurred</h1> Page not found
<nuxt-link to="/">Home page</nuxt-link> </h1>
<h1 v-else>
An error occurred
</h1>
<NuxtLink to="/">
Home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<p>Hi from {{ name }}</p> <p>Hi from {{ name }}</p>
<nuxt-link to="/">Home page</nuxt-link> <NuxtLink to="/">
Home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,6 +1,8 @@
<template> <template>
<div class="container"> <div class="container">
<h1>Welcome!</h1> <h1>Welcome!</h1>
<nuxt-link to="/about">About page</nuxt-link> <NuxtLink to="/about">
About page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="container"> <div class="container">
<p>About Page</p> <p>About Page</p>
<nuxt-link to="/">Go to /</nuxt-link> <NuxtLink to="/">
Go to /
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="container"> <div class="container">
<p>Hello {{ name }}!</p> <p>Hello {{ name }}!</p>
<nuxt-link to="/about">Go to /about</nuxt-link> <NuxtLink to="/about">
Go to /about
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -2,8 +2,12 @@
<div class="container"> <div class="container">
<p>About Page</p> <p>About Page</p>
<p>It should take 5 seconds for the loader to disappear</p> <p>It should take 5 seconds for the loader to disappear</p>
<p>It should take 5 seconds for the route to change after you <p>
<span class="link" @click="goToFinal">click here</span></p> It should take 5 seconds for the route to change after you
<span class="link" @click="goToFinal">
click here
</span>
</p>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="container"> <div class="container">
<p>Final Page</p> <p>Final Page</p>
<nuxt-link to="/">Go to /</nuxt-link> <NuxtLink to="/">
Go to /
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="container"> <div class="container">
<p>Hello {{ name }}!</p> <p>Hello {{ name }}!</p>
<nuxt-link to="/about">Go to /about</nuxt-link> <NuxtLink to="/about">
Go to /about
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -3,7 +3,9 @@
<h2>Users</h2> <h2>Users</h2>
<ul class="users"> <ul class="users">
<li v-for="user in users" :key="user.id"> <li v-for="user in users" :key="user.id">
<nuxt-link :to="'/users/'+user.id">{{ user.name }}</nuxt-link> <NuxtLink :to="'/users/'+user.id">
{{ user.name }}
</NuxtLink>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -3,7 +3,11 @@
<h3>{{ name }}</h3> <h3>{{ name }}</h3>
<h4>@{{ username }}</h4> <h4>@{{ username }}</h4>
<p>Email : {{ email }}</p> <p>Email : {{ email }}</p>
<p><nuxt-link to="/">List of users</nuxt-link></p> <p>
<NuxtLink to="/">
List of users
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "node server.js", "dev": "node server.js",
"build": "nuxt build", "build": "nuxt build",
"start": "NODE_ENV=production node server.js" "start": "NODE_ENV=production node server.js",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,3 +1,7 @@
<template> <template>
<p>Please look at <code>server.js</code> to see how to use <a href="https://nuxtjs.org">Nuxt.js</a> programmatically.</p> <p>
Please look at <code>server.js</code> to see how to use <a href="https://nuxtjs.org">
Nuxt.js
</a> programmatically.
</p>
</template> </template>

View File

@ -9,21 +9,29 @@
viewBox="0 0 100 100" viewBox="0 0 100 100"
preserveAspectRatio="xMidYMid" preserveAspectRatio="xMidYMid"
class="uil-ring" class="uil-ring"
><rect >
x="0" <rect
y="0" x="0"
width="100" y="0"
height="100" width="100"
fill="none" height="100"
class="bk" fill="none"
/><defs><filter id="uil-ring-shadow" x="-100%" y="-100%" width="300%" height="300%"><feOffset result="offOut" in="SourceGraphic" dx="0" dy="0" /><feGaussianBlur result="blurOut" in="offOut" stdDeviation="0" /><feBlend in="SourceGraphic" in2="blurOut" mode="normal" /></filter></defs><path d="M10,50c0,0,0,0.5,0.1,1.4c0,0.5,0.1,1,0.2,1.7c0,0.3,0.1,0.7,0.1,1.1c0.1,0.4,0.1,0.8,0.2,1.2c0.2,0.8,0.3,1.8,0.5,2.8 c0.3,1,0.6,2.1,0.9,3.2c0.3,1.1,0.9,2.3,1.4,3.5c0.5,1.2,1.2,2.4,1.8,3.7c0.3,0.6,0.8,1.2,1.2,1.9c0.4,0.6,0.8,1.3,1.3,1.9 c1,1.2,1.9,2.6,3.1,3.7c2.2,2.5,5,4.7,7.9,6.7c3,2,6.5,3.4,10.1,4.6c3.6,1.1,7.5,1.5,11.2,1.6c4-0.1,7.7-0.6,11.3-1.6 c3.6-1.2,7-2.6,10-4.6c3-2,5.8-4.2,7.9-6.7c1.2-1.2,2.1-2.5,3.1-3.7c0.5-0.6,0.9-1.3,1.3-1.9c0.4-0.6,0.8-1.3,1.2-1.9 c0.6-1.3,1.3-2.5,1.8-3.7c0.5-1.2,1-2.4,1.4-3.5c0.3-1.1,0.6-2.2,0.9-3.2c0.2-1,0.4-1.9,0.5-2.8c0.1-0.4,0.1-0.8,0.2-1.2 c0-0.4,0.1-0.7,0.1-1.1c0.1-0.7,0.1-1.2,0.2-1.7C90,50.5,90,50,90,50s0,0.5,0,1.4c0,0.5,0,1,0,1.7c0,0.3,0,0.7,0,1.1 c0,0.4-0.1,0.8-0.1,1.2c-0.1,0.9-0.2,1.8-0.4,2.8c-0.2,1-0.5,2.1-0.7,3.3c-0.3,1.2-0.8,2.4-1.2,3.7c-0.2,0.7-0.5,1.3-0.8,1.9 c-0.3,0.7-0.6,1.3-0.9,2c-0.3,0.7-0.7,1.3-1.1,2c-0.4,0.7-0.7,1.4-1.2,2c-1,1.3-1.9,2.7-3.1,4c-2.2,2.7-5,5-8.1,7.1 c-0.8,0.5-1.6,1-2.4,1.5c-0.8,0.5-1.7,0.9-2.6,1.3L66,87.7l-1.4,0.5c-0.9,0.3-1.8,0.7-2.8,1c-3.8,1.1-7.9,1.7-11.8,1.8L47,90.8 c-1,0-2-0.2-3-0.3l-1.5-0.2l-0.7-0.1L41.1,90c-1-0.3-1.9-0.5-2.9-0.7c-0.9-0.3-1.9-0.7-2.8-1L34,87.7l-1.3-0.6 c-0.9-0.4-1.8-0.8-2.6-1.3c-0.8-0.5-1.6-1-2.4-1.5c-3.1-2.1-5.9-4.5-8.1-7.1c-1.2-1.2-2.1-2.7-3.1-4c-0.5-0.6-0.8-1.4-1.2-2 c-0.4-0.7-0.8-1.3-1.1-2c-0.3-0.7-0.6-1.3-0.9-2c-0.3-0.7-0.6-1.3-0.8-1.9c-0.4-1.3-0.9-2.5-1.2-3.7c-0.3-1.2-0.5-2.3-0.7-3.3 c-0.2-1-0.3-2-0.4-2.8c-0.1-0.4-0.1-0.8-0.1-1.2c0-0.4,0-0.7,0-1.1c0-0.7,0-1.2,0-1.7C10,50.5,10,50,10,50z" fill="#59ebff" filter="url(#uil-ring-shadow)"><animateTransform class="bk"
attributeName="transform" /><defs>
type="rotate" <filter id="uil-ring-shadow" x="-100%" y="-100%" width="300%" height="300%">
from="0 50 50" <feOffset result="offOut" in="SourceGraphic" dx="0" dy="0" /><feGaussianBlur result="blurOut" in="offOut" stdDeviation="0" /><feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
to="360 50 50" </filter>
repeatCount="indefinite" </defs><path d="M10,50c0,0,0,0.5,0.1,1.4c0,0.5,0.1,1,0.2,1.7c0,0.3,0.1,0.7,0.1,1.1c0.1,0.4,0.1,0.8,0.2,1.2c0.2,0.8,0.3,1.8,0.5,2.8 c0.3,1,0.6,2.1,0.9,3.2c0.3,1.1,0.9,2.3,1.4,3.5c0.5,1.2,1.2,2.4,1.8,3.7c0.3,0.6,0.8,1.2,1.2,1.9c0.4,0.6,0.8,1.3,1.3,1.9 c1,1.2,1.9,2.6,3.1,3.7c2.2,2.5,5,4.7,7.9,6.7c3,2,6.5,3.4,10.1,4.6c3.6,1.1,7.5,1.5,11.2,1.6c4-0.1,7.7-0.6,11.3-1.6 c3.6-1.2,7-2.6,10-4.6c3-2,5.8-4.2,7.9-6.7c1.2-1.2,2.1-2.5,3.1-3.7c0.5-0.6,0.9-1.3,1.3-1.9c0.4-0.6,0.8-1.3,1.2-1.9 c0.6-1.3,1.3-2.5,1.8-3.7c0.5-1.2,1-2.4,1.4-3.5c0.3-1.1,0.6-2.2,0.9-3.2c0.2-1,0.4-1.9,0.5-2.8c0.1-0.4,0.1-0.8,0.2-1.2 c0-0.4,0.1-0.7,0.1-1.1c0.1-0.7,0.1-1.2,0.2-1.7C90,50.5,90,50,90,50s0,0.5,0,1.4c0,0.5,0,1,0,1.7c0,0.3,0,0.7,0,1.1 c0,0.4-0.1,0.8-0.1,1.2c-0.1,0.9-0.2,1.8-0.4,2.8c-0.2,1-0.5,2.1-0.7,3.3c-0.3,1.2-0.8,2.4-1.2,3.7c-0.2,0.7-0.5,1.3-0.8,1.9 c-0.3,0.7-0.6,1.3-0.9,2c-0.3,0.7-0.7,1.3-1.1,2c-0.4,0.7-0.7,1.4-1.2,2c-1,1.3-1.9,2.7-3.1,4c-2.2,2.7-5,5-8.1,7.1 c-0.8,0.5-1.6,1-2.4,1.5c-0.8,0.5-1.7,0.9-2.6,1.3L66,87.7l-1.4,0.5c-0.9,0.3-1.8,0.7-2.8,1c-3.8,1.1-7.9,1.7-11.8,1.8L47,90.8 c-1,0-2-0.2-3-0.3l-1.5-0.2l-0.7-0.1L41.1,90c-1-0.3-1.9-0.5-2.9-0.7c-0.9-0.3-1.9-0.7-2.8-1L34,87.7l-1.3-0.6 c-0.9-0.4-1.8-0.8-2.6-1.3c-0.8-0.5-1.6-1-2.4-1.5c-3.1-2.1-5.9-4.5-8.1-7.1c-1.2-1.2-2.1-2.7-3.1-4c-0.5-0.6-0.8-1.4-1.2-2 c-0.4-0.7-0.8-1.3-1.1-2c-0.3-0.7-0.6-1.3-0.9-2c-0.3-0.7-0.6-1.3-0.8-1.9c-0.4-1.3-0.9-2.5-1.2-3.7c-0.3-1.2-0.5-2.3-0.7-3.3 c-0.2-1-0.3-2-0.4-2.8c-0.1-0.4-0.1-0.8-0.1-1.2c0-0.4,0-0.7,0-1.1c0-0.7,0-1.2,0-1.7C10,50.5,10,50,10,50z" fill="#59ebff" filter="url(#uil-ring-shadow)">
dur="1s" <animateTransform
/></path></svg> attributeName="transform"
type="rotate"
from="0 50 50"
to="360 50 50"
repeatCount="indefinite"
dur="1s"
/>
</path>
</svg>
</div> </div>
</template> </template>

View File

@ -9,6 +9,7 @@
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start", "start": "nuxt start",
"generate": "nuxt generate" "generate": "nuxt generate",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,11 +1,11 @@
<template> <template>
<div> <div>
<h1>Nuxt Chat</h1> <h1>Nuxt Chat</h1>
<transition-group name="list" tag="ul"> <TransitionGroup name="list" tag="ul">
<li v-for="(message, index) in messages" :key="index"> <li v-for="(message, index) in messages" :key="index">
<component :is="message.component" :data="message.data" /> <Component :is="message.component" :data="message.data" />
</li> </li>
</transition-group> </TransitionGroup>
</div> </div>
</template> </template>

View File

@ -1,11 +1,11 @@
<template> <template>
<div> <div>
<h1>Nuxt Chat</h1> <h1>Nuxt Chat</h1>
<transition-group name="list" tag="ul"> <TransitionGroup name="list" tag="ul">
<li v-for="(message, index) in messages" :key="index"> <li v-for="(message, index) in messages" :key="index">
<component :is="message.component" :data="message.data" /> <Component :is="message.component" :data="message.data" />
</li> </li>
</transition-group> </TransitionGroup>
</div> </div>
</template> </template>

View File

@ -1,8 +1,14 @@
<template> <template>
<div class="container"> <div class="container">
<h1 v-if="error.statusCode === 404">Page not found</h1> <h1 v-if="error.statusCode === 404">
<h1 v-else>An error occurred</h1> Page not found
<nuxt-link to="/">Home page</nuxt-link> </h1>
<h1 v-else>
An error occurred
</h1>
<NuxtLink to="/">
Home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="dark"> <div class="dark">
<div class="mobile-banner">Mobile website</div> <div class="mobile-banner">
<nuxt /> Mobile website
</div>
<Nuxt />
</div> </div>
</template> </template>

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<p>Hi from {{ name }}</p> <p>Hi from {{ name }}</p>
<nuxt-link to="/">Home page</nuxt-link> <NuxtLink to="/">
Home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="container"> <div class="container">
<h1>Welcome!</h1> <h1>Welcome!</h1>
<nuxt-link to="/about">About page</nuxt-link> <NuxtLink to="/about">
About page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -7,6 +7,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,17 @@
<template> <template>
<div class="content"> <div class="content">
<h1 class="title">Another Page</h1> <h1 class="title">
<p><nuxt-link to="/" class="button is-medium is-info hvr-wobble-vertical">Another button</nuxt-link></p> Another Page
<p><nuxt-link to="/">Back home</nuxt-link></p> </h1>
<p>
<NuxtLink to="/" class="button is-medium is-info hvr-wobble-vertical">
Another button
</NuxtLink>
</p>
<p>
<NuxtLink to="/">
Back home
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

@ -1,7 +1,17 @@
<template> <template>
<div class="content"> <div class="content">
<h1 class="title">Custom CSS!</h1> <h1 class="title">
<p><nuxt-link to="/about" class="button is-medium is-primary hvr-float-shadow">I am a button</nuxt-link></p> Custom CSS!
<p><nuxt-link to="/about">About page</nuxt-link></p> </h1>
<p>
<NuxtLink to="/about" class="button is-medium is-primary hvr-float-shadow">
I am a button
</NuxtLink>
</p>
<p>
<NuxtLink to="/about">
About page
</NuxtLink>
</p>
</div> </div>
</template> </template>

View File

View File

@ -1,11 +1,12 @@
{ {
"name": "example-hello-world", "name": "example-hello-world",
"dependencies": { "dependencies": {
"nuxt": "latest" "nuxt-edge": "latest"
}, },
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<p>Hi from {{ name }}</p> <p>Hi from {{ name }}</p>
<nuxt-link to="/">Home page</nuxt-link> <NLink to="/">
Home page
</NLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<h1>Welcome!</h1> <h1>Welcome!</h1>
<nuxt-link to="/about">About page</nuxt-link> <NLink to="/about">
About Page
</NLink>
</div> </div>
</template> </template>

View File

@ -2,24 +2,26 @@
<div> <div>
<header class="Header"> <header class="Header">
<div class="container"> <div class="container">
<h1 class="Header__Title">Nuxt i18n</h1> <h1 class="Header__Title">
Nuxt i18n
</h1>
<nav class="Header__Menu"> <nav class="Header__Menu">
<nuxt-link :to="$i18n.path('')" class="Header__Link" exact> <NuxtLink :to="$i18n.path('')" class="Header__Link" exact>
{{ $t('links.home') }} {{ $t('links.home') }}
</nuxt-link> </NuxtLink>
<nuxt-link :to="$i18n.path('about')" class="Header__Link" exact> <NuxtLink :to="$i18n.path('about')" class="Header__Link" exact>
{{ $t('links.about') }} {{ $t('links.about') }}
</nuxt-link> </NuxtLink>
<nuxt-link v-if="$i18n.locale === 'en'" :to="`/fr` + $route.fullPath" class="Header__Link" active-class="none" exact> <NuxtLink v-if="$i18n.locale === 'en'" :to="`/fr` + $route.fullPath" class="Header__Link" active-class="none" exact>
{{ $t('links.french') }} {{ $t('links.french') }}
</nuxt-link> </NuxtLink>
<nuxt-link v-else :to="$route.fullPath.replace(/^\/[^\/]+/, '')" class="Header__Link" active-class="none" exact> <NuxtLink v-else :to="$route.fullPath.replace(/^\/[^\/]+/, '')" class="Header__Link" active-class="none" exact>
{{ $t('links.english') }} {{ $t('links.english') }}
</nuxt-link> </NuxtLink>
</nav> </nav>
</div> </div>
</header> </header>
<nuxt /> <Nuxt />
</div> </div>
</template> </template>

View File

@ -8,6 +8,7 @@
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start", "start": "nuxt start",
"generate": "nuxt generate" "generate": "nuxt generate",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="Content"> <div class="Content">
<div class="container"> <div class="container">
<h1 class="Content__Title">{{ $t('about.title') }}</h1> <h1 class="Content__Title">
{{ $t('about.title') }}
</h1>
<p>{{ $t('about.introduction') }}</p> <p>{{ $t('about.introduction') }}</p>
</div> </div>
</div> </div>

View File

@ -1,7 +1,9 @@
<template> <template>
<div class="Content"> <div class="Content">
<div class="container"> <div class="container">
<h1 class="Content__Title">{{ $t('home.title') }}</h1> <h1 class="Content__Title">
{{ $t('home.title') }}
</h1>
<p>{{ $t('home.introduction') }}</p> <p>{{ $t('home.introduction') }}</p>
</div> </div>
</div> </div>

View File

@ -13,6 +13,7 @@
"devDependencies": { "devDependencies": {
"jest": "latest", "jest": "latest",
"jest-puppeteer": "latest", "jest-puppeteer": "latest",
"puppeteer": "latest" "puppeteer": "latest",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -1,7 +1,11 @@
<template> <template>
<div> <div>
<p id="hello-msg">Hi from {{ name }}</p> <p id="hello-msg">
<nuxt-link to="/">Home page</nuxt-link> Hi from {{ name }}
</p>
<NuxtLink to="/">
Home page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,7 +1,9 @@
<template> <template>
<div> <div>
<h1>Welcome!</h1> <h1>Welcome!</h1>
<nuxt-link id="about-link" to="/about">About page</nuxt-link> <NuxtLink id="about-link" to="/about">
About page
</NuxtLink>
</div> </div>
</template> </template>

View File

@ -1,5 +1,5 @@
<template> <template>
<div> <div>
<nuxt /> <Nuxt />
</div> </div>
</template> </template>

View File

@ -5,7 +5,8 @@
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start", "start": "nuxt start",
"generate": "nuxt generate", "generate": "nuxt generate",
"test": "jest ." "test": "jest",
"post-update": "yarn upgrade --latest"
}, },
"dependencies": { "dependencies": {
"nuxt-edge": "latest" "nuxt-edge": "latest"
@ -17,7 +18,7 @@
"babel-jest": "^23.6.0", "babel-jest": "^23.6.0",
"jest": "^23.6.0", "jest": "^23.6.0",
"jest-serializer-vue": "^2.0.2", "jest-serializer-vue": "^2.0.2",
"vue-jest": "^2.6.0" "vue-jest": "^3.0.2"
}, },
"jest": { "jest": {
"moduleFileExtensions": [ "moduleFileExtensions": [
@ -31,16 +32,17 @@
"^~~/(.*)$": "<rootDir>/$1" "^~~/(.*)$": "<rootDir>/$1"
}, },
"transform": { "transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest", "^.+\\.js$": "babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest" ".*\\.(vue)$": "vue-jest"
}, },
"snapshotSerializers": [ "snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue" "jest-serializer-vue"
], ],
"collectCoverage": true, "collectCoverage": true,
"collectCoverageFrom": [ "collectCoverageFrom": [
"<rootDir>/components/**/*.vue", "<rootDir>/components/**/*.vue",
"<rootDir>/pages/*.vue" "<rootDir>/pages/*.vue"
] ],
"testURL": "http://localhost/"
} }
} }

View File

@ -6,6 +6,7 @@
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start" "start": "nuxt start",
"post-update": "yarn upgrade --latest"
} }
} }

View File

@ -15,7 +15,7 @@ export default {
return <div class='container'> return <div class='container'>
<h1>About page</h1> <h1>About page</h1>
<test data='I am test component' /> <test data='I am test component' />
<p><nuxt-link to='/'>Home page</nuxt-link></p> <p><NuxtLink to='/'>Home page</NuxtLink></p>
</div> </div>
} }
} }

Some files were not shown because too many files have changed in this diff Show More