From af89526ac1a5dfb8fdbb54c80de76355285a465e Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Mon, 26 Sep 2022 02:49:11 +0200 Subject: [PATCH 1/2] fix: Revert vueOptionsNamespace changes from + + +{ + "en": { + "hello": "Hello!" + }, + "ja": { + "hello": "こんにちは!" + } +} + diff --git a/e2e/2.x/custom-block/components/Multiple.vue b/e2e/2.x/custom-block/components/Multiple.vue new file mode 100644 index 00000000..f204d041 --- /dev/null +++ b/e2e/2.x/custom-block/components/Multiple.vue @@ -0,0 +1,26 @@ + + + + + +{ + "en": { + "hello": "Hello!" + }, + "ja": { + "hello": "こんにちは!" + } +} + + + +{ + "foo": "foo" +} + diff --git a/e2e/2.x/custom-block/package.json b/e2e/2.x/custom-block/package.json new file mode 100644 index 00000000..0b0442f6 --- /dev/null +++ b/e2e/2.x/custom-block/package.json @@ -0,0 +1,41 @@ +{ + "name": "vue2-custom-block", + "version": "1.0.0", + "license": "MIT", + "private": true, + "scripts": { + "test": "jest --no-cache --coverage test.js" + }, + "dependencies": { + "vue": "^2.7.7", + "vue-template-compiler": "^2.7.7" + }, + "devDependencies": { + "@babel/core": "^7.9.0", + "@babel/preset-env": "^7.9.0", + "@vue/vue2-jest": "^29.0.0", + "jest": "29.x", + "jest-environment-jsdom": "29.x" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "vue" + ], + "transform": { + "^.+\\.js$": "babel-jest", + "^.+\\.vue$": "@vue/vue2-jest" + }, + "moduleNameMapper": { + "^~?__styles/(.*)$": "/components/styles/$1" + }, + "globals": { + "vue-jest": { + "transform": { + "custom": "./transformer.js" + } + } + } + } +} diff --git a/e2e/2.x/custom-block/test.js b/e2e/2.x/custom-block/test.js new file mode 100644 index 00000000..79556a9c --- /dev/null +++ b/e2e/2.x/custom-block/test.js @@ -0,0 +1,33 @@ +import Basic from './components/Basic.vue' +import Multiple from './components/Multiple.vue' + +test('Basic', () => { + expect(Basic.__custom).toMatchObject([ + { + en: { + hello: 'Hello!' + }, + ja: { + hello: 'こんにちは!' + } + } + ]) + expect(Basic.__custom).toMatchSnapshot() +}) + +test('Multiple blocks', () => { + expect(Multiple.__custom).toMatchObject([ + { + en: { + hello: 'Hello!' + }, + ja: { + hello: 'こんにちは!' + } + }, + { + foo: 'foo' + } + ]) + expect(Multiple.__custom).toMatchSnapshot() +}) diff --git a/e2e/2.x/custom-block/transformer.js b/e2e/2.x/custom-block/transformer.js new file mode 100644 index 00000000..b0266930 --- /dev/null +++ b/e2e/2.x/custom-block/transformer.js @@ -0,0 +1,21 @@ +function convert(content) { + return JSON.stringify(JSON.parse(content)) + .replace(/\u2028/g, '\\u2028') // LINE SEPARATOR + .replace(/\u2029/g, '\\u2029') // PARAGRAPH SEPARATOR + .replace(/\\/g, '\\\\') + .replace(/'/g, "\\'") +} + +module.exports = { + process({ blocks, vueOptionsNamespace, filename, config }) { + const ret = blocks.reduce((codes, block) => { + codes.push( + `${vueOptionsNamespace}.__custom = ${vueOptionsNamespace}.__custom || [];${vueOptionsNamespace}.__custom.push(${convert( + block.content + )});` + ) + return codes + }, []) + return ret.join('') + } +} diff --git a/e2e/2.x/custom-transformers/components/Scss.vue b/e2e/2.x/custom-transformers/components/Scss.vue index 6b88eb24..474edea9 100644 --- a/e2e/2.x/custom-transformers/components/Scss.vue +++ b/e2e/2.x/custom-transformers/components/Scss.vue @@ -1,7 +1,7 @@ diff --git a/packages/vue2-jest/lib/process-custom-blocks.js b/packages/vue2-jest/lib/process-custom-blocks.js index a7e75fff..17516fa5 100644 --- a/packages/vue2-jest/lib/process-custom-blocks.js +++ b/packages/vue2-jest/lib/process-custom-blocks.js @@ -1,4 +1,5 @@ const { getVueJestConfig, getCustomTransformer } = require('./utils') +const vueOptionsNamespace = require('./constants').vueOptionsNamespace function applyTransformer( transformer, @@ -16,7 +17,7 @@ function groupByType(acc, block) { return acc } -module.exports = function(allBlocks, filename, componentNamespace, config) { +module.exports = function(allBlocks, filename, config) { const blocksByType = allBlocks.reduce(groupByType, {}) const code = [] for (const [type, blocks] of Object.entries(blocksByType)) { @@ -28,7 +29,7 @@ module.exports = function(allBlocks, filename, componentNamespace, config) { const codeStr = applyTransformer( transformer, blocks, - componentNamespace, + vueOptionsNamespace, filename, config ) diff --git a/packages/vue2-jest/lib/process.js b/packages/vue2-jest/lib/process.js index 6256144c..ebcdfdd8 100644 --- a/packages/vue2-jest/lib/process.js +++ b/packages/vue2-jest/lib/process.js @@ -10,7 +10,6 @@ const loadSrc = require('./utils').loadSrc const babelTransformer = require('babel-jest').default const generateCode = require('./generate-code') const mapLines = require('./map-lines') -const vueComponentNamespace = require('./constants').vueComponentNamespace let isVue27 = false let compilerUtils @@ -143,9 +142,6 @@ module.exports = function(src, filename, config) { filename }) - const componentNamespace = - getVueJestConfig(config)['componentNamespace'] || vueComponentNamespace - const templateResult = processTemplate(descriptor, filename, config) const scriptResult = processScript(descriptor.script, filename, config) const scriptSetupResult = processScriptSetup(descriptor, filename, config) @@ -153,7 +149,6 @@ module.exports = function(src, filename, config) { const customBlocksResult = processCustomBlocks( descriptor.customBlocks, filename, - componentNamespace, config ) From 62d6ebcc7b9c23dc9af2301cec73caf4e6a79071 Mon Sep 17 00:00:00 2001 From: Lachlan Miller Date: Mon, 26 Sep 2022 10:50:30 +1000 Subject: [PATCH 2/2] publish: 29.1.1 --- packages/vue2-jest/package.json | 2 +- packages/vue3-jest/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vue2-jest/package.json b/packages/vue2-jest/package.json index 559801d4..b9bb1a75 100644 --- a/packages/vue2-jest/package.json +++ b/packages/vue2-jest/package.json @@ -1,6 +1,6 @@ { "name": "@vue/vue2-jest", - "version": "29.1.0", + "version": "29.1.1", "description": "Jest transformer for Vue 2", "main": "lib/index.js", "files": [ diff --git a/packages/vue3-jest/package.json b/packages/vue3-jest/package.json index aa8cc824..fb96c4a8 100644 --- a/packages/vue3-jest/package.json +++ b/packages/vue3-jest/package.json @@ -1,6 +1,6 @@ { "name": "@vue/vue3-jest", - "version": "29.1.0", + "version": "29.1.1", "description": "Jest Vue transform", "main": "lib/index.js", "files": [