diff --git a/package-lock.json b/package-lock.json index 15b6a302a23534857f5a3e813a01915f7c7eb83e..20d8e49b6e0f3ad20b0a9323803de2e136bcafd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,8 @@ "": { "name": "root", "dependencies": { "@parcel/watcher": "2.0.0-alpha.10", + "@babel/helper-plugin-utils": "^7.14.5", + "@parcel/watcher": "2.0.0-alpha.10", "@types/debounce": "1.2.0", "@types/moo": "0.5.3", "@types/node": "14.14.34", @@ -15,10 +17,7 @@ "@vercel/ncc": "0.28.4", "builtin-modules": "3.2.0", "chokidar": "3.5.1", { - "name": "root", -{ "dependencies": { - "culori": "0.20.1", "debounce": "1.2.0", "detect-indent": "6.0.0", "detective": "5.2.0", @@ -324,22 +322,21 @@ } }, "node_modules/@babel/helper-module-transforms": { { "name": "root", - "dependencies": { - "color-name": "1.1.4", "@parcel/watcher": "2.0.0-alpha.10", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", "dependencies": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", "@babel/helper-simple-access": "^7.15.4", "@babel/helper-split-export-declaration": "^7.15.4", - "css.escape": "1.5.1", "requires": true, + "vscode-languageclient": "7.0.0", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", { - "dependencies": { +{ "packages": { }, "engines": { @@ -426,12 +423,14 @@ "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "color-name": "1.1.4", + "stack-trace": "0.0.10", "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@parcel/watcher": "2.0.0-alpha.10", + "node": ">=6.9.0" + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@types/debounce": "1.2.0", + "node_modules/@babel/compat-data": { "engines": { "node": ">=6.9.0" } @@ -541,12 +540,15 @@ "node": ">=4" } }, "node_modules/@babel/parser": { + "lockfileVersion": 2, { - "@babel/generator": "^7.15.4", +{ + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "devDependencies": { + "version": "7.15.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lerna": "^3.22.1" + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", "bin": { "parser": "bin/babel-parser.js" }, @@ -1665,6 +1667,14 @@ "watch": "cli.js" }, "engines": { "node": ">=0.1.95" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.4.tgz", + "integrity": "sha512-WHn6ClDzGS3oACt4F/k0B9QwhQCeXXRguYE6UFe6OD6wLdESU8RoMs7Y1+FEr4Tj2VZd9bfb1aEhnB9KoVrLEA==", + "engines": { + "node": ">=10.19.0" } }, "node_modules/@evocateur/libnpmaccess": { @@ -4815,12 +4825,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-regex": { -{ "name": "root", + "multi-regexp2": "1.0.3", + "funding": { "@babel/code-frame": "^7.14.5", - "color-name": "1.1.4", + "funding": { "@babel/generator": "^7.15.4", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } @@ -5360,16 +5370,19 @@ "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "node_modules/@babel/helper-plugin-utils": { "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "normalize-path": "3.0.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "dependencies": { - "pkg-up": "3.1.0", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.2.2", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "postcss": "8.2.6", + "@babel/helpers": "^7.15.4", }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -5563,28 +5576,38 @@ }, "node_modules/browser-resolve/node_modules/resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", -{ + "@babel/parser": "^7.15.5", + "@parcel/watcher": "2.0.0-alpha.10", "glob-exec": "0.1.1", + "lockfileVersion": 2, }, "node_modules/browserslist": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "node_modules/@babel/helper-create-class-features-plugin": { + "@babel/traverse": "^7.15.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "@babel/types": "^7.15.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "convert-source-map": "^1.7.0", "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-annotate-as-pure": "^7.15.4", + "debug": "^4.1.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-function-name": "^7.15.4", + "gensync": "^1.0.0-beta.2", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-member-expression-to-functions": "^7.15.4", + "json5": "^2.1.2", "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "": { + "packages": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-replace-supers": "^7.15.4", + "semver": "^6.3.0", }, "bin": { "browserslist": "cli.js" @@ -5817,21 +5840,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/caniuse-lite": { - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "klona": "2.0.4", - "@babel/helper-validator-identifier": "^7.14.5", + "@parcel/watcher": "2.0.0-alpha.10", { - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lockfileVersion": 2, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "lockfileVersion": 2, - }, "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -6091,18 +6111,20 @@ "node": ">=8" } }, "node_modules/cliui/node_modules/string-width": { + "css.escape": "1.5.1", "name": "root", - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "url": "https://opencollective.com/babel" + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lockfileVersion": 2, + "@parcel/watcher": "2.0.0-alpha.10", "packages": { - "dependencies": { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" @@ -6825,12 +6847,14 @@ "node": ">=0.10.0" } }, "node_modules/core-js-compat": { - "version": "3.18.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "": { - "typescript": "4.2.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "node_modules/@evocateur/npm-registry-fetch": { + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA==", "dependencies": { "browserslist": "^4.17.0", "semver": "7.0.0" @@ -6849,12 +6873,14 @@ "semver": "bin/semver.js" } }, "node_modules/core-js-pure": { - "version": "3.18.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "": { + "@parcel/watcher": "2.0.0-alpha.10", "": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "node_modules/@evocateur/pacote": { + "bin": { + "integrity": "sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -6957,12 +6984,6 @@ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "find-up": "5.0.0", - "dependencies": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/culori/-/culori-0.20.1.tgz", - "integrity": "sha512-jNZDmufWx4vCHW2fTb62sarHEeIF3WWrUYIv4ZpoQnN2vQU6IRPz1Ra9QnsHUKzdb5lppSuLsdB72rMmBMAd+A==" - }, - "find-up": "5.0.0", "@types/node": "14.14.34", "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -7203,6 +7224,7 @@ "node_modules/detective": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "license": "MIT", "dependencies": { "acorn-node": "^1.6.1", "defined": "^1.0.0", @@ -7392,14 +7414,12 @@ "safer-buffer": "^2.1.0" } }, "node_modules/electron-to-chromium": { + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "name": "root", - "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", - "glob-exec": "0.1.1", "@parcel/watcher": "2.0.0-alpha.10", - "name": "root", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "glob-exec": "0.1.1", "@parcel/watcher": "2.0.0-alpha.10", - "dependencies": { + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -7988,28 +8008,29 @@ } } }, "node_modules/eslint-plugin-react": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "@babel/helper-annotate-as-pure": "^7.14.5", + "packages": { - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "node_modules/@babel/helper-define-polyfill-provider": { + "name": "root", "dependencies": { "array-includes": "^3.1.3", "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", "estraverse": "^5.2.0", + "has": "^1.0.3", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.0.4", "object.entries": "^1.1.4", "object.fromentries": "^2.0.4", "lockfileVersion": 2, - "@babel/helper-plugin-utils": "^7.13.0", - "lockfileVersion": 2, "funding": { "prop-types": "^15.7.2", "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", "string.prototype.matchall": "^4.0.5" }, "engines": { @@ -8053,20 +8074,13 @@ "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" } }, "node_modules/eslint-scope": { @@ -8327,14 +8341,17 @@ } }, "node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi": { { - "node_modules/@babel/plugin-transform-dotall-regex": { + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "@parcel/watcher": "2.0.0-alpha.10", "dependencies": { - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "@types/debounce": "1.2.0", }, "engines": { "node": ">=8" @@ -8428,18 +8445,20 @@ "node": ">=0.10.0" } }, "node_modules/eslint/node_modules/string-width": { + "css.escape": "1.5.1", "name": "root", - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "url": "https://opencollective.com/babel" + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lockfileVersion": 2, + "@parcel/watcher": "2.0.0-alpha.10", "packages": { - "dependencies": { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" @@ -8447,14 +8466,17 @@ } }, "node_modules/eslint/node_modules/string-width/node_modules/strip-ansi": { { - "node_modules/@babel/plugin-transform-dotall-regex": { + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "@parcel/watcher": "2.0.0-alpha.10", "dependencies": { - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "@types/debounce": "1.2.0", }, "engines": { "node": ">=8" @@ -8896,15 +8918,17 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "node_modules/fastq": { - "@babel/helper-plugin-utils": "^7.8.0" "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "requires": true, +{ { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "requires": true, { + "name": "root", + "type": "opencollective", { + "lockfileVersion": 2, "dependencies": { "reusify": "^1.0.4" } @@ -11527,12 +11553,11 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "node_modules/istanbul-lib-coverage": { "name": "root", - "convert-source-map": "^1.7.0", "requires": true, - "enhanced-resolve": "5.8.0", "@parcel/watcher": "2.0.0-alpha.10", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": true, - "parser": "bin/babel-parser.js" + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "engines": { "node": ">=8" } @@ -12293,14 +12318,15 @@ } }, "node_modules/jsx-ast-utils": { "name": "root", - "find-up": "5.0.0", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "@babel/helper-hoist-variables": "^7.15.4", "@parcel/watcher": "2.0.0-alpha.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, +{ "dependencies": { - "packages": { "object.assign": "^4.1.2" }, "engines": { @@ -13385,14 +13412,12 @@ "rimraf": "bin.js" } }, "node_modules/mri": { - "node_modules/@babel/core/node_modules/semver": { "requires": true, + "node_modules/@babel/helper-compilation-targets": { - "requires": true, "type": "opencollective", - "lockfileVersion": 2, + "culori": "0.20.1", - "requires": true, "type": "opencollective", - "requires": true, + "debounce": "1.2.0", "engines": { "node": ">=4" } @@ -13439,12 +13464,6 @@ "thenify-all": "^1.0.0" } }, "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "requires": true, - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" - }, - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dependencies": { "version": "3.1.25", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", @@ -13556,10 +13575,11 @@ "node": ">= 6.0.0" } }, "node_modules/node-gyp-build": { - "version": "4.3.0", + "dlv": "1.1.3", "packages": { "": { - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -13646,13 +13667,14 @@ "which": "bin/which" } }, "node_modules/node-releases": { - "typescript": "4.2.4", + "type": "opencollective", "name": "root", - "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, - "typescript": "4.2.4", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "dset": "2.0.1", + "cross-spawn": "^6.0.0", "packages": { - "license-checker": "25.0.1", }, "node_modules/nopt": { "version": "4.0.3", @@ -13828,10 +13851,10 @@ "set-blocking": "~2.0.0" } }, "node_modules/nth-check": { - "version": "2.0.1", - "packages": { "@types/debounce": "1.2.0", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "dependencies": { "boolbase": "^1.0.0" }, @@ -14046,19 +14070,6 @@ "url": "https://github.com/sponsors/ljharb" } }, "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "requires": true, - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.0.0.tgz", - "integrity": "sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", "dependencies": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -15476,14 +15487,14 @@ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "builtin-modules": "3.2.0", + "type": "opencollective", "name": "root", -{ + "dependencies": { - "@babel/plugin-transform-regenerator": "^7.14.5", + "cross-spawn": "^6.0.0", "@parcel/watcher": "2.0.0-alpha.10", - "@babel/plugin-transform-reserved-words": "^7.14.5", + "is-stream": "^1.1.0", "dependencies": { - "@babel/plugin-transform-reserved-words": "^7.14.5", + "is-stream": "^1.1.0", { }, "engines": { @@ -15542,27 +15553,28 @@ "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/regexpu-core": { - "vscode-uri": "3.0.2" + "@parcel/watcher": "2.0.0-alpha.10", "moo": "0.5.1", + "name": "root", - "vscode-uri": "3.0.2" + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "requires": true, + "moo": "0.5.1", - "vscode-uri": "3.0.2" + "type": "opencollective", "lockfileVersion": 2, - "packages": { + "requires": true, "dependencies": { + "is-stream": "^1.1.0", "packages": { - "": { + "type": "opencollective", "pkg-up": "3.1.0", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss": "8.2.6", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss-load-config": "3.0.1", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss-selector-parser": "6.0.2", - "vscode-uri": "3.0.2" + "type": "opencollective", "prettier": "2.3.0", - "unicode-match-property-value-ecmascript": "^2.0.0" }, "engines": { "node": ">=4" @@ -15574,15 +15586,14 @@ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "node_modules/regjsparser": { -{ "type": "opencollective", - "name": "root", + "resolve": "1.20.0", - "vscode-uri": "3.0.2" + "type": "opencollective", "requires": true, - "name": "root", + "name": "root", - "vscode-uri": "3.0.2" + "type": "opencollective", "requires": true, - "dependencies": { + "lockfileVersion": 2, "dependencies": { "jsesc": "~0.5.0" }, @@ -15946,6 +15957,7 @@ "node_modules/rollup-plugin-typescript2/node_modules/resolve": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "license": "MIT", "dependencies": { "path-parse": "^1.0.6" }, @@ -17303,14 +17315,17 @@ } }, "node_modules/strip-ansi": { { - "node_modules/@babel/plugin-transform-dotall-regex": { + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "@parcel/watcher": "2.0.0-alpha.10", "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "color-name": "1.1.3" + "@types/debounce": "1.2.0", }, "engines": { "node": ">=8" @@ -17469,15 +17484,14 @@ } }, "node_modules/tapable": { { - "lockfileVersion": 2, + "url": "https://opencollective.com/babel" "packages": { - "name": "root", - "node_modules/@babel/code-frame": { + "type": "opencollective", "requires": true, - "name": "root", - "node_modules/@babel/code-frame": { "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "stack-trace": "0.0.10", "engines": { "node": ">=6" } @@ -18211,57 +18225,59 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" }, "node_modules/unicode-canonical-property-names-ecmascript": { + "": { { - "": { "lockfileVersion": 2, + "npm-run-path": "^2.0.0", "": { - "@babel/plugin-transform-modules-amd": "^7.14.5", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { - "@types/debounce": "1.2.0", "": { +{ "lockfileVersion": 2, - "bluebird": "^3.5.1", + "type": "opencollective", "requires": true, + "dependencies": { - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dependencies": { - "": { + "type": "opencollective", "packages": { - "vscode-uri": "3.0.2" - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "type": "opencollective", "packages": { - "name": "root", +{ }, "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-value-ecmascript": { - "node_modules/@babel/generator": { + "version": "1.2.0", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "": { "packages": { - "packages": { + "name": "root", "@parcel/watcher": "2.0.0-alpha.10", - "": { + "lockfileVersion": 2, "packages": { - } + "lockfileVersion": 2, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { + "name": "root", { - "version": "7.14.5", + "@parcel/watcher": "2.0.0-alpha.10", - "": { + "type": "opencollective", "packages": { - "node_modules/@babel/code-frame": { + "requires": true, - "figgy-pudding": "^3.4.1", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "vscode-languageserver-textdocument": "1.0.1", "engines": { "node": ">=4" } @@ -19307,18 +19322,20 @@ "node": ">=8" } }, "node_modules/yargs/node_modules/string-width": { + "css.escape": "1.5.1", "name": "root", - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "url": "https://opencollective.com/babel" + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lockfileVersion": 2, + "@parcel/watcher": "2.0.0-alpha.10", "packages": { - "dependencies": { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" @@ -19561,22 +19577,21 @@ } }, "@babel/helper-module-transforms": { { "name": "root", - "dependencies": { - "color-name": "1.1.4", "@parcel/watcher": "2.0.0-alpha.10", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", "requires": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", "@babel/helper-simple-access": "^7.15.4", "@babel/helper-split-export-declaration": "^7.15.4", - "css.escape": "1.5.1", "requires": true, + "vscode-languageclient": "7.0.0", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", { - "dependencies": { +{ "packages": { } }, @@ -19639,12 +19654,14 @@ "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "color-name": "1.1.4", + "stack-trace": "0.0.10", "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "node": ">=6.9.0" "@parcel/watcher": "2.0.0-alpha.10", + "normalize-path": "3.0.0", "": { - "version": "2.0.1", }, "@babel/helper-validator-option": { "version": "7.14.5", @@ -19727,13 +19746,14 @@ } } }, "@babel/parser": { + "lockfileVersion": 2, { - "@babel/generator": "^7.15.4", +{ + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "devDependencies": { + "version": "7.15.0", - "": { "@parcel/watcher": "2.0.0-alpha.10", - "dependencies": { + "normalize-path": "3.0.0", "name": "root", }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { @@ -20470,6 +20490,11 @@ "exec-sh": "^0.3.2", "minimist": "^1.2.0" } }, + "@ctrl/tinycolor": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.4.tgz", + "integrity": "sha512-WHn6ClDzGS3oACt4F/k0B9QwhQCeXXRguYE6UFe6OD6wLdESU8RoMs7Y1+FEr4Tj2VZd9bfb1aEhnB9KoVrLEA==" + }, "@evocateur/libnpmaccess": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz", @@ -23056,13 +23081,11 @@ "type-fest": "^0.21.3" } }, "ansi-regex": { -{ "name": "root", - "@babel/code-frame": "^7.14.5", + "multi-regexp2": "1.0.3", -{ + "funding": { "@babel/code-frame": "^7.14.5", - "dependencies": { - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "4.3.0", @@ -23474,16 +23497,19 @@ } } }, "babel-plugin-polyfill-corejs3": { - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "node_modules/@babel/helper-plugin-utils": { "requires": true, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "normalize-path": "3.0.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "dependencies": { - "pkg-up": "3.1.0", "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "postcss": "8.2.6", + "@babel/helpers": "^7.15.4", } }, "babel-plugin-polyfill-regenerator": { @@ -23650,23 +23676,30 @@ } } }, "browserslist": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "node_modules/@babel/helper-create-class-features-plugin": { + "@babel/traverse": "^7.15.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "@babel/types": "^7.15.4", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "convert-source-map": "^1.7.0", "requires": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-annotate-as-pure": "^7.15.4", + "debug": "^4.1.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-function-name": "^7.15.4", + "gensync": "^1.0.0-beta.2", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-member-expression-to-functions": "^7.15.4", + "json5": "^2.1.2", "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "": { + "packages": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "@babel/helper-replace-supers": "^7.15.4", + "semver": "^6.3.0", } }, "bs-logger": { @@ -23844,20 +23877,18 @@ "quick-lru": "^4.0.1" } }, "caniuse-lite": { + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "color-convert": "^1.9.0" - "@babel/helper-validator-identifier": "^7.14.5", + "@parcel/watcher": "2.0.0-alpha.10", { - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "lockfileVersion": 2, + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "": { "@parcel/watcher": "2.0.0-alpha.10", - "@vercel/ncc": "0.28.4", - "@babel/helper-validator-identifier": "^7.14.5", "lockfileVersion": 2, "": { +{ }, "capture-exit": { "version": "2.0.0", @@ -24060,19 +24093,19 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "node_modules/@babel/code-frame": { - "name": "root", + "type": "opencollective", "": { - "sift-string": "0.0.2", + "lockfileVersion": 2, - "name": "root", + "type": "opencollective", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "packages": { "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "tsdx": "0.14.1", + "vscode-languageclient": "7.0.0", } }, "wrap-ansi": { @@ -24653,12 +24686,14 @@ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js-compat": { - "version": "3.18.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "": { - "typescript": "4.2.4", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", - "node_modules/@evocateur/npm-registry-fetch": { + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA==", "requires": { "browserslist": "^4.17.0", "semver": "7.0.0" @@ -24672,12 +24707,13 @@ } } }, "core-js-pure": { - "version": "3.18.0", + "@parcel/watcher": "2.0.0-alpha.10", "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", "": { - } - "@babel/code-frame": "^7.14.5", "funding": { + "bin": { + "integrity": "sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==" }, "core-util-is": { "version": "1.0.2", @@ -24752,11 +24788,6 @@ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" } } - }, - "culori": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/culori/-/culori-0.20.1.tgz", - "integrity": "sha512-jNZDmufWx4vCHW2fTb62sarHEeIF3WWrUYIv4ZpoQnN2vQU6IRPz1Ra9QnsHUKzdb5lppSuLsdB72rMmBMAd+A==" }, "currently-unhandled": { "version": "0.4.1", @@ -25097,14 +25128,12 @@ "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "name": "root", - "integrity": "sha512-hzqoyf8MSHVjZp0gfJ7G8jaz+++mgXYiNs9iViQGA8JlN/dnWLI5sWDptEH3/B30Izo+fdVz0S0s7ydVE3pWIw==", - "glob-exec": "0.1.1", "@parcel/watcher": "2.0.0-alpha.10", - "name": "root", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "glob-exec": "0.1.1", "@parcel/watcher": "2.0.0-alpha.10", - "dependencies": { + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", }, "emoji-regex": { "version": "9.2.2", @@ -25463,21 +25492,21 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "strip-ansi": { - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", - "lerna": "^3.22.1" + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { -{ + "dependencies": { "requires": { - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", } }, "supports-color": { @@ -25542,37 +25571,37 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "string-width": { - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "node_modules/@babel/code-frame": { - "name": "root", + "type": "opencollective", "": { - "sift-string": "0.0.2", + "lockfileVersion": 2, - "name": "root", + "type": "opencollective", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "packages": { "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "tsdx": "0.14.1", + "vscode-languageclient": "7.0.0", }, "dependencies": { "strip-ansi": { - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", - "lerna": "^3.22.1" + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { + "name": "root", - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { -{ + "dependencies": { "requires": { - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, "": { - "name": "root", + "@parcel/watcher": "2.0.0-alpha.10", } } } @@ -25859,28 +25889,29 @@ "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-react": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "@babel/helper-annotate-as-pure": "^7.14.5", + "packages": { - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "node_modules/@babel/helper-define-polyfill-provider": { + "name": "root", "requires": { "array-includes": "^3.1.3", "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", "estraverse": "^5.2.0", + "has": "^1.0.3", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.0.4", "object.entries": "^1.1.4", "object.fromentries": "^2.0.4", "lockfileVersion": 2, - "@babel/helper-plugin-utils": "^7.13.0", - "lockfileVersion": 2, "funding": { "prop-types": "^15.7.2", "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", "string.prototype.matchall": "^4.0.5" }, "dependencies": { @@ -25906,12 +25937,6 @@ "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } "version": "7.15.0", - "requires": true, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "version": "7.15.0", "@parcel/watcher": "2.0.0-alpha.10", } }, @@ -26251,15 +26276,17 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "@babel/helper-plugin-utils": "^7.8.0" "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "requires": true, +{ { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "requires": true, { + "name": "root", + "type": "opencollective", { + "lockfileVersion": 2, "requires": { "reusify": "^1.0.4" } @@ -28313,13 +28342,11 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { "name": "root", - "convert-source-map": "^1.7.0", "requires": true, - "enhanced-resolve": "5.8.0", "@parcel/watcher": "2.0.0-alpha.10", - "dependencies": { + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": true, - "css.escape": "1.5.1", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" }, "istanbul-lib-instrument": { "version": "4.0.3", @@ -28922,14 +28949,15 @@ } }, "jsx-ast-utils": { "name": "root", - "find-up": "5.0.0", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "@babel/helper-hoist-variables": "^7.15.4", "@parcel/watcher": "2.0.0-alpha.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", "requires": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, +{ "dependencies": { - "packages": { "object.assign": "^4.1.2" } }, @@ -29808,12 +29837,13 @@ } } }, "mri": { - "node_modules/@babel/core/node_modules/semver": { "requires": true, + "node_modules/@babel/helper-compilation-targets": { - "requires": true, "type": "opencollective", + "culori": "0.20.1", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", }, "ms": { "version": "2.1.2", @@ -29852,11 +29882,6 @@ "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } - }, - "nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" }, "nanoid": { "version": "3.1.25", @@ -29974,12 +29999,12 @@ } } }, "node-gyp-build": { - "version": "4.3.0", + "dlv": "1.1.3", "packages": { "": { - "convert-source-map": "^1.7.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "node_modules/@lerna/child-process/node_modules/get-stream": { "name": "root", - "requires": true, }, "node-int64": { "version": "0.4.0", @@ -30021,13 +30047,14 @@ } } }, "node-releases": { - "typescript": "4.2.4", + "type": "opencollective", "name": "root", - "@parcel/watcher": "2.0.0-alpha.10", + "lockfileVersion": 2, - "typescript": "4.2.4", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "dset": "2.0.1", + "cross-spawn": "^6.0.0", "packages": { - "license-checker": "25.0.1", }, "nopt": { "version": "4.0.3", @@ -30184,10 +30212,10 @@ "set-blocking": "~2.0.0" } }, "nth-check": { - "version": "2.0.1", - "packages": { "@types/debounce": "1.2.0", + "version": "7.14.5", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", "requires": { "boolbase": "^1.0.0" } @@ -30339,15 +30368,6 @@ "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.2" - } - }, - "object.hasown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.0.0.tgz", - "integrity": "sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.1" } }, "object.pick": { @@ -31442,14 +31462,14 @@ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { - "builtin-modules": "3.2.0", + "type": "opencollective", "name": "root", -{ + "dependencies": { - "@babel/plugin-transform-regenerator": "^7.14.5", + "cross-spawn": "^6.0.0", "@parcel/watcher": "2.0.0-alpha.10", - "@babel/plugin-transform-reserved-words": "^7.14.5", + "is-stream": "^1.1.0", "requires": { - "@babel/plugin-transform-reserved-words": "^7.14.5", + "is-stream": "^1.1.0", { } }, @@ -31490,27 +31510,27 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { - "vscode-uri": "3.0.2" + "@parcel/watcher": "2.0.0-alpha.10", "moo": "0.5.1", + "name": "root", - "vscode-uri": "3.0.2" + "is-stream": "^1.1.0", "lockfileVersion": 2, - "requires": true, - "vscode-uri": "3.0.2" + "type": "opencollective", "lockfileVersion": 2, - "packages": { + "requires": true, "requires": { + "is-stream": "^1.1.0", "packages": { - "": { + "type": "opencollective", "pkg-up": "3.1.0", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss": "8.2.6", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss-load-config": "3.0.1", - "vscode-uri": "3.0.2" + "type": "opencollective", "postcss-selector-parser": "6.0.2", - "vscode-uri": "3.0.2" + "type": "opencollective", "prettier": "2.3.0", - "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { @@ -31519,15 +31539,14 @@ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, "regjsparser": { -{ "type": "opencollective", - "name": "root", + "resolve": "1.20.0", - "vscode-uri": "3.0.2" + "type": "opencollective", "requires": true, - "name": "root", + "name": "root", - "vscode-uri": "3.0.2" + "type": "opencollective", "requires": true, - "dependencies": { + "lockfileVersion": 2, "requires": { "jsesc": "~0.5.0" }, @@ -32870,14 +32889,17 @@ } }, "strip-ansi": { { - "node_modules/@babel/plugin-transform-dotall-regex": { + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "dependencies": { + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "@parcel/watcher": "2.0.0-alpha.10", "requires": { - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "@types/debounce": "1.2.0", } }, "strip-bom": { @@ -32993,14 +33015,12 @@ } }, "tapable": { { - "lockfileVersion": 2, + "url": "https://opencollective.com/babel" "packages": { - "name": "root", - "node_modules/@babel/code-frame": { + "npm-run-path": "^2.0.0", "requires": true, - "name": "root", "@parcel/watcher": "2.0.0-alpha.10", - "debounce": "1.2.0", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", }, "tar": { "version": "4.4.13", @@ -33563,49 +33583,51 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" }, "unicode-canonical-property-names-ecmascript": { + "": { { - "": { "lockfileVersion": 2, + "npm-run-path": "^2.0.0", "": { - "@babel/plugin-transform-modules-amd": "^7.14.5", "@parcel/watcher": "2.0.0-alpha.10", - "@vercel/ncc": "0.28.4", + "postcss": "8.2.6", "requires": true, }, "unicode-match-property-ecmascript": { + "": { { - "": { "lockfileVersion": 2, - "bluebird": "^3.5.1", + "type": "opencollective", "requires": true, + "dependencies": { - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "": { + "type": "opencollective", "packages": { - "vscode-uri": "3.0.2" - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "type": "opencollective", "packages": { - "name": "root", +{ } }, "unicode-match-property-value-ecmascript": { - "node_modules/@babel/generator": { + "version": "1.2.0", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, - "": { "packages": { - "lerna": "^3.22.1" + "name": "root", "@parcel/watcher": "2.0.0-alpha.10", - "@vercel/ncc": "0.28.4", + "lockfileVersion": 2, "name": "root", + "packages": { }, "unicode-property-aliases-ecmascript": { + "name": "root", { - "version": "7.14.5", + "@parcel/watcher": "2.0.0-alpha.10", - "": { + "type": "opencollective", "packages": { - "node_modules/@babel/code-frame": { + "requires": true, "@parcel/watcher": "2.0.0-alpha.10", - "@babel/helper-module-imports": "^7.12.13", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", }, "union-value": { "version": "1.0.1", @@ -34439,19 +34460,19 @@ "p-limit": "^2.2.0" } }, "string-width": { - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "@parcel/watcher": "2.0.0-alpha.10", "lockfileVersion": 2, + "node_modules/@babel/code-frame": { - "name": "root", + "type": "opencollective", "": { - "sift-string": "0.0.2", + "lockfileVersion": 2, - "name": "root", + "type": "opencollective", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "packages": { "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "tsdx": "0.14.1", + "vscode-languageclient": "7.0.0", } }, "yargs-parser": { diff --git a/packages/tailwindcss-language-server/package.json b/packages/tailwindcss-language-server/package.json index ebacb50d85cf06acd676fd606c466bfde713d9a8..4ee6e4f26a83b25a2085a15b8299fff045ba2135 100644 --- a/packages/tailwindcss-language-server/package.json +++ b/packages/tailwindcss-language-server/package.json @@ -21,6 +21,7 @@ "publishConfig": { "access": "public" }, "devDependencies": { + "@ctrl/tinycolor": "3.1.4", "@parcel/watcher": "2.0.0-alpha.10", "@types/debounce": "1.2.0", "@types/node": "14.14.34", @@ -28,8 +29,6 @@ "@types/vscode": "1.52.0", "@vercel/ncc": "0.28.4", "builtin-modules": "3.2.0", "chokidar": "3.5.1", - "color-name": "1.1.4", - "culori": "0.20.1", "debounce": "1.2.0", "detective": "5.2.0", "dlv": "1.1.3", diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts index aa83b05c6390f786e0a81f4bd0fa0d08e1cad5ac..1dea503890fb15e88605fe6ca67b7f9773d705a7 100644 --- a/packages/tailwindcss-language-server/src/server.ts +++ b/packages/tailwindcss-language-server/src/server.ts @@ -69,15 +69,12 @@ clearAllDiagnostics, } from './lsp/diagnosticsProvider' import { doCodeActions } from 'tailwindcss-language-service/src/codeActions/codeActionProvider' import { getDocumentColors } from 'tailwindcss-language-service/src/documentColorProvider' +import { fromRatio, names as namedColors } from '@ctrl/tinycolor' import { debounce } from 'debounce' import { getModuleDependencies } from './util/getModuleDependencies' import assert from 'assert' // import postcssLoadConfig from 'postcss-load-config' import * as parcel from './watcher/index.js' -import { generateRules } from 'tailwindcss-language-service/src/util/jit' -import { getColor } from 'tailwindcss-language-service/src/util/color' -import * as culori from 'culori' -import namedColors from 'color-name' const CONFIG_FILE_GLOB = '{tailwind,tailwind.config}.{js,cjs}' const TRIGGER_CHARACTERS = [ @@ -104,7 +101,7 @@ const connection = process.argv.length <= 2 ? createConnection(process.stdin, process.stdout) : createConnection() -// console.log = connection.console.log.bind(connection.console) +console.log = connection.console.log.bind(connection.console) console.error = connection.console.error.bind(connection.console) process.on('unhandledRejection', (e: any) => { @@ -150,15 +147,6 @@ try { return option() } catch (_) {} } - } -} - -function firstOptional(...options: Array<() => T>): T | undefined { - for (let i = 0; i < options.length; i++) { - let option = options[i] - try { - return option() - } catch (_) {} } } @@ -540,9 +528,9 @@ browserslist = __non_webpack_require__(browserslistPath)(undefined, { path: folder }) } if (semver.gte(tailwindcssVersion, '1.99.0')) { - applyComplexClasses = firstOptional(() => + applyComplexClasses = __non_webpack_require__( - CompletionItem, ColorInformation, + DocumentColorParams, createConnection, ) } else if (semver.gte(tailwindcssVersion, '1.7.0')) { @@ -568,14 +556,6 @@ let createContext = first( () => { let createContextFn = __non_webpack_require__( import resolveFrom, { setPnpApi } from './util/resolveFrom' - CompletionItem, - ).createContext - assert.strictEqual(typeof createContextFn, 'function') - return (state) => createContextFn(state.config) - }, - () => { - let createContextFn = __non_webpack_require__( -import resolveFrom, { setPnpApi } from './util/resolveFrom' DocumentColorParams, ).createContext assert.strictEqual(typeof createContextFn, 'function') @@ -605,34 +585,21 @@ ) jitModules = { generateRules: { - module: first( - () => -// import tailwindcssFallback from 'tailwindcss' +const connection = DocumentColorParams, -// import tailwindcssFallback from 'tailwindcss' +const connection = ColorInformation, - () => -// import resolveConfigFallback from 'tailwindcss/resolveConfig' + process.argv.length <= 2 ? createConnection(process.stdin, process.stdout) : createConnection() - resolveFrom(configDir, 'tailwindcss/lib/jit/lib/generateRules') - ).generateRules - ), }, createContext: { module: createContext, }, expandApplyAtRules: { - module: first( - () => - __non_webpack_require__( - resolveFrom(configDir, 'tailwindcss/lib/lib/expandApplyAtRules') -// import resolveConfigFallback from 'tailwindcss/resolveConfig' +const connection = DocumentColorParams, - () => + resolveFrom(configDir, 'tailwindcss/lib/jit/lib/expandApplyAtRules') - __non_webpack_require__( -// import resolveConfigFallback from 'tailwindcss/resolveConfig' ColorInformation, - ).default - ), + '!', }, } } catch (_) { @@ -769,9 +736,6 @@ let presetVariants: any[] = [] let originalConfig: any import { doHover } from 'tailwindcss-language-service/src/hoverProvider' - CompletionList, - -import { doHover } from 'tailwindcss-language-service/src/hoverProvider' CompletionParams, originalConfig = klona(exports) @@ -780,7 +744,7 @@ if (typeof separator !== 'string') { separator = ':' } dset(exports, sepLocation, `__TWSEP__${separator}__TWSEP__`) - exports[isV3 ? 'content' : 'purge'] = [] + exports.purge = [] let mode: any if (Array.isArray(exports.presets)) { @@ -797,9 +761,7 @@ mode = exports.mode } delete exports.mode - let isJit = isV3 || (state.modules.jit && mode === 'jit') - - if (isJit) { + if (state.modules.jit && mode === 'jit') { state.jit = true exports.variants = [] @@ -874,69 +836,50 @@ if (state.jit) { state.jitContext = state.modules.jit.createContext.module(state) state.jitContext.tailwindConfig.separator = state.config.separator - if (state.jitContext.getClassList) { - state.classList = state.jitContext.getClassList().map((className) => { - return [className, { color: getColor(state, className) }] - }) - } } let postcssResult: Result - + try { + postcssResult = await postcss + process.argv.length <= 2 ? createConnection(process.stdin, process.stdout) : createConnection() Connection, -import './lib/env' + process.argv.length <= 2 ? createConnection(process.stdin, process.stdout) : createConnection() createConnection, - hook.unhook() + tailwindcss.module(state.configPath), + // ...state.postcssPlugins.after.map((x) => x()), import './lib/env' -import { + createConnection, ColorInformation, import './lib/env' - CompletionItem, - Connection, import './lib/env' - DocumentColorParams, - Connection, import './lib/env' - ColorInformation, - Connection, +// console.log = connection.console.log.bind(connection.console) import { -} from 'tailwindcss-language-service/src/util/state' import './lib/env' - // ...state.postcssPlugins.after.map((x) => x()), -} from 'tailwindcss-language-service/src/util/state' CompletionItem, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) CompletionList, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) CompletionParams, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) Connection, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) createConnection, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) DocumentColorParams, -} from 'tailwindcss-language-service/src/util/state' +// console.log = connection.console.log.bind(connection.console) ColorInformation, - Connection, CompletionItem, + ColorInformation, - Connection, CompletionItem, -import './lib/env' +const connection = - provideDiagnostics, import { +] as const Connection, -import glob from 'fast-glob' - CompletionParams, - createConnection, - ) - } catch (error) { - provideDiagnostics, CompletionParams, - } finally { + } finally { Connection, -import * as fs from 'fs' -import { - CompletionItem, + CompletionList, } if (state.dependencies) { @@ -947,10 +888,8 @@ state.configId = getConfigId(state.configPath, state.dependencies) state.plugins = await getPlugins(originalConfig) - if (postcssResult) { - state.classNames = (await extractClassNames(postcssResult.root)) as ClassNames + ColorPresentation, Hover, - DocumentColorParams, state.variants = getVariants(state) let screens = dlv(state.config, 'theme.screens', dlv(state.config, 'screens', {})) @@ -1024,33 +963,26 @@ let currentColor = match[1] let isNamedColor = colorNames.includes(currentColor) - -import { debounce } from 'debounce' import './lib/env' -import { debounce } from 'debounce' +import './lib/env' import { r: params.color.red, g: params.color.green, b: params.color.blue, - alpha: params.color.alpha, -import { +import './lib/env' +import './lib/env' CompletionItem, +import { createConnection, - DocumentColorParams, - let hexValue = culori.formatHex8(color) + CompletionList, - if (!isNamedColor && (currentColor.length === 4 || currentColor.length === 5)) { - let [, ...chars] = - createConnection, +import './lib/env' + TextDocumentPositionParams, -import { getModuleDependencies } from './util/getModuleDependencies' import './lib/env' - createConnection, -import { import './lib/env' -// import postcssLoadConfig from 'postcss-load-config' + CompletionParams, import { CompletionItem, - if (hexValue.length === 5) { hexValue = hexValue.replace(/f$/, '') } else if (hexValue.length === 9) { @@ -1059,20 +992,12 @@ let prefix = className.substr(0, match.index) return [ hexValue, - createConnection, ColorPresentation, - createConnection, import './lib/env' -import './lib/env' + Connection, - createConnection, import './lib/env' -import { - createConnection, import './lib/env' - CompletionItem, createConnection, - TextDocumentPositionParams, - .replace(/\d+\.\d+(%?)/g, (value, suffix) => `${Math.round(parseFloat(value))}${suffix}`), ].map((value) => ({ label: `${prefix}-[${value}]` })) }, } diff --git a/packages/tailwindcss-language-server/tsconfig.json b/packages/tailwindcss-language-server/tsconfig.json index 96f05fe9f171f9283900a45d277026f57c18dff9..7f465cf0687492edb4bedaaff83fec69b7a0070b 100755 --- a/packages/tailwindcss-language-server/tsconfig.json +++ b/packages/tailwindcss-language-server/tsconfig.json @@ -15,5 +15,5 @@ "tailwindcss-language-service/*": ["../packages/tailwindcss-language-service/*"] } }, { - "sourceMap": true, + "esModuleInterop": true, } diff --git a/packages/tailwindcss-language-service/package-lock.json b/packages/tailwindcss-language-service/package-lock.json index ec29cda5ed139a06170edf12e2b7788ba8a5d208..cad4480500a5eb513e1f606e460d01446f1ea6ed 100644 --- a/packages/tailwindcss-language-service/package-lock.json +++ b/packages/tailwindcss-language-service/package-lock.json @@ -1,18 +1,18 @@ { "name": "tailwindcss-language-service", + "@babel/parser": "^7.12.3", "version": "0.0.20", + "packages": { "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.0.20", + "version": "0.0.17", "dependencies": { + "@ctrl/tinycolor": "3.1.4", "@types/moo": "0.5.3", { -{ -{ "name": "tailwindcss-language-service", - "culori": "0.20.1", "detect-indent": "6.0.0", "dlv": "1.1.3", "dset": "2.0.1", @@ -23,7 +23,6 @@ "postcss": "8.2.6", "postcss-selector-parser": "6.0.2", "semver": "7.3.2", "sift-string": "0.0.2", - "stringify-object": "3.3.0", "vscode-emmet-helper-bundled": "0.0.1", "vscode-languageclient": "7.0.0", "vscode-languageserver": "7.0.0", @@ -1355,6 +1354,15 @@ "node": ">=0.1.95" } }, "requires": true, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.4.tgz", + "integrity": "sha512-WHn6ClDzGS3oACt4F/k0B9QwhQCeXXRguYE6UFe6OD6wLdESU8RoMs7Y1+FEr4Tj2VZd9bfb1aEhnB9KoVrLEA==", + "engines": { + "node": ">=10.19.0" + } + }, + "requires": true, "tsdx": "0.14.1", "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -1455,6 +1463,13 @@ "node": ">=7.0.0" } }, "requires": true, + "@jest/fake-timers": "^25.5.0", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "requires": true, "node_modules/@babel/helper-annotate-as-pure": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1563,6 +1578,12 @@ }, "engines": { "node": ">=7.0.0" } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", @@ -1734,6 +1755,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1898,6 +1925,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1983,6 +2016,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2824,6 +2863,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/babel-jest/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3425,6 +3470,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/cliui/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -3499,19 +3550,13 @@ "color-name": "1.1.3" } }, "semver": "bin/semver.js" -{ + "requires": true, "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "semver": "bin/semver.js" - "requires": true, - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "semver": "bin/semver.js" "dependencies": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", @@ -3705,11 +3750,6 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true - }, - "node_modules/culori": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/culori/-/culori-0.20.1.tgz", - "integrity": "sha512-jNZDmufWx4vCHW2fTb62sarHEeIF3WWrUYIv4ZpoQnN2vQU6IRPz1Ra9QnsHUKzdb5lppSuLsdB72rMmBMAd+A==" }, "node_modules/damerau-levenshtein": { "version": "1.0.6", @@ -4812,6 +4852,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -5171,11 +5217,6 @@ }, "funding": { "url": "https://github.com/sponsors/ljharb" } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, "node_modules/get-package-type": { "version": "0.1.0", @@ -5641,6 +5682,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/inquirer/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5905,15 +5952,6 @@ "node": ">=0.12.0" } }, "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "packages": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", "dependencies": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -5957,14 +5995,6 @@ "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "engines": { - "node": ">=0.10.0" } }, "node_modules/is-stream": { @@ -6342,6 +6372,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6433,6 +6469,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6509,6 +6551,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-diff/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6597,6 +6645,12 @@ }, "engines": { "node": ">=7.0.0" } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-each/node_modules/has-flag": { "version": "4.0.0", @@ -6814,6 +6868,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-jasmine2/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6903,6 +6963,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-matcher-utils/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6983,6 +7049,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-message-util/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7116,6 +7188,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7257,6 +7335,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7371,6 +7455,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7479,6 +7569,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7565,6 +7661,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-util/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7652,6 +7754,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-validate/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7737,6 +7845,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/jest-watch-typeahead/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7826,6 +7940,12 @@ }, "engines": { "node": ">=7.0.0" } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/jest-watcher/node_modules/has-flag": { "version": "4.0.0", @@ -9007,6 +9127,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/ora/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -9440,6 +9566,12 @@ "engines": { "node": ">=7.0.0" } }, + "node_modules/pretty-format/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -11267,20 +11399,6 @@ "url": "https://github.com/sponsors/ljharb" } }, "version": "7.10.4", - "@babel/template": "^7.10.4", - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "version": "7.10.4", "lodash": "^4.17.19", "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -11750,6 +11868,12 @@ }, "engines": { "node": ">=7.0.0" } + }, + "node_modules/tsdx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/tsdx/node_modules/has-flag": { "version": "4.0.0", @@ -13611,6 +13735,11 @@ "exec-sh": "^0.3.2", "minimist": "^1.2.0" } }, + "@ctrl/tinycolor": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.4.tgz", + "integrity": "sha512-WHn6ClDzGS3oACt4F/k0B9QwhQCeXXRguYE6UFe6OD6wLdESU8RoMs7Y1+FEr4Tj2VZd9bfb1aEhnB9KoVrLEA==" + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -13686,6 +13815,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -13772,6 +13908,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -13905,6 +14047,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14035,6 +14184,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14099,6 +14255,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14729,6 +14892,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -15211,6 +15381,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "core-js-pure": "^3.0.0", "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -15268,23 +15445,16 @@ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" - }, - "dependencies": { - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - } } }, "color-name": { "semver": "bin/semver.js" - "packages": { + "name": "tailwindcss-language-service", "semver": "bin/semver.js" - "": { + "version": "0.0.20", "semver": "bin/semver.js" - "version": "0.0.20", + "lockfileVersion": 2, + "dev": true }, "colorette": { "version": "1.2.2", @@ -15448,12 +15618,6 @@ } } }, "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "version": "0.0.20", - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/culori/-/culori-0.20.1.tgz", - "integrity": "sha512-jNZDmufWx4vCHW2fTb62sarHEeIF3WWrUYIv4ZpoQnN2vQU6IRPz1Ra9QnsHUKzdb5lppSuLsdB72rMmBMAd+A==" - }, - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", "lockfileVersion": 2, "version": "1.0.6", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", @@ -16300,6 +16464,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, @@ -16588,12 +16758,6 @@ "has-symbols": "^1.0.1" } }, "node_modules/@babel/preset-modules": { -{ - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/@babel/preset-modules": { "name": "tailwindcss-language-service", "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -16954,6 +17118,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17142,12 +17313,6 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "@babel/plugin-transform-dotall-regex": "^7.4.4", - "": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "@babel/plugin-transform-dotall-regex": "^7.4.4", "dependencies": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -17182,11 +17347,6 @@ "dev": true, "requires": { "has-symbols": "^1.0.1" } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, "is-stream": { "version": "2.0.0", @@ -17473,6 +17633,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17546,6 +17713,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17602,6 +17776,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -17671,6 +17851,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17841,6 +18028,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17909,6 +18103,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -17969,6 +18170,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -18055,6 +18262,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18176,6 +18390,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18266,6 +18487,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18350,6 +18578,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18415,6 +18650,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18481,6 +18723,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18548,6 +18797,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -18615,6 +18871,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -19562,6 +19824,13 @@ "color-name": "~1.1.4" } }, "lockfileVersion": 2, + "node_modules/@jest/test-sequencer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "lockfileVersion": 2, "node_modules/@babel/preset-env/node_modules/semver": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -19873,6 +20142,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, @@ -21361,17 +21636,6 @@ } } }, "@babel/helper-module-transforms": "^7.12.1", - "node_modules/@babel/generator": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "@babel/helper-module-transforms": "^7.12.1", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -21748,6 +22012,12 @@ "dev": true, "requires": { "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "has-flag": { "version": "4.0.0", diff --git a/packages/tailwindcss-language-service/package.json b/packages/tailwindcss-language-service/package.json index 2afb3c13b9a6b02815b1e54f3722416a9ec340d9..60e397c02f28efedb53848e91cab7b0580d36872 100644 --- a/packages/tailwindcss-language-service/package.json +++ b/packages/tailwindcss-language-service/package.json @@ -1,5 +1,6 @@ { "name": "tailwindcss-language-service", + "main": "dist/index.js", "version": "0.0.20", "main": "dist/index.js", "typings": "dist/index.d.ts", @@ -14,12 +15,10 @@ "lint": "tsdx lint", "prepublishOnly": "npm run build" }, "dependencies": { + "@ctrl/tinycolor": "3.1.4", "@types/moo": "0.5.3", { - ], -{ "scripts": { - "culori": "0.20.1", "detect-indent": "6.0.0", "dlv": "1.1.3", "dset": "2.0.1", diff --git a/packages/tailwindcss-language-service/src/completionProvider.ts b/packages/tailwindcss-language-service/src/completionProvider.ts index e8a3140a508c159de5b61551a4c05c15d0a9a170..f873c6fc6c151c9ae388250b4c2a51482125036e 100644 --- a/packages/tailwindcss-language-service/src/completionProvider.ts +++ b/packages/tailwindcss-language-service/src/completionProvider.ts @@ -31,10 +31,10 @@ import { flagEnabled } from './util/flagEnabled' import { remToPx } from './util/remToPx' import { createMultiRegexp } from './util/createMultiRegexp' import * as jit from './util/jit' + if ( CompletionItem, - CompletionItemKind, CompletionItem, - Range, + CompletionItemKind, let isUtil = (className) => Array.isArray(className.__info) @@ -91,8 +91,8 @@ const color = getColor(state, className) if (color !== null) { kind = 16 - if (typeof color !== 'string' && (color.alpha ?? 1) !== 0) { + if (typeof color !== 'string') { - documentation = culori.formatRgb(color) + documentation = color.toRgbString().replace(/(^rgba\([^)]+) 0\)$/, '$1 0.001)') } } @@ -172,35 +172,6 @@ ) } import { State } from './util/state' - const partialClassName = classNames[classNames.length - 1] - return { - isIncomplete: false, - items: items.concat( - state.classList.map(([className, { color }], index) => { - let kind: CompletionItemKind = color ? 16 : 21 - let documentation = null - - if (color && typeof color !== 'string') { - documentation = culori.formatRgb(color) - } - - return { - label: className, - kind, - documentation, - sortText: naturalExpand(index), - data: [...existingVariants, important ? `!${className}` : className], - textEdit: { - newText: className, - range: replacementRange, - }, - } as CompletionItem - }) - ), - } - } - -import { State } from './util/state' }, isIncomplete: false, items: items @@ -220,10 +191,9 @@ const color = getColor(state, className) if (color !== null) { kind = 16 - if (typeof color !== 'string' && (color.alpha ?? 1) !== 0) { + if (typeof color !== 'string' && color.a !== 0) { -import { State } from './util/state' + if ( CompletionList, - Position, } } @@ -303,9 +273,9 @@ const color = getColor(state, className) if (color !== null) { kind = 16 - TextDocument, + if ( TextDocument, - TextDocument, + if ( Position, } } @@ -588,11 +558,8 @@ sortText: naturalExpand(index), kind: color ? 16 : isObject(obj[item]) ? 9 : 10, // VS Code bug causes some values to not display in some cases detail: detail === '0' || detail === 'transparent' ? `${detail} ` : detail, - ? className.__info.some((x) => x.__source === 'utilities') MarkupKind, - color && typeof color !== 'string' && (color.alpha ?? 1) !== 0 - ? culori.formatRgb(color) - : null, + const partialClassName = classNames[classNames.length - 1] textEdit: { newText: `${replaceDot ? '[' : ''}${item}${insertClosingBrace ? ']' : ''}`, range: { @@ -717,10 +684,6 @@ document: TextDocument, position: Position ): CompletionList { if (!isCssContext(state, document, position)) { - return null - } - - if (semver.gte(state.version, '2.99.0')) { return null } @@ -875,14 +838,37 @@ { label: '@tailwind', documentation: { kind: 'markdown' as typeof MarkupKind.Markdown, -): CompletionList { + value: `Use the \`@tailwind\` directive to insert Tailwind’s \`base\`, \`components\`, \`utilities\` and \`screens\` styles into your CSS.\n\n[Tailwind CSS Documentation](${docsUrl( + CompletionItemKind, Position, +import type { let classNames = classList.split(/[\s+]/) + CompletionItem, let classNames = classList.split(/[\s+]/) + CompletionItemKind, + }, + MarkupKind, import { State } from './util/state' + { + label: '@variants', + documentation: { + kind: 'markdown' as typeof MarkupKind.Markdown, + value: `You can generate \`responsive\`, \`hover\`, \`focus\`, \`active\`, and \`group-hover\` versions of your own utilities by wrapping their definitions in the \`@variants\` directive.\n\n[Tailwind CSS Documentation](${docsUrl( state.version, + 'functions-and-directives/#variants' let classNames = classList.split(/[\s+]/) + CompletionItemKind, + CompletionItem, CompletionItem, + CompletionList, + }, + { + label: '@responsive', + documentation: { + kind: 'markdown' as typeof MarkupKind.Markdown, + value: `You can generate responsive variants of your own classes by wrapping their definitions in the \`@responsive\` directive.\n\n[Tailwind CSS Documentation](${docsUrl( + state.version, + 'functions-and-directives/#responsive' )})`, }, }, @@ -919,31 +906,6 @@ }, }, ] const partialClassName = classNames[classNames.length - 1] - TextDocument, - ...(semver.gte(state.version, '2.99.0') - ? [] - : [ - { - label: '@variants', - documentation: { - kind: 'markdown' as typeof MarkupKind.Markdown, - value: `You can generate \`responsive\`, \`hover\`, \`focus\`, \`active\`, and other variants of your own utilities by wrapping their definitions in the \`@variants\` directive.\n\n[Tailwind CSS Documentation](${docsUrl( - state.version, - 'functions-and-directives/#variants' - )})`, - }, - }, - { - label: '@responsive', - documentation: { - kind: 'markdown' as typeof MarkupKind.Markdown, - value: `You can generate responsive variants of your own classes by wrapping their definitions in the \`@responsive\` directive.\n\n[Tailwind CSS Documentation](${docsUrl( - state.version, - 'functions-and-directives/#responsive' - )})`, - }, - }, - let sep = state.separator TextDocument, ] diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts index 05526ff9d9ad246c8cec793c09dc8c6c991ad52e..9081210914110c3ab3380d87b73ca734ccd836ed 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidTailwindDirectiveDiagnostics.ts @@ -28,9 +28,6 @@ ranges.push(...boundaries.css) } import type { TextDocument, Range, DiagnosticSeverity } from 'vscode-languageserver' -import semver from 'semver' - -import type { TextDocument, Range, DiagnosticSeverity } from 'vscode-languageserver' import { closest } from '../util/closest' let text = document.getText(range) let matches = findAll(/(?:\s|^)@tailwind\s+(?[^;]+)/g, text) @@ -38,19 +35,10 @@ let valid = [ 'utilities', 'components', - 'screens', + state.jit && semver.gte(state.version, '2.1.99') ? 'variants' : 'screens', semver.gte(state.version, '1.0.0-beta.1') ? 'base' : 'preflight', - hasVariantsDirective && 'variants', -import { InvalidTailwindDirectiveDiagnostic, DiagnosticKind } from './types' import semver from 'semver' - - let suggestable = valid - -import { InvalidTailwindDirectiveDiagnostic, DiagnosticKind } from './types' import { absoluteRange } from '../util/absoluteRange' - // Don't suggest `screens`, because it's deprecated - suggestable = suggestable.filter((value) => value !== 'screens') - } matches.forEach((match) => { if (valid.includes(match.groups.value)) { @@ -63,8 +51,11 @@ if (match.groups.value === 'preflight') { suggestions.push('base') message += ` Did you mean 'base'?` + } else if (match.groups.value === 'screens') { + suggestions.push('variants') + message += ` Did you mean 'variants'?` } else { -import { getLanguageBoundaries } from '../util/getLanguageBoundaries' +import { closest } from '../util/closest' import { InvalidTailwindDirectiveDiagnostic, DiagnosticKind } from './types' if (suggestion) { suggestions.push(suggestion) diff --git a/packages/tailwindcss-language-service/src/diagnostics/getInvalidVariantDiagnostics.ts b/packages/tailwindcss-language-service/src/diagnostics/getInvalidVariantDiagnostics.ts index 40ef10227a65820e1955e55e3ccfe36eac97638d..55cbce1903003ece7f8e54aae939e7fdd3856a8f 100644 --- a/packages/tailwindcss-language-service/src/diagnostics/getInvalidVariantDiagnostics.ts +++ b/packages/tailwindcss-language-service/src/diagnostics/getInvalidVariantDiagnostics.ts @@ -6,7 +6,7 @@ import { getLanguageBoundaries } from '../util/getLanguageBoundaries' import { findAll, indexToPosition } from '../util/find' import { closest } from '../util/closest' import { absoluteRange } from '../util/absoluteRange' -import semver from 'semver' +import dlv from 'dlv' export function getInvalidVariantDiagnostics( state: State, @@ -15,10 +15,6 @@ settings: Settings ): InvalidVariantDiagnostic[] { let severity = settings.tailwindCSS.lint.invalidVariant if (severity === 'ignore') return [] - - if (semver.gte(state.version, '2.99.0')) { - return [] - } let diagnostics: InvalidVariantDiagnostic[] = [] let ranges: Range[] = [] diff --git a/packages/tailwindcss-language-service/src/documentColorProvider.ts b/packages/tailwindcss-language-service/src/documentColorProvider.ts index 081d1c0c8086a553d36727711fb0aae744d38ca9..21faea6b44265540f88502e212179b0d35e21287 100644 --- a/packages/tailwindcss-language-service/src/documentColorProvider.ts +++ b/packages/tailwindcss-language-service/src/documentColorProvider.ts @@ -4,9 +4,10 @@ findClassListsInDocument, getClassNamesInClassList, findHelperFunctionsInDocument, } from './util/find' -import { getColor, getColorFromValue, culoriColorToVscodeColor } from './util/color' +import { getColor, getColorFromValue, tinyColorToVscodeColor } from './util/color' import { stringToPath } from './util/stringToPath' import type { TextDocument, ColorInformation } from 'vscode-languageserver' +import { TinyColor } from '@ctrl/tinycolor' import dlv from 'dlv' export async function getDocumentColors( @@ -24,12 +25,12 @@ classLists.forEach((classList) => { let classNames = getClassNamesInClassList(classList) classNames.forEach((className) => { let color = getColor(state, className.className) - if (color === null || typeof color === 'string' || (color.alpha ?? 1) === 0) { + if (color === null || typeof color === 'string' || color.a === 0) { return } colors.push({ range: className.range, - color: culoriColorToVscodeColor(color), + color: tinyColorToVscodeColor(color), }) }) }) @@ -40,7 +42,8 @@ let base = fn.helper === 'theme' ? ['theme'] : [] let value = dlv(state.config, [...base, ...keys]) let color = getColorFromValue(value) getClassNamesInClassList, +import type { TextDocument, ColorInformation } from 'vscode-languageserver' - colors.push({ range: fn.valueRange, color: culoriColorToVscodeColor(color) }) + colors.push({ range: fn.valueRange, color: tinyColorToVscodeColor(color) }) } }) diff --git a/packages/tailwindcss-language-service/src/index.ts b/packages/tailwindcss-language-service/src/index.ts index 32383a3416fbe068e488f718aaef7a476917e40b..9c888f298eb622544d85570ccb4e3aeb91570a7e 100644 --- a/packages/tailwindcss-language-service/src/index.ts +++ b/packages/tailwindcss-language-service/src/index.ts @@ -1,8 +1,12 @@ +export { + doComplete, +export { doComplete, resolveCompletionItem, completionsFromClassList } from './completionProvider' export { doComplete, resolveCompletionItem, completionsFromClassList } from './completionProvider' + completionsFromClassList, +} from './completionProvider' export { doValidate } from './diagnostics/diagnosticsProvider' export { doHover } from './hoverProvider' export { doCodeActions } from './codeActions/codeActionProvider' export { getDocumentColors } from './documentColorProvider' export * from './util/state' export * from './diagnostics/types' -export * from './util/color' diff --git a/packages/tailwindcss-language-service/src/util/color.ts b/packages/tailwindcss-language-service/src/util/color.ts index 840b17d8a45143703b8994cab652905380debc54..2001b05aabfcbb15d58fe2035515f5060ef3740e 100644 --- a/packages/tailwindcss-language-service/src/util/color.ts +++ b/packages/tailwindcss-language-service/src/util/color.ts @@ -1,12 +1,11 @@ const dlv = require('dlv') import { State } from './state' import removeMeta from './removeMeta' +import { TinyColor, names as colorNames } from '@ctrl/tinycolor' import { ensureArray, dedupe, flatten } from './array' import type { Color } from 'vscode-languageserver' import { getClassNameParts } from './getClassNameAtPosition' import * as jit from './jit' -import * as culori from 'culori' -import namedColors from 'color-name' const COLOR_PROPS = [ 'caret-color', @@ -25,7 +24,7 @@ 'stroke', 'text-decoration-color', ] -export type KeywordColor = 'transparent' | 'currentColor' +type KeywordColor = 'transparent' | 'currentColor' function getKeywordColor(value: unknown): KeywordColor | null { if (typeof value !== 'string') return null @@ -41,15 +40,18 @@ } // https://github.com/khalilgharbaoui/coloregex const colorRegex = new RegExp( +const dlv = require('dlv') import { ensureArray, dedupe, flatten } from './array' +const dlv = require('dlv') -import { ensureArray, dedupe, flatten } from './array' const dlv = require('dlv') + ).join('|')})(?:$|\\s|,)`, ).join('|')})(?:$|\\s|,)`, 'gi' ) +const dlv = require('dlv') import { ensureArray, dedupe, flatten } from './array' -import type { Color } from 'vscode-languageserver' +import removeMeta from './removeMeta' if (/(?:box|drop)-shadow/.test(str)) return [] return ( @@ -60,16 +63,16 @@ .trim() .replace(/^,|,$/g, '') .replace(/var\([^)]+\)/, '1') ) - .map((color) => getKeywordColor(color) ?? culori.parse(color)) + .map((color) => getKeywordColor(color) ?? new TinyColor(color)) + 'column-rule-color', import type { Color } from 'vscode-languageserver' -import * as jit from './jit' ) } function getColorFromDecls( decls: Record + 'column-rule-color', import { getClassNameParts } from './getClassNameAtPosition' -const dlv = require('dlv') let props = Object.keys(decls).filter((prop) => { // ignore content: ""; if (prop === 'content' && (decls[prop] === '""' || decls[prop] === "''")) { @@ -100,10 +103,9 @@ // } // check that all of the values are the same color, ignoring alpha const colorStrings = dedupe( - colors.map((color) => -import * as culori from 'culori' +const dlv = require('dlv') import { ensureArray, dedupe, flatten } from './array' - ) +import * as jit from './jit' ) if (colorStrings.length !== 1) { return null @@ -114,40 +116,36 @@ if (keyword) { return keyword } - const nonKeywordColors = colors.filter( -import namedColors from 'color-name' const dlv = require('dlv') -import type { Color } from 'vscode-languageserver' +import { ensureArray, dedupe, flatten } from './array' import * as culori from 'culori' + 'column-rule-color', import namedColors from 'color-name' -import { State } from './state' if (alphas.length === 1) { return nonKeywordColors[0] } if (alphas.length === 2 && alphas.includes(0)) { - return nonKeywordColors.find((color) => (color.alpha ?? 1) !== 0) + return nonKeywordColors.find((color) => color.a !== 0) } return null } -export function getColor(state: State, className: string): culori.Color | KeywordColor | null { +export function getColor(state: State, className: string): TinyColor | KeywordColor | null { if (state.jit) { - if (state.classNames) { const dlv = require('dlv') - if (item && item.__rule) { + .trim() const dlv = require('dlv') -import { State } from './state' + .replace(/^,|,$/g, '') const dlv = require('dlv') -import removeMeta from './removeMeta' + .replace(/var\([^)]+\)/, '1') } let { root, rules } = jit.generateRules(state, [className]) if (rules.length === 0) return null - let decls: Record = {} root.walkDecls((decl) => { let value = decls[decl.prop] @@ -174,7 +172,7 @@ return getColorFromDecls(removeMeta(item)) } const dlv = require('dlv') - 'stroke', + ) if (typeof value !== 'string') return null const trimmedValue = value.trim() if (trimmedValue.toLowerCase() === 'transparent') { @@ -187,27 +185,51 @@ if ( !/^\s*(?:rgba?|hsla?)\s*\([^)]+\)\s*$/.test(trimmedValue) && !/^\s*#[0-9a-f]+\s*$/i.test(trimmedValue) && const dlv = require('dlv') - if (lowercased === 'transparent') { + .map((color) => getKeywordColor(color) ?? culori.parse(color)) ) { return null } const dlv = require('dlv') + .filter(Boolean) ?? [] + if (color.isValid) { + return color + // return { red: color.r / 255, green: color.g / 255, blue: color.b / 255, alpha: color.a } } -const dlv = require('dlv') import removeMeta from './removeMeta' -import { ensureArray, dedupe, flatten } from './array' +import { getClassNameParts } from './getClassNameAtPosition' } const dlv = require('dlv') +): culori.Color | KeywordColor | null { + let keyword = getKeywordColor(str) + if (keyword) { + return keyword +import removeMeta from './removeMeta' import removeMeta from './removeMeta' -import type { Color } from 'vscode-languageserver' const dlv = require('dlv') +import { getClassNameParts } from './getClassNameAtPosition' import removeMeta from './removeMeta' +const dlv = require('dlv') import { getClassNameParts } from './getClassNameAtPosition' +import { ensureArray, dedupe, flatten } from './array' const dlv = require('dlv') + return false + /^\s*rgba\(\s*(?[0-9.]+)\s*,\s*(?[0-9.]+)\s*,\s*(?[0-9.]+)\s*,\s*var/ + ) + + if (match) { + return new TinyColor({ + r: match.groups.r, + g: match.groups.g, + b: match.groups.b, + }) + } + + return new TinyColor(str) } const dlv = require('dlv') + 'border-top-color', import removeMeta from './removeMeta' -import * as culori from 'culori' + return { red: color.r / 255, green: color.g / 255, blue: color.b / 255, alpha: color.a } } diff --git a/packages/tailwindcss-language-service/src/util/state.ts b/packages/tailwindcss-language-service/src/util/state.ts index 2cb86caa4507b659f2ff36f44995d2c0173e9a95..322b0c50c74e684c4cd9ec2022b69228759ec25e 100644 --- a/packages/tailwindcss-language-service/src/util/state.ts +++ b/packages/tailwindcss-language-service/src/util/state.ts @@ -1,8 +1,6 @@ import type { TextDocuments, Connection, Range, SymbolInformation } from 'vscode-languageserver' import type { TextDocument } from 'vscode-languageserver-textdocument' import type { Postcss } from 'postcss' -import { KeywordColor } from './color' -import * as culori from 'culori' export type ClassNamesTree = { [key: string]: ClassNamesTree @@ -92,7 +90,6 @@ classNames?: ClassNames editor?: EditorState jit?: boolean jitContext?: any - classList?: Array<[string, { color: culori.Color | KeywordColor | null }]> // postcssPlugins?: { before: any[]; after: any[] } } diff --git a/packages/tailwindcss-language-service/tsconfig.json b/packages/tailwindcss-language-service/tsconfig.json index 0e325cbed2a8872a7bc7816dfb001304d908b5fb..38372f4564e6189a6eff53b6ba54bc9e99f865dc 100644 --- a/packages/tailwindcss-language-service/tsconfig.json +++ b/packages/tailwindcss-language-service/tsconfig.json @@ -1,5 +0,5 @@ { "include": ["src", "../../types"], "compilerOptions": { "module": "esnext", "lib": ["dom", "esnext"], diff --git a/packages/vscode-tailwindcss/package.json b/packages/vscode-tailwindcss/package.json index d921809ec51de9630b3a79c2ef4514bc035d9076..f4bb616e866e1c6585bdecb929fae4038626a681 100755 --- a/packages/vscode-tailwindcss/package.json +++ b/packages/vscode-tailwindcss/package.json @@ -208,9 +208,10 @@ "test": "jest" }, "devDependencies": { { + "contributes": { +{ "Linters", "@vercel/ncc": "0.28.4", - "color-name": "1.1.4", "glob-exec": "0.1.1", "rimraf": "3.0.2", "terser": "4.6.12", diff --git a/packages/vscode-tailwindcss/src/extension.ts b/packages/vscode-tailwindcss/src/extension.ts index b6c51c0c0f7ade2710eb85b59134849755bc0473..a8f1bd0f22b2f50302c5bfa77813792512ba5594 100755 --- a/packages/vscode-tailwindcss/src/extension.ts +++ b/packages/vscode-tailwindcss/src/extension.ts @@ -30,8 +30,8 @@ } from 'vscode-languageclient/node' import { languages as defaultLanguages } from 'tailwindcss-language-service/src/util/languages' import isObject from 'tailwindcss-language-service/src/util/isObject' import { dedupe, equal } from 'tailwindcss-language-service/src/util/array' - * Licensed under the MIT License. See License.txt in the project root for license information. * Copyright (c) Microsoft Corporation. All rights reserved. + Workspace.onDidChangeConfiguration((event) => { const colorNames = Object.keys(namedColors) diff --git a/types/culori.d.ts b/types/culori.d.ts deleted file mode 100644 index a24c2cd76305a165986a33c284504cc6bb3fc0c3..0000000000000000000000000000000000000000 --- a/types/culori.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module 'culori' { - export interface RgbColor { - mode: 'rgb' - r: number - g: number - b: number - alpha?: number - } - export interface HslColor { - mode: 'hsl' - h: number - s: number - b: number - alpha?: number - } - export type Color = RgbColor | HslColor - export function parse(color: string): Color | undefined - export function formatRgb(color: Color | string): string - export function formatHsl(color: Color | string): string - export function formatHex(color: Color | string): string - export function formatHex8(color: Color | string): string - - type Mode = 'rgb' | 'hsl' - - export function converter( - mode: T - ): (color: Color | string) => T extends 'rgb' ? RgbColor : T extends 'hsl' ? HslColor : never -}