123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /**
- * @fileoverview disallow `process.server`/`process.client`/`process.browser` in `Vue Lifecycle Hooks`
- * @author Xin Du <clark.duxin@gmail.com>
- */
- 'use strict'
- // ------------------------------------------------------------------------------
- // Requirements
- // ------------------------------------------------------------------------------
- const rule = require('../no-env-in-hooks')
- const RuleTester = require('eslint').RuleTester
- const parserOptions = {
- ecmaVersion: 2018,
- sourceType: 'module'
- }
- // ------------------------------------------------------------------------------
- // Tests
- // ------------------------------------------------------------------------------
- const ruleTester = new RuleTester()
- ruleTester.run('no-env-in-hooks', rule, {
- valid: [
- {
- filename: 'test.vue',
- code: `
- export default {
- mounted() {
- const foo = 'bar'
- },
- beforeMount() {
- const foo = 'bar'
- },
- beforeDestroy() {
- const foo = 'bar'
- }
- }
- `,
- parserOptions
- }
- ],
- invalid: [
- {
- filename: 'test.vue',
- code: `
- export default {
- mounted() {
- if(process.server) {
- const foo = 'bar'
- }
- },
- beforeMount() {
- if(process.client) {
- const foo = 'bar'
- }
- },
- beforeDestroy() {
- if(process.browser) {
- const foo = 'bar'
- }
- }
- }
- `,
- errors: [{
- message: 'Unexpected process.server in mounted.',
- type: 'MemberExpression'
- }, {
- message: 'Unexpected process.client in beforeMount.',
- type: 'MemberExpression'
- }, {
- message: 'Unexpected process.browser in beforeDestroy.',
- type: 'MemberExpression'
- }],
- parserOptions
- },
- {
- filename: 'test.vue',
- code: `
- export default {
- mounted() {
- if(process['client']) {
- const foo = 'bar'
- }
- },
- beforeMount() {
- if(process['server']) {
- const foo = 'bar'
- }
- },
- beforeDestroy() {
- if(process['browser']) {
- const foo = 'bar'
- }
- }
- }
- `,
- errors: [{
- message: 'Unexpected process.client in mounted.',
- type: 'MemberExpression'
- }, {
- message: 'Unexpected process.server in beforeMount.',
- type: 'MemberExpression'
- }, {
- message: 'Unexpected process.browser in beforeDestroy.',
- type: 'MemberExpression'
- }],
- parserOptions
- }
- ]
- })
|