diff --git a/src/eslint-plugin-redos-detector.test.ts b/src/eslint-plugin-redos-detector.test.ts index 34ca1941..db13220b 100644 --- a/src/eslint-plugin-redos-detector.test.ts +++ b/src/eslint-plugin-redos-detector.test.ts @@ -24,6 +24,10 @@ describe('Eslint Plugin Redos Detector', () => { code: '/a/s', options: [{ ignoreError }], }, + { + code: '/a/m', + options: [{ ignoreError }], + }, ...(ignoreError ? [ { @@ -49,6 +53,11 @@ describe('Eslint Plugin Redos Detector', () => { options: [{ ignoreError }], errors: 1, }, + { + code: '/a+a+/m', + options: [{ ignoreError }], + errors: 1, + }, ...(!ignoreError ? [ { diff --git a/src/eslint-plugin-redos-detector.ts b/src/eslint-plugin-redos-detector.ts index 4dabf797..f875b00e 100644 --- a/src/eslint-plugin-redos-detector.ts +++ b/src/eslint-plugin-redos-detector.ts @@ -60,6 +60,7 @@ export const rules: Record = { let caseInsensitive = false; let unicode = false; let dotAll = false; + let multiLine = false; for (const flag of flags.split('')) { if (flag === 'i') { @@ -68,6 +69,8 @@ export const rules: Record = { unicode = true; } else if (flag === 's') { dotAll = true; + } else if (flag === 'm') { + multiLine = true; } else if (flag !== 'g') { if (!ignoreError) { context.report({ @@ -98,6 +101,7 @@ export const rules: Record = { caseInsensitive, unicode, dotAll, + multiLine, }); } catch (e: any) { if (!ignoreError) {