implemented jest-preset

This commit is contained in:
Sebastian Sdorra
2019-10-10 14:32:37 +02:00
parent b330bceac1
commit 631f2f6482
12 changed files with 54 additions and 75 deletions

View File

@@ -7,7 +7,7 @@
"scripts": {
"build": "webpack --mode=production --config=scm-ui/scripts/webpack.config.js",
"build:dev": "webpack --mode=development --config=scm-ui/scripts/webpack.config.js",
"test": "jest --config=scm-ui/scripts/jest.config.js",
"test": "jest",
"serve": "webpack-dev-server --mode=development --config=scm-ui/scripts/webpack.config.js"
},
"devDependencies": {
@@ -41,5 +41,12 @@
"babel-core": "7.0.0-bridge.0",
"gitdiff-parser": "https://github.com/cloudogu/gitdiff-parser#3a72da4a8e3d9bfb4b9e01a43e85628c19f26cc4"
},
"babel": {
"presets": ["@scm-manager/babel-preset"]
},
"jest": {
"preset": "@scm-manager/jest-preset",
"rootDir": "./scm-ui"
},
"dependencies": {}
}

View File

@@ -14,8 +14,6 @@
"presets": ["@scm-manager/babel-preset"]
},
"jest": {
"transform": {
"^.+\\.js$": "../../scm-ui/scripts/babelPluginTransformer.js"
}
"preset": "@scm-manager/jest-preset"
}
}

View File

@@ -4,7 +4,7 @@ const reportDirectory = path.join(rootDir, "target", "jest-reports");
module.exports = {
rootDir,
transform: { "^.+\\.js$": "./scripts/babelMonoRepoTransformer.js" },
transform: { "^.+\\.js$": "@scm-manager/jest-preset" },
collectCoverage: true,
coverageDirectory: path.join(reportDirectory, "coverage"),
coveragePathIgnorePatterns: ["src/tests/.*"],

View File

@@ -0,0 +1,14 @@
{
"name": "@scm-manager/jest-preset",
"version": "2.0.0-SNAPSHOT",
"description": "Jest presets for SCM-Manager and its plugins",
"main": "src/index.js",
"author": "Sebastian Sdorra <sebastian.sdorra@cloudogu.com>",
"license": "BSD-3-Clause",
"private": false,
"dependencies": {
"babel-jest": "^24.9.0",
"jest": "^24.9.0",
"jest-junit": "^8.0.0"
}
}

View File

@@ -0,0 +1,13 @@
const { createTransformer } = require("babel-jest");
const transformer = createTransformer({
presets: ["@scm-manager/babel-preset"]
});
module.exports = {
process(src, filename) {
if (!filename.includes("node_modules") || filename.includes("@scm-manager")) {
return transformer.process(...arguments);
}
return src;
}
};

View File

@@ -1,12 +0,0 @@
/**
* Read and use .babelrc from packages
*/
const path = require("path");
const { createTransformer } = require("babel-jest");
const packagePath = path.resolve(__dirname, "../");
const packageGlob = path.join(packagePath, "*");
module.exports = createTransformer({
babelrcRoots: packageGlob
});

View File

@@ -1,16 +0,0 @@
/**
* Read and use .babelrc from packages
*/
const path = require("path");
const { createTransformer } = require("babel-jest");
const packagePath = path.resolve(__dirname, "..");
const packageGlob = path.join(packagePath, "*");
const currentDirectory = path.join(process.cwd());
module.exports = createTransformer({
babelrcRoots: [
packageGlob,
currentDirectory
]
});

View File

@@ -1,30 +0,0 @@
const path = require("path");
const fs = require("fs");
const transformer = path.resolve(__dirname, "babelPluginTransformer.js");
const rootDir = path.resolve(process.cwd());
const packageJsonPath = path.join(rootDir, "package.json");
const packageJson = JSON.parse(
fs.readFileSync(packageJsonPath, { encoding: "UTF-8" })
);
const reportDirectory = path.join(rootDir, "target", "jest-reports");
module.exports = {
rootDir,
transform: { "^.+\\.js$": transformer },
transformIgnorePatterns: [".*/node_modules/.*"],
collectCoverage: true,
coverageDirectory: path.join(reportDirectory, "coverage"),
coveragePathIgnorePatterns: ["src/main/js/tests/.*"],
reporters: [
"default",
[
"jest-junit",
{
suiteName: packageJson.name + " tests",
outputDirectory: reportDirectory,
outputName: "TEST-plugin.xml"
}
]
]
};

View File

@@ -48,11 +48,6 @@
"presets": ["@scm-manager/babel-preset"]
},
"jest": {
"transform": {
"^.+\\.js$": "../scripts/babelMonoRepoTransformer.js"
},
"moduleNameMapper": {
"\\.(css|scss|sass)$": "<rootDir>/src/tests/styleMock.js"
}
"preset": "@scm-manager/jest-preset"
}
}

View File

@@ -1,5 +1,12 @@
import initStoryshots from "@storybook/addon-storyshots";
/*import initStoryshots from "@storybook/addon-storyshots";
initStoryshots({
/* configuration options */
});*/
describe("noop", () => {
it("is all good", () => {
});
});

View File

@@ -65,8 +65,6 @@
"presets": ["@scm-manager/babel-preset"]
},
"jest": {
"transform": {
"^.+\\.js$": "../scripts/babelMonoRepoTransformer.js"
}
"preset": "@scm-manager/jest-preset"
}
}

View File

@@ -2512,6 +2512,11 @@ babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.2"
babel-core@7.0.0-bridge.0:
version "7.0.0-bridge.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
babel-eslint@^10.0.3:
version "10.0.3"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a"
@@ -5813,7 +5818,7 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
gitdiff-parser@^0.1.2:
gitdiff-parser@^0.1.2, "gitdiff-parser@https://github.com/cloudogu/gitdiff-parser#3a72da4a8e3d9bfb4b9e01a43e85628c19f26cc4":
version "0.1.2"
resolved "https://github.com/cloudogu/gitdiff-parser#3a72da4a8e3d9bfb4b9e01a43e85628c19f26cc4"