Skip to content

Commit

Permalink
Merge pull request #82 from danger/requires
Browse files Browse the repository at this point in the history
Remove all types of imports/requires
  • Loading branch information
orta committed Jan 6, 2017
2 parents 86b1f52 + f4febbf commit 0782c67
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 7 deletions.
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* Adds `--verbose` to `danger`, which for now will echo out all the URLs Danger has requested - orta
* A failing network request will raise an error - orta
* Migrate codebase into TypeScript from flow - kwonoj
* Handle removing all sorts of import types for Danger in the Dangerfile - orta

### 0.7.3-4

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
"babel-preset-stage-3": "^6.17.0",
"husky": "^0.12.0",
"in-publish": "^2.0.0",
"jest": "^18.0.0",
"jest": "^18.1.0",
"lint-staged": "^3.2.5",
"madge": "^1.4.4",
"shx": "^0.2.1",
Expand Down
9 changes: 7 additions & 2 deletions source/runner/DangerfileRunner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,18 @@ export function updateDangerfile(filename: Path) {
fs.writeFileSync(filename, cleanDangerfile(contents))
}

// https://regex101.com/r/dUq4yB/1
const requirePattern = /^.* require\(('|")danger('|")\);?$/gm
// https://regex101.com/r/dUq4yB/2
const es6Pattern = /^.* from ('|")danger('|");?$/gm

/**
* Updates a Dangerfile to remove the import for Danger
* @param {string} contents the file path for the dangerfile
* @returns {string} the revised Dangerfile
*/
export function cleanDangerfile(contents: string): string {
return contents
.replace(/import danger /gi, "// import danger ")
.replace(/import { danger/gi, "// import { danger")
.replace(es6Pattern, "// Removed import")
.replace(requirePattern, "// Removed require")
}
35 changes: 32 additions & 3 deletions source/runner/_tests/DangerRunner.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,40 @@ describe("cleaning Dangerfiles", () => {
const path = resolve(os.tmpdir(), "fake_dangerfile_1")
fs.writeFileSync(path, "import { danger, warn, fail, message } from 'danger'")
updateDangerfile(path)
expect(fs.readFileSync(path).toString()).toEqual("// import { danger, warn, fail, message } from 'danger'")
expect(fs.readFileSync(path).toString()).toEqual("// Removed import")
})

it("also handles typescript style imports", () => {
const before = "import danger from 'danger'"
expect(cleanDangerfile(before)).toEqual("// import danger from 'danger'")
const before = `
import { danger, warn, fail, message } from 'danger'
import { danger, warn, fail, message } from "danger"
import { danger, warn, fail, message } from "danger";
import danger from "danger"
import danger from 'danger'
import danger from 'danger';
`
const after = `
// Removed import
// Removed import
// Removed import
// Removed import
// Removed import
// Removed import
`
expect(cleanDangerfile(before)).toEqual(after)
})

it("also handles require style imports", () => {
const before = `
const { danger, warn, fail, message } = require('danger')
var { danger, warn, fail, message } = require("danger")
let { danger, warn, fail, message } = require('danger');
`
const after = `
// Removed require
// Removed require
// Removed require
`
expect(cleanDangerfile(before)).toEqual(after)
})
})
2 changes: 1 addition & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2218,7 +2218,7 @@ jest-util@^18.1.0:
jest-mock "^18.0.0"
mkdirp "^0.5.1"

jest@^18.0.0:
jest@^18.1.0:
version "18.1.0"
resolved "https://registry.yarnpkg.com/jest/-/jest-18.1.0.tgz#bcebf1e203dee5c2ad2091c805300a343d9e6c7d"
dependencies:
Expand Down

0 comments on commit 0782c67

Please sign in to comment.