Index: frontend/node_modules/eslint-plugin-testing-library/configs/angular.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/angular.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/angular.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,24 @@
+"use strict";
+module.exports = {
+    plugins: ['testing-library'],
+    rules: {
+        'testing-library/await-async-query': 'error',
+        'testing-library/await-async-utils': 'error',
+        'testing-library/no-await-sync-query': 'error',
+        'testing-library/no-container': 'error',
+        'testing-library/no-debugging-utils': 'error',
+        'testing-library/no-dom-import': ['error', 'angular'],
+        'testing-library/no-node-access': 'error',
+        'testing-library/no-promise-in-fire-event': 'error',
+        'testing-library/no-render-in-setup': 'error',
+        'testing-library/no-wait-for-empty-callback': 'error',
+        'testing-library/no-wait-for-multiple-assertions': 'error',
+        'testing-library/no-wait-for-side-effects': 'error',
+        'testing-library/no-wait-for-snapshot': 'error',
+        'testing-library/prefer-find-by': 'error',
+        'testing-library/prefer-presence-queries': 'error',
+        'testing-library/prefer-query-by-disappearance': 'error',
+        'testing-library/prefer-screen-queries': 'error',
+        'testing-library/render-result-naming-convention': 'error',
+    },
+};
Index: frontend/node_modules/eslint-plugin-testing-library/configs/dom.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/dom.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/dom.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,18 @@
+"use strict";
+module.exports = {
+    plugins: ['testing-library'],
+    rules: {
+        'testing-library/await-async-query': 'error',
+        'testing-library/await-async-utils': 'error',
+        'testing-library/no-await-sync-query': 'error',
+        'testing-library/no-promise-in-fire-event': 'error',
+        'testing-library/no-wait-for-empty-callback': 'error',
+        'testing-library/no-wait-for-multiple-assertions': 'error',
+        'testing-library/no-wait-for-side-effects': 'error',
+        'testing-library/no-wait-for-snapshot': 'error',
+        'testing-library/prefer-find-by': 'error',
+        'testing-library/prefer-presence-queries': 'error',
+        'testing-library/prefer-query-by-disappearance': 'error',
+        'testing-library/prefer-screen-queries': 'error',
+    },
+};
Index: frontend/node_modules/eslint-plugin-testing-library/configs/index.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,7 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const path_1 = require("path");
+const utils_1 = require("../utils");
+const configsDir = __dirname;
+const getConfigForFramework = (framework) => (0, utils_1.importDefault)((0, path_1.join)(configsDir, framework));
+exports.default = utils_1.SUPPORTED_TESTING_FRAMEWORKS.reduce((allConfigs, framework) => (Object.assign(Object.assign({}, allConfigs), { [framework]: getConfigForFramework(framework) })), {});
Index: frontend/node_modules/eslint-plugin-testing-library/configs/marko.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/marko.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/marko.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,26 @@
+"use strict";
+module.exports = {
+    plugins: ['testing-library'],
+    rules: {
+        'testing-library/await-async-query': 'error',
+        'testing-library/await-async-utils': 'error',
+        'testing-library/await-fire-event': 'error',
+        'testing-library/no-await-sync-query': 'error',
+        'testing-library/no-container': 'error',
+        'testing-library/no-debugging-utils': 'error',
+        'testing-library/no-dom-import': ['error', 'marko'],
+        'testing-library/no-node-access': 'error',
+        'testing-library/no-promise-in-fire-event': 'error',
+        'testing-library/no-render-in-setup': 'error',
+        'testing-library/no-unnecessary-act': 'error',
+        'testing-library/no-wait-for-empty-callback': 'error',
+        'testing-library/no-wait-for-multiple-assertions': 'error',
+        'testing-library/no-wait-for-side-effects': 'error',
+        'testing-library/no-wait-for-snapshot': 'error',
+        'testing-library/prefer-find-by': 'error',
+        'testing-library/prefer-presence-queries': 'error',
+        'testing-library/prefer-query-by-disappearance': 'error',
+        'testing-library/prefer-screen-queries': 'error',
+        'testing-library/render-result-naming-convention': 'error',
+    },
+};
Index: frontend/node_modules/eslint-plugin-testing-library/configs/react.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/react.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/react.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,25 @@
+"use strict";
+module.exports = {
+    plugins: ['testing-library'],
+    rules: {
+        'testing-library/await-async-query': 'error',
+        'testing-library/await-async-utils': 'error',
+        'testing-library/no-await-sync-query': 'error',
+        'testing-library/no-container': 'error',
+        'testing-library/no-debugging-utils': 'error',
+        'testing-library/no-dom-import': ['error', 'react'],
+        'testing-library/no-node-access': 'error',
+        'testing-library/no-promise-in-fire-event': 'error',
+        'testing-library/no-render-in-setup': 'error',
+        'testing-library/no-unnecessary-act': 'error',
+        'testing-library/no-wait-for-empty-callback': 'error',
+        'testing-library/no-wait-for-multiple-assertions': 'error',
+        'testing-library/no-wait-for-side-effects': 'error',
+        'testing-library/no-wait-for-snapshot': 'error',
+        'testing-library/prefer-find-by': 'error',
+        'testing-library/prefer-presence-queries': 'error',
+        'testing-library/prefer-query-by-disappearance': 'error',
+        'testing-library/prefer-screen-queries': 'error',
+        'testing-library/render-result-naming-convention': 'error',
+    },
+};
Index: frontend/node_modules/eslint-plugin-testing-library/configs/vue.js
===================================================================
--- frontend/node_modules/eslint-plugin-testing-library/configs/vue.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-plugin-testing-library/configs/vue.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,25 @@
+"use strict";
+module.exports = {
+    plugins: ['testing-library'],
+    rules: {
+        'testing-library/await-async-query': 'error',
+        'testing-library/await-async-utils': 'error',
+        'testing-library/await-fire-event': 'error',
+        'testing-library/no-await-sync-query': 'error',
+        'testing-library/no-container': 'error',
+        'testing-library/no-debugging-utils': 'error',
+        'testing-library/no-dom-import': ['error', 'vue'],
+        'testing-library/no-node-access': 'error',
+        'testing-library/no-promise-in-fire-event': 'error',
+        'testing-library/no-render-in-setup': 'error',
+        'testing-library/no-wait-for-empty-callback': 'error',
+        'testing-library/no-wait-for-multiple-assertions': 'error',
+        'testing-library/no-wait-for-side-effects': 'error',
+        'testing-library/no-wait-for-snapshot': 'error',
+        'testing-library/prefer-find-by': 'error',
+        'testing-library/prefer-presence-queries': 'error',
+        'testing-library/prefer-query-by-disappearance': 'error',
+        'testing-library/prefer-screen-queries': 'error',
+        'testing-library/render-result-naming-convention': 'error',
+    },
+};
