diff --git a/client/.babelrc b/client/.babelrc index 2bf471ab..e6503c89 100644 --- a/client/.babelrc +++ b/client/.babelrc @@ -1,5 +1,6 @@ { "presets": [ + "@babel/preset-typescript", ["@babel/preset-env", { "useBuiltIns": false, "targets": { diff --git a/client/jest.config.js b/client/jest.config.js index 664b42ed..39151442 100644 --- a/client/jest.config.js +++ b/client/jest.config.js @@ -2,12 +2,14 @@ module.exports = { moduleFileExtensions: [ 'js', 'jsx', + 'ts', 'json', 'vue' ], transform: { "\\.(gql|graphql)$": "/node_modules/jest-transform-graphql", "^.+\\.js$": "/node_modules/babel-jest", + "^.+\\.ts$": "/node_modules/babel-jest", '^.+\\.vue$': '/node_modules/vue-jest', '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub' }, diff --git a/client/package-lock.json b/client/package-lock.json index 1f9f45af..cc4b6535 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -726,6 +726,15 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, + "@babel/plugin-syntax-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-transform-arrow-functions": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", @@ -1011,6 +1020,17 @@ "@babel/helper-plugin-utils": "^7.16.7" } }, + "@babel/plugin-transform-typescript": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" + } + }, "@babel/plugin-transform-unicode-escapes": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", @@ -1142,6 +1162,17 @@ "resolved": "https://registry.npmjs.org/@babel/preset-stage-2/-/preset-stage-2-7.8.3.tgz", "integrity": "sha512-dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==" }, + "@babel/preset-typescript": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" + } + }, "@babel/runtime": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", diff --git a/client/package.json b/client/package.json index 0836a38c..eb328a55 100644 --- a/client/package.json +++ b/client/package.json @@ -119,6 +119,7 @@ "not ie <= 8" ], "devDependencies": { + "@babel/preset-typescript": "^7.16.7", "@typescript-eslint/eslint-plugin": "^5.10.0", "@typescript-eslint/parser": "^5.10.0", "@vue/test-utils": "^1.3.0", diff --git a/client/tests/unit/immutable-operations.spec.js b/client/tests/unit/immutable-operations.spec.js index 79c69a8a..820d73ac 100644 --- a/client/tests/unit/immutable-operations.spec.js +++ b/client/tests/unit/immutable-operations.spec.js @@ -5,7 +5,7 @@ import { removeAtIndex, replaceAtIndex, swapElements, -} from '@/graphql/immutable-operations'; +} from '@/graphql/immutable-operations.ts'; describe('Cache operations', () => { it('removes at index', () => {