From 7a9e0d02c5736fef110ba7732d24d9940fff8caf Mon Sep 17 00:00:00 2001 From: Jan Klaas Kollhof Date: Tue, 21 Apr 2020 22:00:13 +0200 Subject: [PATCH 1/3] feat: upgrade to latest larix remove ident as infix operator BREAKING CHANGE: remove ident as infix operator --- jest.config.js | 2 +- package-lock.json | 829 +++++++++++----------- package.json | 8 +- src/index.test.fnk | 2 +- src/js/do-expression.fnk | 78 +- src/lang/assignment/index.fnk | 8 +- src/lang/assignment/index.test.fnk | 2 +- src/lang/async/index.test.fnk | 4 +- src/lang/call/call.test.fnk | 4 +- src/lang/call/pipe.test.fnk | 2 +- src/lang/comments/index.test.fnk | 2 +- src/lang/conditionals/attempt.test.fnk | 2 +- src/lang/conditionals/match.fnk | 8 +- src/lang/conditionals/match.test.fnk | 17 +- src/lang/conditionals/match.test.fnk.snap | 32 + src/lang/func/index.test.fnk | 2 +- src/lang/generic/binary.test.fnk | 2 +- src/lang/generic/index.fnk | 2 - src/lang/generic/infix.fnk | 12 - src/lang/generic/infix.test.fnk | 14 - src/lang/generic/infix.test.fnk.snap | 11 - src/lang/identifier/index.test.fnk | 2 +- src/lang/iterable/filter.test.fnk | 2 +- src/lang/iterable/find.test.fnk | 6 +- src/lang/iterable/fold.test.fnk | 2 +- src/lang/iterable/map.test.fnk | 2 +- src/lang/iterable/unfold.test.fnk | 2 +- src/lang/iterable/while.test.fnk | 2 +- src/lang/js-compat/new.test.fnk | 2 +- src/lang/js-compat/throw.test.fnk | 2 +- src/lang/jsx/index.fnk | 2 +- src/lang/jsx/index.test.fnk | 2 +- src/lang/literals/array.test.fnk | 2 +- src/lang/literals/number.test.fnk | 2 +- src/lang/literals/object.test.fnk | 10 +- src/lang/literals/object.test.fnk.snap | 5 +- src/lang/literals/regex.test.fnk | 2 +- src/lang/literals/string.test.fnk | 2 +- src/lang/logical/index.test.fnk | 2 +- src/lang/module/import.test.fnk | 2 +- src/lang/module/index.test.fnk | 2 +- src/lang/partial/index.test.fnk | 2 +- src/lang/prop-access/index.test.fnk | 2 +- src/testing/jest.fnk | 21 - 44 files changed, 544 insertions(+), 579 deletions(-) delete mode 100644 src/lang/generic/infix.fnk delete mode 100644 src/lang/generic/infix.test.fnk delete mode 100644 src/lang/generic/infix.test.fnk.snap delete mode 100644 src/testing/jest.fnk diff --git a/jest.config.js b/jest.config.js index 81e20de..ed1becf 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,7 +5,7 @@ module.exports = { moduleFileExtensions: ['js', 'fnk'], transform: { '^.+\\.js$': 'babel-jest', - '^.+\\.fnk$': ['@fink/jest'] + '^.+\\.fnk$': ['@fink/jest/transform'] }, transformIgnorePatterns: ['/node_modules/', '/build/'], diff --git a/package-lock.json b/package-lock.json index a8d69e4..7a1f360 100644 --- a/package-lock.json +++ b/package-lock.json @@ -370,39 +370,37 @@ } }, "@fink/cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@fink/cli/-/cli-2.3.0.tgz", - "integrity": "sha512-eXaMzLcjd7MbcIKIPhhBiFhroh6oUCpBVfss746YD0qwFCx7Fr3FccHjk3444xzn5eGtuqq1G8MqzlgZnyAvTA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@fink/cli/-/cli-3.0.0.tgz", + "integrity": "sha512-QRKRkuSajpCb4jaF7Vg6ZkqFBOsCdVaGsKwkwDGA6pJFPskup76y26fo8lwzFWitVL0G4qEJ3yGXoEQJSSND6g==", "dev": true, "requires": { - "@fink/larix": "^4.6.1", - "@fink/loxia": "^4.6.1", "minimatch": "^3.0.4", "yargs": "^15.3.1" } }, "@fink/jest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fink/jest/-/jest-1.1.0.tgz", - "integrity": "sha512-jKLyNpHcbFqT1SR1eZUfDOE36q/VQ9EPQgNiAZBXix79tVqwyKmyeRK1hGQvJBoyNYBTeMz9PbcawF0jyhy4IQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fink/jest/-/jest-2.0.0.tgz", + "integrity": "sha512-ZDBvLnOT40etJykMgopF3ZdqvliivXi183NB51YaK1xPMKnT3n9VMNt23LkfJ56Xunu0hKZ3n17zvQlZ5tszSg==", "dev": true, "requires": { - "@babel/core": "^7.8.6" + "@babel/core": "^7.9.0" } }, "@fink/larix": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@fink/larix/-/larix-4.10.0.tgz", - "integrity": "sha512-GHV/lmCVZ/mtL1jNp8KIY3mMRbbu581trsF5alqUgKeP8wAx35+hSp3elXBf4xw/21hm9EyqEFO7aj7Dtcq3Ag==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@fink/larix/-/larix-6.0.3.tgz", + "integrity": "sha512-NHXTeOtTGDW3pd0LBOzOqbVv+g7xgJeRpmUdEpcuPU548VZbhC+TfJZacuk9obReF4ayKCv/xM5PPwG2IT+1HA==", "dev": true, "requires": { - "@fink/prattler": "^2.0.0" + "@fink/prattler": "^3.0.1" } }, "@fink/loxia": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.10.0.tgz", - "integrity": "sha512-OhhBp7eyj0ejhkg4gRSTO4IAtvdBEWieoVG/mlz0n1ChJ3gEG6wxnvyomNIhSEvQLA85TdcSHXPil+4MgWsFUg==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@fink/loxia/-/loxia-4.11.0.tgz", + "integrity": "sha512-bjmtABKMFmQwWjwWUPBfK86RM8iq8k7AkC5l9mTv6mBt1aIfm1nyVSLqa1QdyOFFVU+Gl17QXNg6YvNTyy6SoQ==", "dev": true, "requires": { "@babel/generator": "^7.9.5", @@ -411,9 +409,9 @@ } }, "@fink/prattler": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fink/prattler/-/prattler-2.0.0.tgz", - "integrity": "sha512-OjGBporefcgJjGSgWPv9YNQO8KhU33KZWqhTs0+QlUlEfCKc2eIl81kfz1+pDgoDsqsWgY81guWZXKsNEYdD7A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@fink/prattler/-/prattler-3.0.1.tgz", + "integrity": "sha512-0d8zLZEC25ve0AEgGHf+Zb4CyCOfqN4bVI7YgP9LpCsEwdrzPDcoo0hY4fJ6ZxP7t/fkEF1nzwIbhlmoW8PERA==", "dev": true, "requires": { "@fink/snippet": "^1.0.1" @@ -444,14 +442,15 @@ "dev": true }, "@jest/console": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.3.0.tgz", - "integrity": "sha512-LvSDNqpmZIZyweFaEQ6wKY7CbexPitlsLHGJtcooNECo0An/w49rFhjCJzu6efeb6+a3ee946xss1Jcd9r03UQ==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.4.0.tgz", + "integrity": "sha512-CfE0erx4hdJ6t7RzAcE1wLG6ZzsHSmybvIBQDoCkDM1QaSeWL9wJMzID/2BbHHa7ll9SsbbK43HjbERbBaFX2A==", "dev": true, "requires": { - "@jest/source-map": "^25.2.6", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", - "jest-util": "^25.3.0", + "jest-message-util": "^25.4.0", + "jest-util": "^25.4.0", "slash": "^3.0.0" }, "dependencies": { @@ -508,33 +507,33 @@ } }, "@jest/core": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.3.0.tgz", - "integrity": "sha512-+D5a/tFf6pA/Gqft2DLBp/yeSRgXhlJ+Wpst0X/ZkfTRP54qDR3C61VfHwaex+GzZBiTcE9vQeoZ2v5T10+Mqw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.4.0.tgz", + "integrity": "sha512-h1x9WSVV0+TKVtATGjyQIMJENs8aF6eUjnCoi4jyRemYZmekLr8EJOGQqTWEX8W6SbZ6Skesy9pGXrKeAolUJw==", "dev": true, "requires": { - "@jest/console": "^25.3.0", - "@jest/reporters": "^25.3.0", - "@jest/test-result": "^25.3.0", - "@jest/transform": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/console": "^25.4.0", + "@jest/reporters": "^25.4.0", + "@jest/test-result": "^25.4.0", + "@jest/transform": "^25.4.0", + "@jest/types": "^25.4.0", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-changed-files": "^25.3.0", - "jest-config": "^25.3.0", - "jest-haste-map": "^25.3.0", - "jest-message-util": "^25.3.0", + "jest-changed-files": "^25.4.0", + "jest-config": "^25.4.0", + "jest-haste-map": "^25.4.0", + "jest-message-util": "^25.4.0", "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.3.0", - "jest-resolve-dependencies": "^25.3.0", - "jest-runner": "^25.3.0", - "jest-runtime": "^25.3.0", - "jest-snapshot": "^25.3.0", - "jest-util": "^25.3.0", - "jest-validate": "^25.3.0", - "jest-watcher": "^25.3.0", + "jest-resolve": "^25.4.0", + "jest-resolve-dependencies": "^25.4.0", + "jest-runner": "^25.4.0", + "jest-runtime": "^25.4.0", + "jest-snapshot": "^25.4.0", + "jest-util": "^25.4.0", + "jest-validate": "^25.4.0", + "jest-watcher": "^25.4.0", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -644,44 +643,50 @@ "requires": { "is-number": "^7.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, "@jest/environment": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.3.0.tgz", - "integrity": "sha512-vgooqwJTHLLak4fE+TaCGeYP7Tz1Y3CKOsNxR1sE0V3nx3KRUHn3NUnt+wbcfd5yQWKZQKAfW6wqbuwQLrXo3g==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.4.0.tgz", + "integrity": "sha512-KDctiak4mu7b4J6BIoN/+LUL3pscBzoUCP+EtSPd2tK9fqyDY5OF+CmkBywkFWezS9tyH5ACOQNtpjtueEDH6Q==", "dev": true, "requires": { - "@jest/fake-timers": "^25.3.0", - "@jest/types": "^25.3.0", - "jest-mock": "^25.3.0" + "@jest/fake-timers": "^25.4.0", + "@jest/types": "^25.4.0", + "jest-mock": "^25.4.0" } }, "@jest/fake-timers": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.3.0.tgz", - "integrity": "sha512-NHAj7WbsyR3qBJPpBwSwqaq2WluIvUQsyzpJTN7XDVk7VnlC/y1BAnaYZL3vbPIP8Nhm0Ae5DJe0KExr/SdMJQ==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.4.0.tgz", + "integrity": "sha512-lI9z+VOmVX4dPPFzyj0vm+UtaB8dCJJ852lcDnY0uCPRvZAaVGnMwBBc1wxtf+h7Vz6KszoOvKAt4QijDnHDkg==", "dev": true, "requires": { - "@jest/types": "^25.3.0", - "jest-message-util": "^25.3.0", - "jest-mock": "^25.3.0", - "jest-util": "^25.3.0", + "@jest/types": "^25.4.0", + "jest-message-util": "^25.4.0", + "jest-mock": "^25.4.0", + "jest-util": "^25.4.0", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.3.0.tgz", - "integrity": "sha512-1u0ZBygs0C9DhdYgLCrRfZfNKQa+9+J7Uo+Z9z0RWLHzgsxhoG32lrmMOtUw48yR6bLNELdvzormwUqSk4H4Vg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.4.0.tgz", + "integrity": "sha512-bhx/buYbZgLZm4JWLcRJ/q9Gvmd3oUh7k2V7gA4ZYBx6J28pIuykIouclRdiAC6eGVX1uRZT+GK4CQJLd/PwPg==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.3.0", - "@jest/test-result": "^25.3.0", - "@jest/transform": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/console": "^25.4.0", + "@jest/test-result": "^25.4.0", + "@jest/transform": "^25.4.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -691,16 +696,16 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.3.0", - "jest-resolve": "^25.3.0", - "jest-util": "^25.3.0", - "jest-worker": "^25.2.6", + "jest-haste-map": "^25.4.0", + "jest-resolve": "^25.4.0", + "jest-util": "^25.4.0", + "jest-worker": "^25.4.0", "node-notifier": "^6.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^3.1.0", "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.0.1" + "v8-to-istanbul": "^4.1.3" }, "dependencies": { "ansi-styles": { @@ -781,45 +786,45 @@ } }, "@jest/test-result": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.3.0.tgz", - "integrity": "sha512-mqrGuiiPXl1ap09Mydg4O782F3ouDQfsKqtQzIjitpwv3t1cHDwCto21jThw6WRRE+dKcWQvLG70GpyLJICfGw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.4.0.tgz", + "integrity": "sha512-8BAKPaMCHlL941eyfqhWbmp3MebtzywlxzV+qtngQ3FH+RBqnoSAhNEPj4MG7d2NVUrMOVfrwuzGpVIK+QnMAA==", "dev": true, "requires": { - "@jest/console": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/console": "^25.4.0", + "@jest/types": "^25.4.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.3.0.tgz", - "integrity": "sha512-Xvns3xbji7JCvVcDGvqJ/pf4IpmohPODumoPEZJ0/VgC5gI4XaNVIBET2Dq5Czu6Gk3xFcmhtthh/MBOTljdNg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.4.0.tgz", + "integrity": "sha512-240cI+nsM3attx2bMp9uGjjHrwrpvxxrZi8Tyqp/cfOzl98oZXVakXBgxODGyBYAy/UGXPKXLvNc2GaqItrsJg==", "dev": true, "requires": { - "@jest/test-result": "^25.3.0", - "jest-haste-map": "^25.3.0", - "jest-runner": "^25.3.0", - "jest-runtime": "^25.3.0" + "@jest/test-result": "^25.4.0", + "jest-haste-map": "^25.4.0", + "jest-runner": "^25.4.0", + "jest-runtime": "^25.4.0" } }, "@jest/transform": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.3.0.tgz", - "integrity": "sha512-W01p8kTDvvEX6kd0tJc7Y5VdYyFaKwNWy1HQz6Jqlhu48z/8Gxp+yFCDVj+H8Rc7ezl3Mg0hDaGuFVkmHOqirg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.4.0.tgz", + "integrity": "sha512-t1w2S6V1sk++1HHsxboWxPEuSpN8pxEvNrZN+Ud/knkROWtf8LeUmz73A4ezE8476a5AM00IZr9a8FO9x1+j3g==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.3", - "jest-haste-map": "^25.3.0", + "jest-haste-map": "^25.4.0", "jest-regex-util": "^25.2.6", - "jest-util": "^25.3.0", + "jest-util": "^25.4.0", "micromatch": "^4.0.2", "pirates": "^4.0.1", "realpath-native": "^2.0.0", @@ -930,9 +935,9 @@ } }, "@jest/types": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.3.0.tgz", - "integrity": "sha512-UkaDNewdqXAmCDbN2GlUM6amDKS78eCqiw/UmF5nE0mmLTd6moJkiZJML/X52Ke3LH7Swhw883IRXq8o9nWjVw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.4.0.tgz", + "integrity": "sha512-XBeaWNzw2PPnGW5aXvZt3+VO60M+34RY3XDsCK5tW7kyj3RK0XClRutCfjqcBuaR2aBQTbluEDME9b5MB9UAPw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -1029,26 +1034,26 @@ } }, "@octokit/core": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.4.3.tgz", - "integrity": "sha512-9T91nYeBB7+PNK3oxOuA+6DXCPRvhJ80ke+NqhXirBjVtNepTKFJXoWPqguRSBQ+dkEVA8dZJMxfFzjz9yhiuA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.0.tgz", + "integrity": "sha512-uvzmkemQrBgD8xuGbjhxzJN1darJk9L2cS+M99cHrDG2jlSVpxNJVhoV86cXdYBqdHCc9Z995uLCczaaHIYA6Q==", "dev": true, "requires": { "@octokit/auth-token": "^2.4.0", "@octokit/graphql": "^4.3.1", - "@octokit/request": "^5.3.1", + "@octokit/request": "^5.4.0", "@octokit/types": "^2.0.0", "before-after-hook": "^2.1.0", "universal-user-agent": "^5.0.0" } }, "@octokit/endpoint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.0.tgz", - "integrity": "sha512-3nx+MEYoZeD0uJ+7F/gvELLvQJzLXhep2Az0bBSXagbApDvDW0LWwpnAIY/hb0Jwe17A0fJdz0O12dPh05cj7A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.1.tgz", + "integrity": "sha512-pOPHaSz57SFT/m3R5P8MUu4wLPszokn5pXcB/pzavLTQf2jbU+6iayTvzaY6/BiotuRS0qyEUkx3QglT4U958A==", "dev": true, "requires": { - "@octokit/types": "^2.0.0", + "@octokit/types": "^2.11.1", "is-plain-object": "^3.0.0", "universal-user-agent": "^5.0.0" }, @@ -1093,12 +1098,12 @@ } }, "@octokit/plugin-paginate-rest": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.0.2.tgz", - "integrity": "sha512-HzODcSUt9mjErly26TlTOGZrhf9bmF/FEDQ2zln1izhgmIV6ulsjsHmgmR4VZ0wzVr/m52Eb6U2XuyS8fkcR1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.1.0.tgz", + "integrity": "sha512-7+/7urDH8cy6DmTwkewysf7/Or9dFtwZK7aQOc/IImjyeHJy+C8CEKOPo7L5Qb+66HyAr/4p/zV76LMVMuiRtA==", "dev": true, "requires": { - "@octokit/types": "^2.0.1" + "@octokit/types": "^2.9.0" } }, "@octokit/plugin-request-log": { @@ -1108,24 +1113,24 @@ "dev": true }, "@octokit/plugin-rest-endpoint-methods": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.5.1.tgz", - "integrity": "sha512-MBB4IKIbSUAc+novVCN6eAiP3i7tNzCfYxt7mW0j9hJ3rW88ng6MnJm6F235GAaAvwdHOjN+3AfRnIV1kE0/5Q==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.7.1.tgz", + "integrity": "sha512-YOlcE3bbk2ohaOVdRj9ww7AUYfmnS9hwJJGSj3/rFlNfMGOId4G8dLlhghXpdNSn05H0FRoI94UlFUKnn30Cyw==", "dev": true, "requires": { - "@octokit/types": "^2.0.1", + "@octokit/types": "^2.11.1", "deprecation": "^2.3.1" } }, "@octokit/request": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.4.tgz", - "integrity": "sha512-qyj8G8BxQyXjt9Xu6NvfvOr1E0l35lsXtwm3SopsYg/JWXjlsnwqLc8rsD2OLguEL/JjLfBvrXr4az7z8Lch2A==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.2.tgz", + "integrity": "sha512-zKdnGuQ2TQ2vFk9VU8awFT4+EYf92Z/v3OlzRaSh4RIP0H6cvW1BFPXq4XYvNez+TPQjqN+0uSkCYnMFFhcFrw==", "dev": true, "requires": { - "@octokit/endpoint": "^6.0.0", + "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", - "@octokit/types": "^2.0.0", + "@octokit/types": "^2.11.1", "deprecation": "^2.0.0", "is-plain-object": "^3.0.0", "node-fetch": "^2.3.0", @@ -1162,21 +1167,21 @@ } }, "@octokit/rest": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.2.0.tgz", - "integrity": "sha512-/r1yhGaGFCz/oghBkWKWQY36hpC1mG3ouAW6JHKgPzqOND02eZ1ZG+mJ98Ww3iq3SrFzyNHDAoyT7Er7iuut5A==", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.5.1.tgz", + "integrity": "sha512-0rGY7eo0cw8FYX7jAtUgfy3j+05zhs9JvkPFegx00HAaayodM1ixlHhCOB5yirGbsVOxbRIWVkvKc2yY9367gg==", "dev": true, "requires": { "@octokit/core": "^2.4.3", - "@octokit/plugin-paginate-rest": "^2.0.0", + "@octokit/plugin-paginate-rest": "^2.1.0", "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.5.1" + "@octokit/plugin-rest-endpoint-methods": "3.7.1" } }, "@octokit/types": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.8.1.tgz", - "integrity": "sha512-1fzZcYTvPkrJsS9MX7oTMun447Q/tJo5XOtXQsKqmbTbwQV1f+R58pDmjDbzeFbQ7KzMJaDN7Sq4bCh/WHmgLg==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.11.1.tgz", + "integrity": "sha512-QaLoLkmFdfoNbk3eOzPv7vKrUY0nRJIYmZDoz/pTer4ICpqu80aSQTVHnnUxEFuURCiidig76CcxUOYC/bY3RQ==", "dev": true, "requires": { "@types/node": ">= 8" @@ -1412,36 +1417,12 @@ "mimic-fn": "^2.1.0" } }, - "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, "registry-auth-token": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", @@ -1452,9 +1433,9 @@ } }, "semver": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz", - "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "shebang-command": { @@ -1472,12 +1453,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - }, "universalify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", @@ -1534,9 +1509,9 @@ } }, "@tootallnate/once": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.0.0.tgz", - "integrity": "sha512-KYyTT/T6ALPkIRd2Ge080X/BsXvy9O0hcWTtMWkPvwAwF99+vn6Dv4GzrFT/Nn1LePr+FFDbRXXlqmsy9lw2zA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.1.tgz", + "integrity": "sha512-8foiU77JL9wR2yPZwecqN2YdJp/olC4CBVEaHdWWlz5rMQZcVEA3aXxlbfbUACVVxVwtTle3eYSnpBeKvIYcIg==", "dev": true }, "@types/babel__core": { @@ -1612,9 +1587,9 @@ } }, "@types/node": { - "version": "13.11.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.11.1.tgz", - "integrity": "sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g==", + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.1.tgz", + "integrity": "sha512-uysqysLJ+As9jqI5yqjwP3QJrhOcUwBjHUlUxPxjbplwKoILvXVsmYWEhfmAQlrPfbRZmhJB007o4L9sKqtHqQ==", "dev": true }, "@types/normalize-package-data": { @@ -1736,9 +1711,9 @@ } }, "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -1952,16 +1927,16 @@ "dev": true }, "babel-jest": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.3.0.tgz", - "integrity": "sha512-qiXeX1Cmw4JZ5yQ4H57WpkO0MZ61Qj+YnsVUwAMnDV5ls+yHon11XjarDdgP7H8lTmiEi6biiZA8y3Tmvx6pCg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.4.0.tgz", + "integrity": "sha512-p+epx4K0ypmHuCnd8BapfyOwWwosNCYhedetQey1awddtfmEX0MmdxctGl956uwUmjwXR5VSS5xJcGX9DvdIog==", "dev": true, "requires": { - "@jest/transform": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/transform": "^25.4.0", + "@jest/types": "^25.4.0", "@types/babel__core": "^7.1.7", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.3.0", + "babel-preset-jest": "^25.4.0", "chalk": "^3.0.0", "slash": "^3.0.0" }, @@ -2032,9 +2007,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz", - "integrity": "sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.4.0.tgz", + "integrity": "sha512-M3a10JCtTyKevb0MjuH6tU+cP/NVQZ82QPADqI1RQYY1OphztsCeIeQmTsHmF/NS6m0E51Zl4QNsI3odXSQF5w==", "dev": true, "requires": { "@types/babel__traverse": "^7.0.6" @@ -2059,12 +2034,12 @@ } }, "babel-preset-jest": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.3.0.tgz", - "integrity": "sha512-tjdvLKNMwDI9r+QWz9sZUQGTq1dpoxjUqFUpEasAc7MOtHg9XuLT2fx0udFG+k1nvMV0WvHHVAN7VmCZ+1Zxbw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.4.0.tgz", + "integrity": "sha512-PwFiEWflHdu3JCeTr0Pb9NcHHE34qWFnPQRVPvqQITx4CsDCzs6o05923I10XvLvn9nNsRHuiVgB72wG/90ZHQ==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^25.2.6", + "babel-plugin-jest-hoist": "^25.4.0", "babel-preset-current-node-syntax": "^0.1.2" } }, @@ -2488,9 +2463,9 @@ } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "cliui": { @@ -3390,16 +3365,16 @@ } }, "expect": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.3.0.tgz", - "integrity": "sha512-buboTXML2h/L0Kh44Ys2Cx49mX20ISc5KDirkxIs3Q9AJv0kazweUAbukegr+nHDOvFRKmxdojjIHCjqAceYfg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.4.0.tgz", + "integrity": "sha512-7BDIX99BTi12/sNGJXA9KMRcby4iAmu1xccBOhyKCyEhjcVKS3hPmHdA/4nSI9QGIOkUropKqr3vv7WMDM5lvQ==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.3.0", - "jest-message-util": "^25.3.0", + "jest-matcher-utils": "^25.4.0", + "jest-message-util": "^25.4.0", "jest-regex-util": "^25.2.6" }, "dependencies": { @@ -4688,12 +4663,12 @@ "dev": true }, "jest-changed-files": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.3.0.tgz", - "integrity": "sha512-eqd5hyLbUjIVvLlJ3vQ/MoPxsxfESVXG9gvU19XXjKzxr+dXmZIqCXiY0OiYaibwlHZBJl2Vebkc0ADEMzCXew==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.4.0.tgz", + "integrity": "sha512-VR/rfJsEs4BVMkwOTuStRyS630fidFVekdw/lBaBQjx9KK3VZFOZ2c0fsom2fRp8pMCrCTP6LGna00o/DXGlqA==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "execa": "^3.2.0", "throat": "^5.0.0" }, @@ -4805,21 +4780,21 @@ } }, "jest-cli": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.3.0.tgz", - "integrity": "sha512-XpNQPlW1tzpP7RGG8dxpkRegYDuLjzSiENu92+CYM87nEbmEPb3b4+yo8xcsHOnj0AG7DUt9b3uG8LuHI3MDzw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.4.0.tgz", + "integrity": "sha512-usyrj1lzCJZMRN1r3QEdnn8e6E6yCx/QN7+B1sLoA68V7f3WlsxSSQfy0+BAwRiF4Hz2eHauf11GZG3PIfWTXQ==", "dev": true, "requires": { - "@jest/core": "^25.3.0", - "@jest/test-result": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/core": "^25.4.0", + "@jest/test-result": "^25.4.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.3.0", - "jest-util": "^25.3.0", - "jest-validate": "^25.3.0", + "jest-config": "^25.4.0", + "jest-util": "^25.4.0", + "jest-validate": "^25.4.0", "prompts": "^2.0.1", "realpath-native": "^2.0.0", "yargs": "^15.3.1" @@ -4878,28 +4853,28 @@ } }, "jest-config": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.3.0.tgz", - "integrity": "sha512-CmF1JnNWFmoCSPC4tnU52wnVBpuxHjilA40qH/03IHxIevkjUInSMwaDeE6ACfxMPTLidBGBCO3EbxvzPbo8wA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.4.0.tgz", + "integrity": "sha512-egT9aKYxMyMSQV1aqTgam0SkI5/I2P9qrKexN5r2uuM2+68ypnc+zPGmfUxK7p1UhE7dYH9SLBS7yb+TtmT1AA==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.3.0", - "@jest/types": "^25.3.0", - "babel-jest": "^25.3.0", + "@jest/test-sequencer": "^25.4.0", + "@jest/types": "^25.4.0", + "babel-jest": "^25.4.0", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.3.0", - "jest-environment-node": "^25.3.0", + "jest-environment-jsdom": "^25.4.0", + "jest-environment-node": "^25.4.0", "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.3.0", + "jest-jasmine2": "^25.4.0", "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.3.0", - "jest-util": "^25.3.0", - "jest-validate": "^25.3.0", + "jest-resolve": "^25.4.0", + "jest-util": "^25.4.0", + "jest-validate": "^25.4.0", "micromatch": "^4.0.2", - "pretty-format": "^25.3.0", + "pretty-format": "^25.4.0", "realpath-native": "^2.0.0" }, "dependencies": { @@ -4999,15 +4974,15 @@ } }, "jest-diff": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.3.0.tgz", - "integrity": "sha512-vyvs6RPoVdiwARwY4kqFWd4PirPLm2dmmkNzKqo38uZOzJvLee87yzDjIZLmY1SjM3XR5DwsUH+cdQ12vgqi1w==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.4.0.tgz", + "integrity": "sha512-kklLbJVXW0y8UKOWOdYhI6TH5MG6QAxrWiBMgQaPIuhj3dNFGirKCd+/xfplBXICQ7fI+3QcqHm9p9lWu1N6ug==", "dev": true, "requires": { "chalk": "^3.0.0", "diff-sequences": "^25.2.6", "jest-get-type": "^25.2.6", - "pretty-format": "^25.3.0" + "pretty-format": "^25.4.0" }, "dependencies": { "ansi-styles": { @@ -5072,16 +5047,16 @@ } }, "jest-each": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.3.0.tgz", - "integrity": "sha512-aBfS4VOf/Qs95yUlX6d6WBv0szvOcTkTTyCIaLuQGj4bSHsT+Wd9dDngVHrCe5uytxpN8VM+NAloI6nbPjXfXw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.4.0.tgz", + "integrity": "sha512-lwRIJ8/vQU/6vq3nnSSUw1Y3nz5tkYSFIywGCZpUBd6WcRgpn8NmJoQICojbpZmsJOJNHm0BKdyuJ6Xdx+eDQQ==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "jest-get-type": "^25.2.6", - "jest-util": "^25.3.0", - "pretty-format": "^25.3.0" + "jest-util": "^25.4.0", + "pretty-format": "^25.4.0" }, "dependencies": { "ansi-styles": { @@ -5137,30 +5112,30 @@ } }, "jest-environment-jsdom": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.3.0.tgz", - "integrity": "sha512-jdE4bQN+k2QEZ9sWOxsqDJvMzbdFSCN/4tw8X0TQaCqyzKz58PyEf41oIr4WO7ERdp7WaJGBSUKF7imR3UW1lg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.4.0.tgz", + "integrity": "sha512-KTitVGMDrn2+pt7aZ8/yUTuS333w3pWt1Mf88vMntw7ZSBNDkRS6/4XLbFpWXYfWfp1FjcjQTOKzbK20oIehWQ==", "dev": true, "requires": { - "@jest/environment": "^25.3.0", - "@jest/fake-timers": "^25.3.0", - "@jest/types": "^25.3.0", - "jest-mock": "^25.3.0", - "jest-util": "^25.3.0", + "@jest/environment": "^25.4.0", + "@jest/fake-timers": "^25.4.0", + "@jest/types": "^25.4.0", + "jest-mock": "^25.4.0", + "jest-util": "^25.4.0", "jsdom": "^15.2.1" } }, "jest-environment-node": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.3.0.tgz", - "integrity": "sha512-XO09S29Nx1NU7TiMPHMoDIkxoGBuKSTbE+sHp0gXbeLDXhIdhysUI25kOqFFSD9AuDgvPvxWCXrvNqiFsOH33g==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.4.0.tgz", + "integrity": "sha512-wryZ18vsxEAKFH7Z74zi/y/SyI1j6UkVZ6QsllBuT/bWlahNfQjLNwFsgh/5u7O957dYFoXj4yfma4n4X6kU9A==", "dev": true, "requires": { - "@jest/environment": "^25.3.0", - "@jest/fake-timers": "^25.3.0", - "@jest/types": "^25.3.0", - "jest-mock": "^25.3.0", - "jest-util": "^25.3.0", + "@jest/environment": "^25.4.0", + "@jest/fake-timers": "^25.4.0", + "@jest/types": "^25.4.0", + "jest-mock": "^25.4.0", + "jest-util": "^25.4.0", "semver": "^6.3.0" }, "dependencies": { @@ -5179,19 +5154,19 @@ "dev": true }, "jest-haste-map": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.3.0.tgz", - "integrity": "sha512-LjXaRa+F8wwtSxo9G+hHD/Cp63PPQzvaBL9XCVoJD2rrcJO0Zr2+YYzAFWWYJ5GlPUkoaJFJtOuk0sL6MJY80A==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.4.0.tgz", + "integrity": "sha512-5EoCe1gXfGC7jmXbKzqxESrgRcaO3SzWXGCnvp9BcT0CFMyrB1Q6LIsjl9RmvmJGQgW297TCfrdgiy574Rl9HQ==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.1.2", "graceful-fs": "^4.2.3", "jest-serializer": "^25.2.6", - "jest-util": "^25.3.0", - "jest-worker": "^25.2.6", + "jest-util": "^25.4.0", + "jest-worker": "^25.4.0", "micromatch": "^4.0.2", "sane": "^4.0.3", "walker": "^1.0.7", @@ -5253,27 +5228,27 @@ } }, "jest-jasmine2": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.3.0.tgz", - "integrity": "sha512-NCYOGE6+HNzYFSui52SefgpsnIzvxjn6KAgqw66BdRp37xpMD/4kujDHLNW5bS5i53os5TcMn6jYrzQRO8VPrQ==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.4.0.tgz", + "integrity": "sha512-QccxnozujVKYNEhMQ1vREiz859fPN/XklOzfQjm2j9IGytAkUbSwjFRBtQbHaNZ88cItMpw02JnHGsIdfdpwxQ==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.3.0", + "@jest/environment": "^25.4.0", "@jest/source-map": "^25.2.6", - "@jest/test-result": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/test-result": "^25.4.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.3.0", + "expect": "^25.4.0", "is-generator-fn": "^2.0.0", - "jest-each": "^25.3.0", - "jest-matcher-utils": "^25.3.0", - "jest-message-util": "^25.3.0", - "jest-runtime": "^25.3.0", - "jest-snapshot": "^25.3.0", - "jest-util": "^25.3.0", - "pretty-format": "^25.3.0", + "jest-each": "^25.4.0", + "jest-matcher-utils": "^25.4.0", + "jest-message-util": "^25.4.0", + "jest-runtime": "^25.4.0", + "jest-snapshot": "^25.4.0", + "jest-util": "^25.4.0", + "pretty-format": "^25.4.0", "throat": "^5.0.0" }, "dependencies": { @@ -5330,25 +5305,25 @@ } }, "jest-leak-detector": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.3.0.tgz", - "integrity": "sha512-jk7k24dMIfk8LUSQQGN8PyOy9+J0NAfHZWiDmUDYVMctY8FLJQ1eQ8+PjMoN8PgwhLIggUqgYJnyRFvUz3jLRw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.4.0.tgz", + "integrity": "sha512-7Y6Bqfv2xWsB+7w44dvZuLs5SQ//fzhETgOGG7Gq3TTGFdYvAgXGwV8z159RFZ6fXiCPm/szQ90CyfVos9JIFQ==", "dev": true, "requires": { "jest-get-type": "^25.2.6", - "pretty-format": "^25.3.0" + "pretty-format": "^25.4.0" } }, "jest-matcher-utils": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.3.0.tgz", - "integrity": "sha512-ZBUJ2fchNIZt+fyzkuCFBb8SKaU//Rln45augfUtbHaGyVxCO++ANARdBK9oPGXU3hEDgyy7UHnOP/qNOJXFUg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.4.0.tgz", + "integrity": "sha512-yPMdtj7YDgXhnGbc66bowk8AkQ0YwClbbwk3Kzhn5GVDrciiCr27U4NJRbrqXbTdtxjImONITg2LiRIw650k5A==", "dev": true, "requires": { "chalk": "^3.0.0", - "jest-diff": "^25.3.0", + "jest-diff": "^25.4.0", "jest-get-type": "^25.2.6", - "pretty-format": "^25.3.0" + "pretty-format": "^25.4.0" }, "dependencies": { "ansi-styles": { @@ -5404,13 +5379,13 @@ } }, "jest-message-util": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.3.0.tgz", - "integrity": "sha512-5QNy9Id4WxJbRITEbA1T1kem9bk7y2fD0updZMSTNHtbEDnYOGLDPAuFBhFgVmOZpv0n6OMdVkK+WhyXEPCcOw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.4.0.tgz", + "integrity": "sha512-LYY9hRcVGgMeMwmdfh9tTjeux1OjZHMusq/E5f3tJN+dAoVVkJtq5ZUEPIcB7bpxDUt2zjUsrwg0EGgPQ+OhXQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", "micromatch": "^4.0.2", @@ -5514,12 +5489,12 @@ } }, "jest-mock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.3.0.tgz", - "integrity": "sha512-yRn6GbuqB4j3aYu+Z1ezwRiZfp0o9om5uOcBovVtkcRLeBCNP5mT0ysdenUsxAHnQUgGwPOE1wwhtQYe6NKirQ==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.4.0.tgz", + "integrity": "sha512-MdazSfcYAUjJjuVTTnusLPzE0pE4VXpOUzWdj8sbM+q6abUjm3bATVPXFqTXrxSieR8ocpvQ9v/QaQCftioQFg==", "dev": true, "requires": { - "@jest/types": "^25.3.0" + "@jest/types": "^25.4.0" } }, "jest-pnp-resolver": { @@ -5535,17 +5510,19 @@ "dev": true }, "jest-resolve": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.3.0.tgz", - "integrity": "sha512-IHoQAAybulsJ+ZgWis+ekYKDAoFkVH5Nx/znpb41zRtpxj4fr2WNV9iDqavdSm8GIpMlsfZxbC/fV9DhW0q9VQ==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.4.0.tgz", + "integrity": "sha512-wOsKqVDFWUiv8BtLMCC6uAJ/pHZkfFgoBTgPtmYlsprAjkxrr2U++ZnB3l5ykBMd2O24lXvf30SMAjJIW6k2aA==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "browser-resolve": "^1.11.3", "chalk": "^3.0.0", "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", "realpath-native": "^2.0.0", - "resolve": "^1.15.1" + "resolve": "^1.15.1", + "slash": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -5601,39 +5578,39 @@ } }, "jest-resolve-dependencies": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.3.0.tgz", - "integrity": "sha512-bDUlLYmHW+f7J7KgcY2lkq8EMRqKonRl0XoD4Wp5SJkgAxKJnsaIOlrrVNTfXYf+YOu3VCjm/Ac2hPF2nfsCIA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.4.0.tgz", + "integrity": "sha512-A0eoZXx6kLiuG1Ui7wITQPl04HwjLErKIJTt8GR3c7UoDAtzW84JtCrgrJ6Tkw6c6MwHEyAaLk7dEPml5pf48A==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.3.0" + "jest-snapshot": "^25.4.0" } }, "jest-runner": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.3.0.tgz", - "integrity": "sha512-csDqSC9qGHYWDrzrElzEgFbteztFeZJmKhSgY5jlCIcN0+PhActzRNku0DA1Xa1HxGOb0/AfbP1EGJlP4fGPtA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.4.0.tgz", + "integrity": "sha512-wWQSbVgj2e/1chFdMRKZdvlmA6p1IPujhpLT7TKNtCSl1B0PGBGvJjCaiBal/twaU2yfk8VKezHWexM8IliBfA==", "dev": true, "requires": { - "@jest/console": "^25.3.0", - "@jest/environment": "^25.3.0", - "@jest/test-result": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/console": "^25.4.0", + "@jest/environment": "^25.4.0", + "@jest/test-result": "^25.4.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.3.0", + "jest-config": "^25.4.0", "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.3.0", - "jest-jasmine2": "^25.3.0", - "jest-leak-detector": "^25.3.0", - "jest-message-util": "^25.3.0", - "jest-resolve": "^25.3.0", - "jest-runtime": "^25.3.0", - "jest-util": "^25.3.0", - "jest-worker": "^25.2.6", + "jest-haste-map": "^25.4.0", + "jest-jasmine2": "^25.4.0", + "jest-leak-detector": "^25.4.0", + "jest-message-util": "^25.4.0", + "jest-resolve": "^25.4.0", + "jest-runtime": "^25.4.0", + "jest-util": "^25.4.0", + "jest-worker": "^25.4.0", "source-map-support": "^0.5.6", "throat": "^5.0.0" }, @@ -5691,32 +5668,32 @@ } }, "jest-runtime": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.3.0.tgz", - "integrity": "sha512-gn5KYB1wxXRM3nfw8fVpthFu60vxQUCr+ShGq41+ZBFF3DRHZRKj3HDWVAVB4iTNBj2y04QeAo5cZ/boYaPg0w==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.4.0.tgz", + "integrity": "sha512-lgNJlCDULtXu9FumnwCyWlOub8iytijwsPNa30BKrSNtgoT6NUMXOPrZvsH06U6v0wgD/Igwz13nKA2wEKU2VA==", "dev": true, "requires": { - "@jest/console": "^25.3.0", - "@jest/environment": "^25.3.0", + "@jest/console": "^25.4.0", + "@jest/environment": "^25.4.0", "@jest/source-map": "^25.2.6", - "@jest/test-result": "^25.3.0", - "@jest/transform": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/test-result": "^25.4.0", + "@jest/transform": "^25.4.0", + "@jest/types": "^25.4.0", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.3.0", - "jest-haste-map": "^25.3.0", - "jest-message-util": "^25.3.0", - "jest-mock": "^25.3.0", + "jest-config": "^25.4.0", + "jest-haste-map": "^25.4.0", + "jest-message-util": "^25.4.0", + "jest-mock": "^25.4.0", "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.3.0", - "jest-snapshot": "^25.3.0", - "jest-util": "^25.3.0", - "jest-validate": "^25.3.0", + "jest-resolve": "^25.4.0", + "jest-snapshot": "^25.4.0", + "jest-util": "^25.4.0", + "jest-validate": "^25.4.0", "realpath-native": "^2.0.0", "slash": "^3.0.0", "strip-bom": "^4.0.0", @@ -5782,24 +5759,24 @@ "dev": true }, "jest-snapshot": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.3.0.tgz", - "integrity": "sha512-GGpR6Oro2htJPKh5RX4PR1xwo5jCEjtvSPLW1IS7N85y+2bWKbiknHpJJRKSdGXghElb5hWaeQASJI4IiRayGg==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.4.0.tgz", + "integrity": "sha512-J4CJ0X2SaGheYRZdLz9CRHn9jUknVmlks4UBeu270hPAvdsauFXOhx9SQP2JtRzhnR3cvro/9N9KP83/uvFfRg==", "dev": true, "requires": { "@babel/types": "^7.0.0", - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.3.0", - "jest-diff": "^25.3.0", + "expect": "^25.4.0", + "jest-diff": "^25.4.0", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.3.0", - "jest-message-util": "^25.3.0", - "jest-resolve": "^25.3.0", + "jest-matcher-utils": "^25.4.0", + "jest-message-util": "^25.4.0", + "jest-resolve": "^25.4.0", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^25.3.0", + "pretty-format": "^25.4.0", "semver": "^6.3.0" }, "dependencies": { @@ -5862,12 +5839,12 @@ } }, "jest-util": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.3.0.tgz", - "integrity": "sha512-dc625P/KS/CpWTJJJxKc4bA3A6c+PJGBAqS8JTJqx4HqPoKNqXg/Ec8biL2Z1TabwK7E7Ilf0/ukSEXM1VwzNA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.4.0.tgz", + "integrity": "sha512-WSZD59sBtAUjLv1hMeKbNZXmMcrLRWcYqpO8Dz8b4CeCTZpfNQw2q9uwrYAD+BbJoLJlu4ezVPwtAmM/9/SlZA==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "chalk": "^3.0.0", "is-ci": "^2.0.0", "make-dir": "^3.0.0" @@ -5926,17 +5903,17 @@ } }, "jest-validate": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.3.0.tgz", - "integrity": "sha512-3WuXgIZ4HXUvW6gk9twFFkT9j6zUorKnF2oEY8VEsHb7x5LGvVlN3WUsbqazVKuyXwvikO2zFJ/YTySMsMje2w==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.4.0.tgz", + "integrity": "sha512-hvjmes/EFVJSoeP1yOl8qR8mAtMR3ToBkZeXrD/ZS9VxRyWDqQ/E1C5ucMTeSmEOGLipvdlyipiGbHJ+R1MQ0g==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "camelcase": "^5.3.1", "chalk": "^3.0.0", "jest-get-type": "^25.2.6", "leven": "^3.1.0", - "pretty-format": "^25.3.0" + "pretty-format": "^25.4.0" }, "dependencies": { "ansi-styles": { @@ -5992,16 +5969,16 @@ } }, "jest-watcher": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.3.0.tgz", - "integrity": "sha512-dtFkfidFCS9Ucv8azOg2hkiY3sgJEHeTLtGFHS+jfBEE7eRtrO6+2r1BokyDkaG2FOD7485r/SgpC1MFAENfeA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.4.0.tgz", + "integrity": "sha512-36IUfOSRELsKLB7k25j/wutx0aVuHFN6wO94gPNjQtQqFPa2rkOymmx9rM5EzbF3XBZZ2oqD9xbRVoYa2w86gw==", "dev": true, "requires": { - "@jest/test-result": "^25.3.0", - "@jest/types": "^25.3.0", + "@jest/test-result": "^25.4.0", + "@jest/types": "^25.4.0", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", - "jest-util": "^25.3.0", + "jest-util": "^25.4.0", "string-length": "^3.1.0" }, "dependencies": { @@ -6063,13 +6040,19 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, "jest-worker": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz", - "integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.4.0.tgz", + "integrity": "sha512-ghAs/1FtfYpMmYQ0AHqxV62XPvKdUDIBBApMZfly+E9JEmYh2K45G0R5dWxx986RN12pRCxsViwQVtGl+N4whw==", "dev": true, "requires": { "merge-stream": "^2.0.0", @@ -6754,6 +6737,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -6848,6 +6837,17 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, "read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", @@ -11119,12 +11119,12 @@ "dev": true }, "pretty-format": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.3.0.tgz", - "integrity": "sha512-wToHwF8bkQknIcFkBqNfKu4+UZqnrLn/Vr+wwKQwwvPzkBfDDKp/qIabFqdgtoi5PEnM8LFByVsOrHoa3SpTVA==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.4.0.tgz", + "integrity": "sha512-PI/2dpGjXK5HyXexLPZU/jw5T9Q6S1YVXxxVxco+LIqzUFHXIbKZKdUVt7GcX7QUCr31+3fzhi4gN4/wUYPVxQ==", "dev": true, "requires": { - "@jest/types": "^25.3.0", + "@jest/types": "^25.4.0", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -11246,25 +11246,15 @@ "dev": true }, "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "dependencies": { "parse-json": { @@ -11279,34 +11269,25 @@ "lines-and-columns": "^1.1.6" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true } } }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11495,9 +11476,9 @@ "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", + "integrity": "sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -11686,9 +11667,9 @@ } }, "semantic-release": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.0.4.tgz", - "integrity": "sha512-5y9QRSrZtdvACmlpX5DvEVsvFuKRDUVn7JVJFxPVLGrGofDf1d0M/+hA1wFmCjiJZ+VCY8bYaSqVqF14KCF9rw==", + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.0.6.tgz", + "integrity": "sha512-4djSoKUiq8ShAiKEzDKkcrzFyDREFJRMsY/efr/b48dcin2g+s4TsZUTniTg3Zvk+TM9G5rNBKyXfFgVO6wJNA==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^8.0.0", @@ -11715,7 +11696,7 @@ "p-reduce": "^2.0.0", "read-pkg-up": "^7.0.0", "resolve-from": "^5.0.0", - "semver": "^7.1.1", + "semver": "^7.3.2", "semver-diff": "^3.1.1", "signale": "^1.2.1", "yargs": "^15.0.1" @@ -11887,9 +11868,9 @@ "dev": true }, "semver": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz", - "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true }, "semver-diff": { @@ -12203,9 +12184,9 @@ } }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.17.tgz", + "integrity": "sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -12243,9 +12224,9 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { @@ -12610,6 +12591,12 @@ "requires": { "type-fest": "^0.11.0" } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true } } }, @@ -12794,9 +12781,9 @@ "dev": true }, "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true }, "typedarray-to-buffer": { @@ -12809,23 +12796,13 @@ } }, "uglify-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.1.tgz", - "integrity": "sha512-W7KxyzeaQmZvUFbGj4+YFshhVrMBGSg2IbcYAjGWGvx8DHvJMclbTDMpffdxFUGPBHjIytk7KJUR/KUXstUGDw==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz", + "integrity": "sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==", "dev": true, "optional": true, "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } + "commander": "~2.20.3" } }, "union-value": { @@ -13280,12 +13257,12 @@ "dev": true }, "yaml": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.3.tgz", - "integrity": "sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", + "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", "dev": true, "requires": { - "@babel/runtime": "^7.8.7" + "@babel/runtime": "^7.9.2" } }, "yargs": { @@ -13308,9 +13285,9 @@ } }, "yargs-parser": { - "version": "18.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz", - "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", diff --git a/package.json b/package.json index 1247443..e3c26f7 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,10 @@ } }, "devDependencies": { - "@fink/cli": "^2.3.0", - "@fink/jest": "^1.1.0", - "@fink/larix": "^4.10.0", - "@fink/loxia": "^4.10.0", + "@fink/cli": "^3.0.0", + "@fink/jest": "^2.0.0", + "@fink/larix": "^6.0.3", + "@fink/loxia": "^4.11.0", "commitizen": "^4.0.4", "cz-conventional-changelog": "^3.1.0", "jest-cli": "^25.3.0", diff --git a/src/index.test.fnk b/src/index.test.fnk index 3ff28b5..6352b65 100644 --- a/src/index.test.fnk +++ b/src/index.test.fnk @@ -1,6 +1,6 @@ {generate} = import '.' {fink2js} = import './testing' -{describe, it, expect, to_throw} = import './testing/jest' +{describe, it, expect, to_throw} = import '@fink/jest' describe:: 'errors', fn: diff --git a/src/js/do-expression.fnk b/src/js/do-expression.fnk index 501d254..c9b0478 100644 --- a/src/js/do-expression.fnk +++ b/src/js/do-expression.fnk @@ -1,20 +1,40 @@ { - assignmentExpression, returnStatement, callExpression, - arrowFunctionExpression, expressionStatement, + assignmentExpression, returnStatement, expressionStatement, isDoExpression, isBlockStatement, isLabeledStatement, isTryStatement, isVariableDeclarator, isArrowFunctionExpression, isExpressionStatement, - isReturnStatement, isProgram, isIfStatement + isReturnStatement, isIfStatement, arrowFunctionExpression, callExpression } = import '@babel/types' {lets, assign, undef} = import './types' - get_body = fn path: path.get:: 'body' consume_all = fold item, acc=null: null +simple = fn body, sl=false: + match body: + isBlockStatement:: ?: + [stmnt, ...rest] = get_body:: body + + match rest: + {length: 0}: + # e.g. fn arg: match ...: ... + match {sl, stmnt}: + {sl: true, stmnt: isLabeledStatement:: ?}: + stmnt.node.body + # TODO: + # {sl: true, stmnt: isIfStatement:: ?}: + # body.node + else: + simple:: stmnt + else: + body.node + else: + body.node + + last_expressions = fn path: match path: isDoExpression:: ?: @@ -38,11 +58,18 @@ last_expressions = fn path: { LabeledStatement: fn nested_match: nested_match.skip() - , + BreakStatement: fn brk: last = brk.getSibling:: brk.key - 1 - # TODO: don't use mutation - items.push:: last + # TODO: don't add throw expr + match last.node: + {expression: {operator: 'throw'}}: + last.replaceWith:: + expressionStatement:: last.node.expression + brk.remove() + else: + # TODO: don't use mutation + items.push:: last null } items @@ -63,10 +90,8 @@ replace_with_return = fn path: map expr: match expr: {node: {expression: {operator:'throw'}}}: - # no return throw ... expr.replaceWith:: expressionStatement:: expr.node.expression - else: expr.replaceWith:: returnStatement:: expr.node.expression @@ -81,28 +106,6 @@ replace_with_return = fn path: consume_all -simple = fn body, sl=false: - match body: - isBlockStatement:: ?: - [stmnt, ...rest] = get_body:: body - - match rest: - {length: 0}: - # e.g. fn arg: match ...: ... - match {sl, stmnt}: - {sl: true, stmnt: isLabeledStatement:: ?}: - stmnt.node.body - # TODO: - # {sl: true, stmnt: isIfStatement:: ?}: - # body.node - else: - simple:: stmnt - else: - body.node - else: - body.node - - replace_with_assign = fn target, path: id = path.parentPath.scope.generateUidIdentifier:: 'do_result' #TODO: don't mutate @@ -148,16 +151,17 @@ transform_do_expr = fn path: simple:: body, true replace_with_return:: path + else: # e.g. - # { - # foo: - # x = spam - # x + 3 - # } + # fn: + # foo = match: + # spam: + # shrub + # ni + # foo arrow = arrowFunctionExpression:: [], path.node path.replaceWith:: callExpression:: arrow, [] null - diff --git a/src/lang/assignment/index.fnk b/src/lang/assignment/index.fnk index 623f39f..a512a72 100644 --- a/src/lang/assignment/index.fnk +++ b/src/lang/assignment/index.fnk @@ -36,8 +36,12 @@ transform_spread_left = fn {left}, {transform}: else: [before, middle, [...end, expr]] exprs = match before: - {length: 0}: [middle, {type: 'array', exprs: end}] - else: [{type: 'array', exprs: before}, middle, {type: 'array', exprs: end}] + {length: 0}: + # TODO missing loc + [middle, {type: 'array', exprs: end}] + else: + # TODO missing loc + [{type: 'array', exprs: before}, middle, {type: 'array', exprs: end}] transform_left:: transform:: {...left, exprs} diff --git a/src/lang/assignment/index.test.fnk b/src/lang/assignment/index.test.fnk index 5dbb90d..6aa1298 100644 --- a/src/lang/assignment/index.test.fnk +++ b/src/lang/assignment/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'assignment', fn: diff --git a/src/lang/async/index.test.fnk b/src/lang/async/index.test.fnk index 68ca263..c49191c 100644 --- a/src/lang/async/index.test.fnk +++ b/src/lang/async/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'await', fn: @@ -18,7 +18,7 @@ describe:: 'await', fn: a_gen = unfold curr=0: match shrub: spam: await ni(curr) - else : curr + 1 + else: curr + 1 await ni ` diff --git a/src/lang/call/call.test.fnk b/src/lang/call/call.test.fnk index 5a7d45b..6d1f49c 100644 --- a/src/lang/call/call.test.fnk +++ b/src/lang/call/call.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'call', fn: @@ -9,7 +9,7 @@ describe:: 'call', fn: fink2js` call1 = a(ni, x=123, ...x) call2 = a(ni) - call3 = a () + call3 = a() call4 = a(fn x: x*2) ` to_match_snapshot diff --git a/src/lang/call/pipe.test.fnk b/src/lang/call/pipe.test.fnk index 4693e4c..cb98bea 100644 --- a/src/lang/call/pipe.test.fnk +++ b/src/lang/call/pipe.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'pipe', fn: diff --git a/src/lang/comments/index.test.fnk b/src/lang/comments/index.test.fnk index 1519a0e..0293bb8 100644 --- a/src/lang/comments/index.test.fnk +++ b/src/lang/comments/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'comment', fn: diff --git a/src/lang/conditionals/attempt.test.fnk b/src/lang/conditionals/attempt.test.fnk index d13ae76..b2cd1d1 100644 --- a/src/lang/conditionals/attempt.test.fnk +++ b/src/lang/conditionals/attempt.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'attempt', fn: diff --git a/src/lang/conditionals/match.fnk b/src/lang/conditionals/match.fnk index 8352683..289a6d7 100644 --- a/src/lang/conditionals/match.fnk +++ b/src/lang/conditionals/match.fnk @@ -41,9 +41,6 @@ match_props = fn props, emit_result, ctx, cond: [{id, prop}, ...rest] = props value = match prop: - {value: {type: 'block', exprs: {length: 1}}}: - {exprs: [expr]} = prop.value - expr {key: {type: 'spread'}}: prop.key else: @@ -100,7 +97,8 @@ get_array_decl = fn arr, id_elems, right, ctx: map {id, value}: match value: # e.g. empty elems in [,, foo, bar] - null: null + {type: 'empty'}: + null # e.g. spread in [foo, ..., bar] {type: 'spread', right: null}: value @@ -136,7 +134,7 @@ match_array = fn value, arr, emit_result, ctx, cond: filter {value}: match value: # empty elements need no matching - null: false + {type: 'empty'}: false # empty spreads need no matching {type: 'spread', right: null}: false else: true diff --git a/src/lang/conditionals/match.test.fnk b/src/lang/conditionals/match.test.fnk index a3678aa..dba0a1b 100644 --- a/src/lang/conditionals/match.test.fnk +++ b/src/lang/conditionals/match.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, only, expect, to_match_snapshot} = import '@fink/jest' describe:: 'match', fn: @@ -139,3 +139,18 @@ describe:: 'match', fn: [is_foo(?)]: ni ` to_match_snapshot + + + it:: 'compiles do-expr', fn: + expect:: + fink2js` + foo = match bar: + spam: + ni + throw foobar + else: + shrub + throw ni + ` + to_match_snapshot + diff --git a/src/lang/conditionals/match.test.fnk.snap b/src/lang/conditionals/match.test.fnk.snap index a26e41f..e06821d 100644 --- a/src/lang/conditionals/match.test.fnk.snap +++ b/src/lang/conditionals/match.test.fnk.snap @@ -47,6 +47,38 @@ exports[`match compiles 1`] = ` Object.assign(module.exports, {});" `; +exports[`match compiles do-expr 1`] = ` +"let _do_result; + +ˆmatch_2: { + const ˆvalue_1 = bar; + + if (ˆvalue_1 === spam) { + _do_result = (() => { + ni; + throw foobar; + })(); + + break ˆmatch_2; + } + + { + _do_result = (() => { + shrub; + throw ni; + })(); + + break ˆmatch_2; + } +} + +const foo = _do_result; +_do_result = undefined; +Object.assign(module.exports, { + foo +});" +`; + exports[`match compiles nested match 1`] = ` "const test = () => { const ˆvalue_1 = foo; diff --git a/src/lang/func/index.test.fnk b/src/lang/func/index.test.fnk index e626fdf..88a10c8 100644 --- a/src/lang/func/index.test.fnk +++ b/src/lang/func/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'func', fn: diff --git a/src/lang/generic/binary.test.fnk b/src/lang/generic/binary.test.fnk index 54cb9b6..be5c1dd 100644 --- a/src/lang/generic/binary.test.fnk +++ b/src/lang/generic/binary.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'binary', fn: diff --git a/src/lang/generic/index.fnk b/src/lang/generic/index.fnk index 5149301..3c1a995 100644 --- a/src/lang/generic/index.fnk +++ b/src/lang/generic/index.fnk @@ -1,10 +1,8 @@ {add, any} = import '../context' -{transform_inifx} = import './infix' {transform_block} = import '../block' add_generic = fn ctx: pipe ctx: - add:: 'infix', any, transform_inifx add:: 'block', any, transform_block diff --git a/src/lang/generic/infix.fnk b/src/lang/generic/infix.fnk deleted file mode 100644 index c9cc689..0000000 --- a/src/lang/generic/infix.fnk +++ /dev/null @@ -1,12 +0,0 @@ -{callExpression} = import'@babel/types' -{ident} = import '../../js/types' - - -transform_inifx = fn node, {transform}: - left = transform:: node.left - right = transform:: node.right - - callExpression:: - ident:: node.op - [left, right] - diff --git a/src/lang/generic/infix.test.fnk b/src/lang/generic/infix.test.fnk deleted file mode 100644 index 5ef27e9..0000000 --- a/src/lang/generic/infix.test.fnk +++ /dev/null @@ -1,14 +0,0 @@ -{fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' - - -describe:: 'infix operators', fn: - it:: 'compiles', fn: - - expect:: - fink2js` - add = fn a, b: a + b - foo = 123 add 456 - ` - to_match_snapshot - diff --git a/src/lang/generic/infix.test.fnk.snap b/src/lang/generic/infix.test.fnk.snap deleted file mode 100644 index 9724377..0000000 --- a/src/lang/generic/infix.test.fnk.snap +++ /dev/null @@ -1,11 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`infix operators compiles 1`] = ` -"const add = (a, b) => a + b; - -const foo = add(123, 456); -Object.assign(module.exports, { - add, - foo -});" -`; diff --git a/src/lang/identifier/index.test.fnk b/src/lang/identifier/index.test.fnk index 584c75c..b19ff0e 100644 --- a/src/lang/identifier/index.test.fnk +++ b/src/lang/identifier/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'identifiers', fn: diff --git a/src/lang/iterable/filter.test.fnk b/src/lang/iterable/filter.test.fnk index 1d54c88..fba1d39 100644 --- a/src/lang/iterable/filter.test.fnk +++ b/src/lang/iterable/filter.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'filter', fn: diff --git a/src/lang/iterable/find.test.fnk b/src/lang/iterable/find.test.fnk index d821557..215f7ec 100644 --- a/src/lang/iterable/find.test.fnk +++ b/src/lang/iterable/find.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'find', fn: @@ -20,11 +20,11 @@ describe:: 'find', fn: {spam}: shrub else: ni - find [foo , ...bar]: + find [foo, ...bar]: foo_alone = foo && bar.length == 0 foo_alone - find [...foo , bar]: + find [...foo, bar]: bar && foo.length == 0 ` to_match_snapshot diff --git a/src/lang/iterable/fold.test.fnk b/src/lang/iterable/fold.test.fnk index 3544b8f..810cae5 100644 --- a/src/lang/iterable/fold.test.fnk +++ b/src/lang/iterable/fold.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'fold', fn: diff --git a/src/lang/iterable/map.test.fnk b/src/lang/iterable/map.test.fnk index ac471c9..7fd0818 100644 --- a/src/lang/iterable/map.test.fnk +++ b/src/lang/iterable/map.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'map', fn: diff --git a/src/lang/iterable/unfold.test.fnk b/src/lang/iterable/unfold.test.fnk index a838848..5c103f7 100644 --- a/src/lang/iterable/unfold.test.fnk +++ b/src/lang/iterable/unfold.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'unfold', fn: diff --git a/src/lang/iterable/while.test.fnk b/src/lang/iterable/while.test.fnk index e39a4f3..46a241d 100644 --- a/src/lang/iterable/while.test.fnk +++ b/src/lang/iterable/while.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'while', fn: diff --git a/src/lang/js-compat/new.test.fnk b/src/lang/js-compat/new.test.fnk index 01fd676..5431fc0 100644 --- a/src/lang/js-compat/new.test.fnk +++ b/src/lang/js-compat/new.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'new', fn: diff --git a/src/lang/js-compat/throw.test.fnk b/src/lang/js-compat/throw.test.fnk index cc8695f..c858b21 100644 --- a/src/lang/js-compat/throw.test.fnk +++ b/src/lang/js-compat/throw.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'throw', fn: diff --git a/src/lang/jsx/index.fnk b/src/lang/jsx/index.fnk index df03a04..56ec3eb 100644 --- a/src/lang/jsx/index.fnk +++ b/src/lang/jsx/index.fnk @@ -25,7 +25,7 @@ transform_jsx_attr = fn node, {transform}: value = match node.value: null: null - else : transform:: node.value + else: transform:: node.value jsxAttribute:: id, value diff --git a/src/lang/jsx/index.test.fnk b/src/lang/jsx/index.test.fnk index 61c7b05..77e68b3 100644 --- a/src/lang/jsx/index.test.fnk +++ b/src/lang/jsx/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'jsx', fn: diff --git a/src/lang/literals/array.test.fnk b/src/lang/literals/array.test.fnk index 8d71bc6..9cb4904 100644 --- a/src/lang/literals/array.test.fnk +++ b/src/lang/literals/array.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'array', fn: diff --git a/src/lang/literals/number.test.fnk b/src/lang/literals/number.test.fnk index d5c8b76..7a8d087 100644 --- a/src/lang/literals/number.test.fnk +++ b/src/lang/literals/number.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'numbers', fn: diff --git a/src/lang/literals/object.test.fnk b/src/lang/literals/object.test.fnk index 952478a..89849bc 100644 --- a/src/lang/literals/object.test.fnk +++ b/src/lang/literals/object.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'object', fn: @@ -34,17 +34,15 @@ describe:: 'object', fn: it:: 'compiles multiline', fn: expect:: fink2js`obj = { - a: 123, + a: 123 b: 123 && 123 && 1345, - c: fn a, b: 134, + c: fn a, b: 134 - d: - n = a+3 - foo(n) + d: foo:: a + 3 } ` to_match_snapshot diff --git a/src/lang/literals/object.test.fnk.snap b/src/lang/literals/object.test.fnk.snap index 17ba8e3..af01ccb 100644 --- a/src/lang/literals/object.test.fnk.snap +++ b/src/lang/literals/object.test.fnk.snap @@ -83,10 +83,7 @@ exports[`object compiles multiline 1`] = ` \\"a\\": 123, \\"b\\": 123 && 123 && 1345, \\"c\\": (a, b) => 134, - \\"d\\": (() => { - const n = a + 3; - return foo(n); - })() + \\"d\\": foo(a + 3) }; Object.assign(module.exports, { obj diff --git a/src/lang/literals/regex.test.fnk b/src/lang/literals/regex.test.fnk index 310dc14..43d85f9 100644 --- a/src/lang/literals/regex.test.fnk +++ b/src/lang/literals/regex.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'regex', fn: diff --git a/src/lang/literals/string.test.fnk b/src/lang/literals/string.test.fnk index c0a911a..2b53eb0 100644 --- a/src/lang/literals/string.test.fnk +++ b/src/lang/literals/string.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'string', fn: diff --git a/src/lang/logical/index.test.fnk b/src/lang/logical/index.test.fnk index ccbbd30..b37a249 100644 --- a/src/lang/logical/index.test.fnk +++ b/src/lang/logical/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'logical', fn: diff --git a/src/lang/module/import.test.fnk b/src/lang/module/import.test.fnk index 2f40b2e..0fd4260 100644 --- a/src/lang/module/import.test.fnk +++ b/src/lang/module/import.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'import', fn: diff --git a/src/lang/module/index.test.fnk b/src/lang/module/index.test.fnk index f0267bd..eb65c3b 100644 --- a/src/lang/module/index.test.fnk +++ b/src/lang/module/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'module', fn: diff --git a/src/lang/partial/index.test.fnk b/src/lang/partial/index.test.fnk index 87eaf8a..a840b3b 100644 --- a/src/lang/partial/index.test.fnk +++ b/src/lang/partial/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'partial', fn: diff --git a/src/lang/prop-access/index.test.fnk b/src/lang/prop-access/index.test.fnk index 09b11e1..6dcd509 100644 --- a/src/lang/prop-access/index.test.fnk +++ b/src/lang/prop-access/index.test.fnk @@ -1,5 +1,5 @@ {fink2js} = import '../../testing' -{describe, it, expect, to_match_snapshot} = import '../../testing/jest' +{describe, it, expect, to_match_snapshot} = import '@fink/jest' describe:: 'member', fn: diff --git a/src/testing/jest.fnk b/src/testing/jest.fnk deleted file mode 100644 index c719d98..0000000 --- a/src/testing/jest.fnk +++ /dev/null @@ -1,21 +0,0 @@ - -describe = fn descr, tests: - global.describe:: descr, tests - undefined - - -it = fn descr, test: - global.it:: descr, test - undefined - - -to_match_snapshot = fn expect_actual: - expect_actual.toMatchSnapshot() - - -to_throw = fn expected: fn expect_actual: - expect_actual.toThrow:: expected - - -expect = fn actual, expectation: - expectation:: global.expect:: actual From cbfaa20cf232691a1249e9a39f953acaa4ccba42 Mon Sep 17 00:00:00 2001 From: Jan Klaas Kollhof Date: Thu, 23 Apr 2020 11:40:13 +0200 Subject: [PATCH 2/3] fix(ident): allow debugger as ident --- src/js/identifier.fnk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/identifier.fnk b/src/js/identifier.fnk index 34f1fe1..b03e747 100644 --- a/src/js/identifier.fnk +++ b/src/js/identifier.fnk @@ -2,7 +2,7 @@ check_ident = rx/ ^(?!(?: do|if|in|for|let|new|try|var|case|enum|void|with|break|catch|class|const|super|while|yield|delete|export|import|public|return|static|switch| - typeof|default|extends|finally|package|private|continue|debugger|function| + typeof|default|extends|finally|package|private|continue|function| arguments|interface|protected|implements|instanceof )$) [ From 2ec40e26cc5ea1e58e098a748e01d620b8945ccd Mon Sep 17 00:00:00 2001 From: Jan Klaas Kollhof Date: Thu, 23 Apr 2020 11:43:46 +0200 Subject: [PATCH 3/3] test(ident): update tests --- src/lang/identifier/index.test.fnk | 2 +- src/lang/identifier/index.test.fnk.snap | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lang/identifier/index.test.fnk b/src/lang/identifier/index.test.fnk index b19ff0e..27af14c 100644 --- a/src/lang/identifier/index.test.fnk +++ b/src/lang/identifier/index.test.fnk @@ -9,7 +9,7 @@ describe:: 'identifiers', fn: {do, if, in, for, let, new, try, var, case, enum, void} = foobar {with, break, catch, class, const, super, while, yield, delete} = spam {export, import, public, return, static, switch, typeof, default} = ham - {extends, finally, package, private, continue, debugger, function} = ni + {extends, finally, package, private, continue, function} = ni {arguments, interface, protected, implements, instanceof} = nu ` to_match_snapshot diff --git a/src/lang/identifier/index.test.fnk.snap b/src/lang/identifier/index.test.fnk.snap index bc61931..1069ba0 100644 --- a/src/lang/identifier/index.test.fnk.snap +++ b/src/lang/identifier/index.test.fnk.snap @@ -57,7 +57,6 @@ const { \\"package\\": ˆpackage, \\"private\\": ˆprivate, \\"continue\\": ˆcontinue, - \\"debugger\\": ˆdebugger, \\"function\\": ˆfunction } = ni; const {