From b31514d9c69cd6603ef225acd6cf8a2412c42a01 Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Tue, 28 May 2019 00:19:03 +0200 Subject: [PATCH] allow js decorator functions --- .babelrc | 12 +++++------- .eslintrc.json | 5 ++++- package-lock.json | 43 +++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +++ 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/.babelrc b/.babelrc index 352d48a80..857e7ba32 100644 --- a/.babelrc +++ b/.babelrc @@ -1,11 +1,9 @@ { "presets": [ - [ - "@babel/preset-env", - { - "useBuiltIns": "usage" - } - ] + ["@babel/preset-env", { "useBuiltIns": "usage" }] ], - "plugins": ["@babel/plugin-proposal-class-properties"] + "plugins": [ + ["@babel/plugin-proposal-decorators", { "legacy": true }], + ["@babel/plugin-proposal-class-properties", { "loose": true }] + ] } diff --git a/.eslintrc.json b/.eslintrc.json index 8c0382cfa..06d95155c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -13,7 +13,10 @@ }, "parser": "babel-eslint", "parserOptions": { - "ecmaVersion": 2018 + "ecmaVersion": 2018, + "ecmaFeatures": { + "legacyDecorators": true + } }, "rules": { "no-console": "off", diff --git a/package-lock.json b/package-lock.json index b757dbbcd..ef0a855d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -338,6 +338,17 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-proposal-decorators": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", @@ -388,6 +399,15 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", @@ -1655,12 +1675,29 @@ "babel-runtime": "^6.22.0" } }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", "dev": true }, + "babel-plugin-transform-decorators-legacy": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.5.tgz", + "integrity": "sha512-jYHwjzRXRelYQ1uGm353zNzf3QmtdCfvJbuYTZ4gKveK7M9H1fs3a5AKdY1JUDl0z97E30ukORW1dzhWvsabtA==", + "dev": true, + "requires": { + "babel-plugin-syntax-decorators": "^6.1.18", + "babel-runtime": "^6.2.0", + "babel-template": "^6.3.0" + } + }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -6295,6 +6332,12 @@ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", diff --git a/package.json b/package.json index 10ab7582a..a8744aec4 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,14 @@ "@babel/cli": "^7.4.4", "@babel/core": "^7.4.5", "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/plugin-proposal-decorators": "^7.4.4", "@babel/preset-env": "^7.4.5", "autoprefixer": "^9.5.1", "babel-core": "^6.26.3", "babel-eslint": "^10.0.1", "babel-loader": "^8.0.6", "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-decorators-legacy": "^1.3.5", "babel-preset-es2015": "^6.24.1", "css-loader": "^2.1.1", "eslint": "^5.16.0", @@ -57,6 +59,7 @@ "karma-mocha-reporter": "^2.2.5", "karma-webpack": "^3.0.5", "lint-staged": "^8.1.7", + "lodash.debounce": "^4.0.8", "node-sass": "^4.12.0", "npm-run-all": "^4.1.5", "null-loader": "^2.0.0",