-
Notifications
You must be signed in to change notification settings - Fork 1
/
predef-filters.ts
44 lines (32 loc) · 1.48 KB
/
predef-filters.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* Predefined filters.
*
* None of this is really accurate, js-cleanup is not a parser, but they
* are suitable for the job without introducing more complexity.
*/
const predefFilters: { [k: string]: RegExp } = {
/* eslint-disable unicorn/better-regex */
// The default filter
some: /^.!|@(?:license|preserve)\b/,
// Only license
license: /@license\b/,
// http://eslint.org/docs/user-guide/configuring
eslint: /^\*\s*(?:eslint(?:\s|-env\s|-(?:en|dis)able(?:\s|$))|global\s)|^.[\t ]*eslint-disable-(?:next-)?line(?:[\t ]|$)/,
// https://flow.org/en/docs
flow: /^.\s*(?:@flow(?:\s|$)|\$Flow[A-Za-z]|flowlint\s|flowlint(?:-next)?-line[\t ])|^\*[\t ]*(?:flow-include\s|:{1,3}[^:])/,
// https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md
istanbul: /^.\s*istanbul\s+ignore\s+[a-z]/,
// http://usejsdoc.org
jsdoc: /^\*\*[\S\s]*@[a-z]{2}/,
// http://jshint.com/docs/#inline-configuration
jshint: /^.\s*(?:jshint|globals|exported)\s/,
// http://www.jslint.com/help.html
jslint: /^.(?:jslint|global|property)\s\S/,
// http://www.html5rocks.com/en/tutorials/developertools/sourcemaps
sources: /^.[#@][\t ]+source(?:Mapping)?URL=/,
// http://www.typescriptlang.org/docs
ts: /^(?:\/\/\s*<(?:reference\s|amd-[a-z]).*>|.\s*@(?:jsx[\t ]|ts-(?:check|nocheck|ignore|expect-error)\b))/,
// http://www.typescriptlang.org/docs/handbook/triple-slash-directives.html
ts3s: /^\/\/\s*<(?:reference\s|amd-[a-z]).*>/,
}
export default predefFilters