From 0a88b3f919d03c09ff56efd0c5fa6948eb00cc4c Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 13 Feb 2018 14:03:56 -0800 Subject: [PATCH 1/9] feat(packages): enable typescript --- packages/lwc-compiler/package.json | 6 +++--- packages/lwc-compiler/tsconfig.json | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 packages/lwc-compiler/tsconfig.json diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index 8dd7966c41..88ad29ec09 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -7,8 +7,7 @@ "license": "ISC", "scripts": { "clean": "rimraf dist/", - "build": "babel src/ --out-dir dist/commonjs", - "build:umd": "webpack --progress", + "build": "tsc", "test": "jest --coverage --maxWorkers=2" }, "devDependencies": { @@ -61,6 +60,7 @@ "postcss-plugin-lwc": "0.17.15", "rollup": "0.50.0", "rollup-plugin-babel": "^3.0.2", - "rollup-plugin-replace": "^2.0.0" + "rollup-plugin-replace": "^2.0.0", + "typescript": "^2.7.1" } } diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json new file mode 100644 index 0000000000..8ad94b979d --- /dev/null +++ b/packages/lwc-compiler/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + // Compilation Configuration + "target": "es2017", + "module": "es2015", + "sourceMap": true, + // TODO: turn back to true when there are no more js files in the package + // "declaration": true, + "rootDir": "src", + "allowJs": true, + "outDir": "dist", + + // Environment Configuration + "moduleResolution": "node", + + // Enhance Strictness + "strict": true, + "suppressImplicitAnyIndexErrors": true + }, + "include": [ + "src/**/*", + ], + "exclude": [ + "**/__tests__/*" + ] +} From 732aec0921f3129339c2c5d7d740443904863863 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Feb 2018 10:52:21 -0800 Subject: [PATCH 2/9] feat(jest): run tests for both js and ts --- packages/lwc-compiler/jest.config.js | 14 +- packages/lwc-compiler/package.json | 12 +- packages/lwc-compiler/tsconfig.json | 1 + yarn.lock | 471 ++++++++++++++++++++++++++- 4 files changed, 477 insertions(+), 21 deletions(-) diff --git a/packages/lwc-compiler/jest.config.js b/packages/lwc-compiler/jest.config.js index d178f1b0cc..f6f988cb15 100644 --- a/packages/lwc-compiler/jest.config.js +++ b/packages/lwc-compiler/jest.config.js @@ -1,7 +1,9 @@ -/* eslint-env node */ - module.exports = { - testMatch: [ - '**/?(*.)(spec|test).js' - ] -} + testRegex: "\\.spec\\.(js|ts)$", + transform: { + "^.+\\.js$": "babel-jest", + "^.+\\.ts$": "ts-jest" + }, + moduleFileExtensions: ["ts", "js", "json", "node"], +}; + diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index 88ad29ec09..fec5ee1872 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -11,11 +11,16 @@ "test": "jest --coverage --maxWorkers=2" }, "devDependencies": { + "@types/jest": "^22.1.2", "babel-cli": "^6.24.0", + "babel-jest": "^22.2.2", "jest": "^21.2.1", "power-assert": "^1.4.2", "rimraf": "^2.6.1", "string-replace-webpack-plugin": "0.1.3", + "ts-jest": "^22.0.4", + "tslint": "^5.2.0", + "typescript": "^2.7.1", "webpack": "^3.7.1", "webpack-closure-compiler": "2.1.5" }, @@ -54,13 +59,16 @@ "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.0", "babel-preset-minify": "~0.2.0", + "babel-traverse": "^6.26.0", + "babylon": "^6.18.0", "cssnano": "^3.10.0", "lwc-template-compiler": "0.17.15", + "parse5": "^3.0.3", "postcss": "^6.0.13", "postcss-plugin-lwc": "0.17.15", + "postcss-selector-parser": "^3.1.1", "rollup": "0.50.0", "rollup-plugin-babel": "^3.0.2", - "rollup-plugin-replace": "^2.0.0", - "typescript": "^2.7.1" + "rollup-plugin-replace": "^2.0.0" } } diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json index 8ad94b979d..ac2cf35d91 100644 --- a/packages/lwc-compiler/tsconfig.json +++ b/packages/lwc-compiler/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "lib": ["dom", "es2017"], // Compilation Configuration "target": "es2017", "module": "es2015", diff --git a/yarn.lock b/yarn.lock index 5341c496bc..6ba0954894 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,12 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/code-frame@^7.0.0-beta.35": + version "7.0.0-beta.40" + resolved "http://npm.lwcjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40/37e2b0cf7c56026b4b21d3927cadf81adec32ac6.tgz#37e2b0cf7c56026b4b21d3927cadf81adec32ac6" + dependencies: + "@babel/highlight" "7.0.0-beta.40" + "@babel/helper-function-name@7.0.0-beta.36": version "7.0.0-beta.36" resolved "http://npm.lwcjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.36/366e3bc35147721b69009f803907c4d53212e88d.tgz#366e3bc35147721b69009f803907c4d53212e88d" @@ -24,6 +30,14 @@ dependencies: "@babel/types" "7.0.0-beta.36" +"@babel/highlight@7.0.0-beta.40": + version "7.0.0-beta.40" + resolved "http://npm.lwcjs.org/@babel/highlight/-/highlight-7.0.0-beta.40/b43d67d76bf46e1d10d227f68cddcd263786b255.tgz#b43d67d76bf46e1d10d227f68cddcd263786b255" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + "@babel/template@7.0.0-beta.36": version "7.0.0-beta.36" resolved "http://npm.lwcjs.org/@babel/template/-/template-7.0.0-beta.36/02e903de5d68bd7899bce3c5b5447e59529abb00.tgz#02e903de5d68bd7899bce3c5b5447e59529abb00" @@ -197,6 +211,14 @@ version "21.1.2" resolved "https://registry.npmjs.org/@types/jest/-/jest-21.1.2.tgz#05ebfa64817b626694ced56745a7949281981048" +"@types/jest@^22.1.2": + version "22.1.2" + resolved "https://registry.npmjs.org/@types/jest/-/jest-22.1.2.tgz#813a79ec98221633845627636dbc606f31220dbc" + +"@types/node@*": + version "9.4.6" + resolved "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e" + "@types/node@^6.0.46": version "6.0.89" resolved "https://registry.npmjs.org/@types/node/-/node-6.0.89.tgz#154be0e6a823760cd6083aa8c48f952e2e63e0b0" @@ -208,7 +230,7 @@ JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^1.0.3: +abab@^1.0.3, abab@^1.0.4: version "1.0.4" resolved "http://npm.lwcjs.org/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -239,6 +261,12 @@ acorn-globals@^3.1.0: dependencies: acorn "^4.0.4" +acorn-globals@^4.1.0: + version "4.1.0" + resolved "http://npm.lwcjs.org/acorn-globals/-/acorn-globals-4.1.0/ab716025dbe17c54d3ef81d32ece2b2d99fe2538.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" + dependencies: + acorn "^5.0.0" + acorn-jsx@^3.0.0: version "3.0.1" resolved "http://npm.lwcjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -265,6 +293,10 @@ acorn@^5.2.1: version "5.2.1" resolved "http://npm.lwcjs.org/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" +acorn@^5.3.0: + version "5.4.1" + resolved "http://npm.lwcjs.org/acorn/-/acorn-5.4.1/fdc58d9d17f4a4e98d102ded826a9b9759125102.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" + add-stream@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -454,6 +486,10 @@ array-filter@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" +array-filter@~0.0.0: + version "0.0.1" + resolved "http://npm.lwcjs.org/array-filter/-/array-filter-0.0.1/7da8cf2e26628ed732803581fd21f67cacd2eeec.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + array-find-index@^1.0.1: version "1.0.2" resolved "http://npm.lwcjs.org/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -466,6 +502,14 @@ array-ify@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" +array-map@~0.0.0: + version "0.0.0" + resolved "http://npm.lwcjs.org/array-map/-/array-map-0.0.0/88a2bab73d1cf7bcd5c1b118a003f66f665fa662.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + +array-reduce@~0.0.0: + version "0.0.0" + resolved "http://npm.lwcjs.org/array-reduce/-/array-reduce-0.0.0/173899d3ffd1c7d9383e4479525dbe278cab5f2b.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + array-union@^1.0.1: version "1.0.2" resolved "http://npm.lwcjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -813,6 +857,13 @@ babel-jest@^21.2.0: babel-plugin-istanbul "^4.0.0" babel-preset-jest "^21.2.0" +babel-jest@^22.2.2: + version "22.2.2" + resolved "http://npm.lwcjs.org/babel-jest/-/babel-jest-22.2.2/eda38dca284e32cc5257f96a9b51351975de4e04.tgz#eda38dca284e32cc5257f96a9b51351975de4e04" + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.2.0" + babel-loader@^7.1.2: version "7.1.2" resolved "http://npm.lwcjs.org/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" @@ -839,7 +890,7 @@ babel-plugin-external-helpers@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4: +babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5: version "4.1.5" resolved "http://npm.lwcjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" dependencies: @@ -855,6 +906,10 @@ babel-plugin-jest-hoist@^22.1.0: version "22.1.0" resolved "http://npm.lwcjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.1.0/c1281dd7887d77a1711dc760468c3b8285dde9ee.tgz#c1281dd7887d77a1711dc760468c3b8285dde9ee" +babel-plugin-jest-hoist@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.2.0/bd34f39d652406669713b8c89e23ef25c890b993.tgz#bd34f39d652406669713b8c89e23ef25c890b993" + babel-plugin-minify-builtins@^0.2.0: version "0.2.0" resolved "http://npm.lwcjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.2.0/317f824b0907210b6348671bb040ca072e2e0c82.tgz#317f824b0907210b6348671bb040ca072e2e0c82" @@ -1292,6 +1347,13 @@ babel-preset-jest@^21.2.0: babel-plugin-jest-hoist "^21.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" +babel-preset-jest@^22.0.1, babel-preset-jest@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.2.0/f77b43f06ef4d8547214b2e206cc76a25c3ba0e2.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" + dependencies: + babel-plugin-jest-hoist "^22.2.0" + babel-plugin-syntax-object-rest-spread "^6.13.0" + babel-preset-jest@^22.1.0: version "22.1.0" resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.1.0/ff4e704102f9642765e2254226050561d8942ec9.tgz#ff4e704102f9642765e2254226050561d8942ec9" @@ -1346,7 +1408,7 @@ babel-runtime@6.25.0, babel-runtime@~6.25.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-runtime@6.26.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@6.26.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2: version "6.26.0" resolved "http://npm.lwcjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -1568,6 +1630,10 @@ brorand@^1.0.1: version "1.1.0" resolved "http://npm.lwcjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +browser-process-hrtime@^0.1.2: + version "0.1.2" + resolved "http://npm.lwcjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2/425d68a58d3447f02a04aa894187fce8af8b7b8e.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" + browser-resolve@^1.11.0, browser-resolve@^1.11.2: version "1.11.2" resolved "http://npm.lwcjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" @@ -1838,7 +1904,7 @@ chalk@~2.3.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chokidar@^1.6.1, chokidar@^1.7.0: +chokidar@^1.6.0, chokidar@^1.6.1, chokidar@^1.7.0: version "1.7.0" resolved "http://npm.lwcjs.org/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -1921,6 +1987,14 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +cliui@^4.0.0: + version "4.0.0" + resolved "http://npm.lwcjs.org/cliui/-/cliui-4.0.0/743d4650e05f36d1ed2575b59638d87322bfbbcc.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -2174,6 +2248,10 @@ content-type-parser@^1.0.1: version "1.0.1" resolved "http://npm.lwcjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" +content-type-parser@^1.0.2: + version "1.0.2" + resolved "http://npm.lwcjs.org/content-type-parser/-/content-type-parser-1.0.2/caabe80623e63638b2502fd4c7f12ff4ce2352e7.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" + content-type@~1.0.4: version "1.0.4" resolved "http://npm.lwcjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -2476,6 +2554,22 @@ corser@~2.0.0: version "2.0.1" resolved "http://npm.lwcjs.org/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" +cpx@^1.5.0: + version "1.5.0" + resolved "http://npm.lwcjs.org/cpx/-/cpx-1.5.0/185be018511d87270dedccc293171e37655ab88f.tgz#185be018511d87270dedccc293171e37655ab88f" + dependencies: + babel-runtime "^6.9.2" + chokidar "^1.6.0" + duplexer "^0.1.1" + glob "^7.0.5" + glob2base "^0.0.12" + minimatch "^3.0.2" + mkdirp "^0.5.1" + resolve "^1.1.7" + safe-buffer "^5.0.1" + shell-quote "^1.6.1" + subarg "^1.0.0" + crc32-stream@^2.0.0: version "2.0.0" resolved "http://npm.lwcjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" @@ -2910,6 +3004,12 @@ domain-browser@^1.1.1: version "1.1.7" resolved "http://npm.lwcjs.org/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" +domexception@^1.0.0: + version "1.0.1" + resolved "http://npm.lwcjs.org/domexception/-/domexception-1.0.1/937442644ca6a31261ef36e3ec677fe805582c90.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + dependencies: + webidl-conversions "^4.0.2" + dot-prop@^3.0.0: version "3.0.0" resolved "http://npm.lwcjs.org/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -3119,7 +3219,7 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1 version "1.0.5" resolved "http://npm.lwcjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@^1.6.1: +escodegen@^1.6.1, escodegen@^1.9.0: version "1.9.0" resolved "http://npm.lwcjs.org/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" dependencies: @@ -3461,6 +3561,17 @@ expect@^21.2.1: jest-message-util "^21.2.1" jest-regex-util "^21.2.0" +expect@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/expect/-/expect-22.3.0/b1cb7db27a951ab6055f43937277152a9f668028.tgz#b1cb7db27a951ab6055f43937277152a9f668028" + dependencies: + ansi-styles "^3.2.0" + jest-diff "^22.1.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^22.2.0" + jest-message-util "^22.2.0" + jest-regex-util "^22.1.0" + express@^4.14.0, express@^4.15.2: version "4.16.2" resolved "http://npm.lwcjs.org/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" @@ -3672,6 +3783,10 @@ find-cache-dir@^1.0.0: make-dir "^1.0.0" pkg-dir "^2.0.0" +find-index@^0.1.1: + version "0.1.1" + resolved "http://npm.lwcjs.org/find-index/-/find-index-0.1.1/675d358b2ca3892d795a1ab47232f8b6e2e0dde4.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + find-node-modules@1.0.4: version "1.0.4" resolved "http://npm.lwcjs.org/find-node-modules/-/find-node-modules-1.0.4/b6deb3cccb699c87037677bcede2c5f5862b2550.tgz#b6deb3cccb699c87037677bcede2c5f5862b2550" @@ -3770,6 +3885,14 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "http://npm.lwcjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0/982d6893af918e72d08dec9e8673ff2b5a8d6add.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" +fs-extra@4.0.3: + version "4.0.3" + resolved "http://npm.lwcjs.org/fs-extra/-/fs-extra-4.0.3/0d852122e5bc5beb453fb028e9c0c9bf36340c94.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^0.30.0: version "0.30.0" resolved "http://npm.lwcjs.org/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -3968,6 +4091,12 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob2base@^0.0.12: + version "0.0.12" + resolved "http://npm.lwcjs.org/glob2base/-/glob2base-0.0.12/9d419b3e28f12e83a362164a277055922c9c0d56.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + glob@7.1.1: version "7.1.1" resolved "http://npm.lwcjs.org/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" @@ -4336,6 +4465,12 @@ html-encoding-sniffer@^1.0.1: dependencies: whatwg-encoding "^1.0.1" +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "http://npm.lwcjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2/e70d84b94da53aa375e11fe3a351be6642ca46f8.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + http-errors@1.6.2, http-errors@~1.6.2: version "1.6.2" resolved "http://npm.lwcjs.org/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" @@ -4657,6 +4792,10 @@ is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "http://npm.lwcjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" +is-generator-fn@^1.0.0: + version "1.0.0" + resolved "http://npm.lwcjs.org/is-generator-fn/-/is-generator-fn-1.0.0/969d49e1bb3329f6bb7f09089be26578b2ddd46a.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -4941,6 +5080,22 @@ jest-config@^21.2.1: jest-validate "^21.2.1" pretty-format "^21.2.1" +jest-config@^22.0.1: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-config/-/jest-config-22.3.0/94c7149f123933a872ee24c1719687419c4a623c.tgz#94c7149f123933a872ee24c1719687419c4a623c" + dependencies: + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^22.3.0" + jest-environment-node "^22.3.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^22.3.0" + jest-regex-util "^22.1.0" + jest-resolve "^22.3.0" + jest-util "^22.3.0" + jest-validate "^22.2.2" + pretty-format "^22.1.0" + jest-diff@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-diff/-/jest-diff-21.2.1.tgz#46cccb6cab2d02ce98bc314011764bb95b065b4f" @@ -4950,6 +5105,15 @@ jest-diff@^21.2.1: jest-get-type "^21.2.0" pretty-format "^21.2.1" +jest-diff@^22.1.0: + version "22.1.0" + resolved "http://npm.lwcjs.org/jest-diff/-/jest-diff-22.1.0/0fad9d96c87b453896bf939df3dc8aac6919ac38.tgz#0fad9d96c87b453896bf939df3dc8aac6919ac38" + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.1.0" + pretty-format "^22.1.0" + jest-docblock@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -4962,6 +5126,14 @@ jest-environment-jsdom@^21.2.1: jest-util "^21.2.1" jsdom "^9.12.0" +jest-environment-jsdom@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.3.0/c267a063e5dc16219fba0e07542d8aa2576a1c88.tgz#c267a063e5dc16219fba0e07542d8aa2576a1c88" + dependencies: + jest-mock "^22.2.0" + jest-util "^22.3.0" + jsdom "^11.5.1" + jest-environment-node@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz#98c67df5663c7fbe20f6e792ac2272c740d3b8c8" @@ -4969,10 +5141,21 @@ jest-environment-node@^21.2.1: jest-mock "^21.2.0" jest-util "^21.2.1" +jest-environment-node@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-environment-node/-/jest-environment-node-22.3.0/97d34d9706a718d743075149d1950555c10338c0.tgz#97d34d9706a718d743075149d1950555c10338c0" + dependencies: + jest-mock "^22.2.0" + jest-util "^22.3.0" + jest-get-type@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23" +jest-get-type@^22.1.0: + version "22.1.0" + resolved "http://npm.lwcjs.org/jest-get-type/-/jest-get-type-22.1.0/4e90af298ed6181edc85d2da500dbd2753e0d5a9.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9" + jest-haste-map@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz#1363f0a8bb4338f24f001806571eff7a4b2ff3d8" @@ -4997,6 +5180,22 @@ jest-jasmine2@^21.2.1: jest-snapshot "^21.2.1" p-cancelable "^0.3.0" +jest-jasmine2@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-jasmine2/-/jest-jasmine2-22.3.0/ea127dfbb04c6e03998ae0358225435e47520666.tgz#ea127dfbb04c6e03998ae0358225435e47520666" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^22.3.0" + graceful-fs "^4.1.11" + is-generator-fn "^1.0.0" + jest-diff "^22.1.0" + jest-matcher-utils "^22.2.0" + jest-message-util "^22.2.0" + jest-snapshot "^22.2.0" + source-map-support "^0.5.0" + jest-matcher-utils@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz#72c826eaba41a093ac2b4565f865eb8475de0f64" @@ -5005,6 +5204,14 @@ jest-matcher-utils@^21.2.1: jest-get-type "^21.2.0" pretty-format "^21.2.1" +jest-matcher-utils@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/jest-matcher-utils/-/jest-matcher-utils-22.2.0/5390f823c18c748543d463825aa8e4df0db253ca.tgz#5390f823c18c748543d463825aa8e4df0db253ca" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + pretty-format "^22.1.0" + jest-message-util@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz#bfe5d4692c84c827d1dcf41823795558f0a1acbe" @@ -5013,14 +5220,32 @@ jest-message-util@^21.2.1: micromatch "^2.3.11" slash "^1.0.0" +jest-message-util@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/jest-message-util/-/jest-message-util-22.2.0/84a6bb34186d8b9af7e0732fabbef63f7355f7b2.tgz#84a6bb34186d8b9af7e0732fabbef63f7355f7b2" + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + jest-mock@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-mock/-/jest-mock-21.2.0.tgz#7eb0770e7317968165f61ea2a7281131534b3c0f" +jest-mock@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/jest-mock/-/jest-mock-22.2.0/444b3f9488a7473adae09bc8a77294afded397a7.tgz#444b3f9488a7473adae09bc8a77294afded397a7" + jest-regex-util@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530" +jest-regex-util@^22.1.0: + version "22.1.0" + resolved "http://npm.lwcjs.org/jest-regex-util/-/jest-regex-util-22.1.0/5daf2fe270074b6da63e5d85f1c9acc866768f53.tgz#5daf2fe270074b6da63e5d85f1c9acc866768f53" + jest-resolve-dependencies@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09" @@ -5035,6 +5260,13 @@ jest-resolve@^21.2.0: chalk "^2.0.1" is-builtin-module "^1.0.0" +jest-resolve@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-resolve/-/jest-resolve-22.3.0/648e797f708e8701071a0fa9fac652c577bb66d9.tgz#648e797f708e8701071a0fa9fac652c577bb66d9" + dependencies: + browser-resolve "^1.11.2" + chalk "^2.0.1" + jest-runner@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-runner/-/jest-runner-21.2.1.tgz#194732e3e518bfb3d7cbfc0fd5871246c7e1a467" @@ -5083,6 +5315,17 @@ jest-snapshot@^21.2.1: natural-compare "^1.4.0" pretty-format "^21.2.1" +jest-snapshot@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/jest-snapshot/-/jest-snapshot-22.2.0/0c0ba152d296ef70fa198cc84977a2cc269ee4cf.tgz#0c0ba152d296ef70fa198cc84977a2cc269ee4cf" + dependencies: + chalk "^2.0.1" + jest-diff "^22.1.0" + jest-matcher-utils "^22.2.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^22.1.0" + jest-util@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-util/-/jest-util-21.2.1.tgz#a274b2f726b0897494d694a6c3d6a61ab819bb78" @@ -5095,6 +5338,18 @@ jest-util@^21.2.1: jest-validate "^21.2.1" mkdirp "^0.5.1" +jest-util@^22.3.0: + version "22.3.0" + resolved "http://npm.lwcjs.org/jest-util/-/jest-util-22.3.0/d05bff567a3a86c0e9b3838d812f8290aa768097.tgz#d05bff567a3a86c0e9b3838d812f8290aa768097" + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^22.2.0" + jest-validate "^22.2.2" + mkdirp "^0.5.1" + jest-validate@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7" @@ -5104,6 +5359,15 @@ jest-validate@^21.2.1: leven "^2.1.0" pretty-format "^21.2.1" +jest-validate@^22.2.2: + version "22.2.2" + resolved "http://npm.lwcjs.org/jest-validate/-/jest-validate-22.2.2/9cdce422c93cc28395e907ac6bbc929158d9a6ba.tgz#9cdce422c93cc28395e907ac6bbc929158d9a6ba" + dependencies: + chalk "^2.0.1" + jest-get-type "^22.1.0" + leven "^2.1.0" + pretty-format "^22.1.0" + jest@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest/-/jest-21.2.1.tgz#c964e0b47383768a1438e3ccf3c3d470327604e1" @@ -5144,6 +5408,37 @@ jschardet@^1.4.2: version "1.5.1" resolved "http://npm.lwcjs.org/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" +jsdom@^11.5.1: + version "11.6.2" + resolved "http://npm.lwcjs.org/jsdom/-/jsdom-11.6.2/25d1ef332d48adf77fc5221fe2619967923f16bb.tgz#25d1ef332d48adf77fc5221fe2619967923f16bb" + dependencies: + abab "^1.0.4" + acorn "^5.3.0" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + browser-process-hrtime "^0.1.2" + content-type-parser "^1.0.2" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + domexception "^1.0.0" + escodegen "^1.9.0" + html-encoding-sniffer "^1.0.2" + left-pad "^1.2.0" + nwmatcher "^1.4.3" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.83.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.3" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-url "^6.4.0" + ws "^4.0.0" + xml-name-validator "^3.0.0" + jsdom@^9.12.0: version "9.12.0" resolved "http://npm.lwcjs.org/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" @@ -5342,6 +5637,10 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +left-pad@^1.2.0: + version "1.2.0" + resolved "http://npm.lwcjs.org/left-pad/-/left-pad-1.2.0/d30a73c6b8201d8f7d8e7956ba9616087a68e0ee.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" + lerna@^2.5.1: version "2.8.0" resolved "http://npm.lwcjs.org/lerna/-/lerna-2.8.0/309a816fca5c73ea38f9f20e314a836e99b54cf0.tgz#309a816fca5c73ea38f9f20e314a836e99b54cf0" @@ -5578,6 +5877,10 @@ lodash.some@^4.6.0: version "4.6.0" resolved "http://npm.lwcjs.org/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "http://npm.lwcjs.org/lodash.sortby/-/lodash.sortby-4.7.0/edd14c824e2cc9c1e0b0a1b42bb5210516a42438.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + lodash.template@^3.0.0: version "3.6.2" resolved "http://npm.lwcjs.org/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" @@ -5632,6 +5935,10 @@ lodash@^4.0.0, lodash@^4.1.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.4, lo version "4.17.4" resolved "http://npm.lwcjs.org/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.13.1: + version "4.17.5" + resolved "http://npm.lwcjs.org/lodash/-/lodash-4.17.5/99a92d65c0272debe8c96b6057bc8fbfa3bed511.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" + log@^1.4.0: version "1.4.0" resolved "http://npm.lwcjs.org/log/-/log-1.4.0.tgz#4ba1d890fde249b031dca03bc37eaaf325656f1c" @@ -6098,7 +6405,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "http://npm.lwcjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -"nwmatcher@>= 1.3.9 < 2.0.0": +"nwmatcher@>= 1.3.9 < 2.0.0", nwmatcher@^1.4.3: version "1.4.3" resolved "http://npm.lwcjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" @@ -6323,10 +6630,20 @@ parse5-with-errors@^4.0.1: dependencies: "@types/node" "^6.0.46" +parse5@4.0.0: + version "4.0.0" + resolved "http://npm.lwcjs.org/parse5/-/parse5-4.0.0/6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + parse5@^1.5.1: version "1.5.1" resolved "http://npm.lwcjs.org/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" +parse5@^3.0.3: + version "3.0.3" + resolved "http://npm.lwcjs.org/parse5/-/parse5-3.0.3/042f792ffdd36851551cf4e9e066b3874ab45b5c.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" + dependencies: + "@types/node" "*" + parseurl@~1.3.2: version "1.3.2" resolved "http://npm.lwcjs.org/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" @@ -6449,6 +6766,10 @@ pluralize@^7.0.0: version "7.0.0" resolved "http://npm.lwcjs.org/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +pn@^1.1.0: + version "1.1.0" + resolved "http://npm.lwcjs.org/pn/-/pn-1.1.0/e2f4cef0e219f463c179ab37463e4e1ecdccbafb.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + portfinder@^1.0.13: version "1.0.13" resolved "http://npm.lwcjs.org/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -6626,7 +6947,7 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" -postcss-selector-parser@3.1.1: +postcss-selector-parser@3.1.1, postcss-selector-parser@^3.1.1: version "3.1.1" resolved "http://npm.lwcjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1/4f875f4afb0c96573d5cf4d74011aee250a7e865.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" dependencies: @@ -6799,6 +7120,13 @@ pretty-format@^21.2.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" +pretty-format@^22.1.0: + version "22.1.0" + resolved "http://npm.lwcjs.org/pretty-format/-/pretty-format-22.1.0/2277605b40ed4529ae4db51ff62f4be817647914.tgz#2277605b40ed4529ae4db51ff62f4be817647914" + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + private@^0.1.6: version "0.1.7" resolved "http://npm.lwcjs.org/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -6860,6 +7188,10 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "http://npm.lwcjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@^2.1.0: + version "2.1.0" + resolved "http://npm.lwcjs.org/punycode/-/punycode-2.1.0/5f863edc89b96db09074bad7947bf09056ca4e7d.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + puppeteer@0.13.0: version "0.13.0" resolved "http://npm.lwcjs.org/puppeteer/-/puppeteer-0.13.0/2e6956205f2c640964c2107f620ae1eef8bde8fd.tgz#2e6956205f2c640964c2107f620ae1eef8bde8fd" @@ -7142,6 +7474,20 @@ replace-ext@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +request-promise-core@1.1.1: + version "1.1.1" + resolved "http://npm.lwcjs.org/request-promise-core/-/request-promise-core-1.1.1/3eee00b2c5aa83239cfb04c5700da36f81cd08b6.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise-native@^1.0.5: + version "1.0.5" + resolved "http://npm.lwcjs.org/request-promise-native/-/request-promise-native-1.0.5/5281770f68e0c9719e5163fd3fab482215f4fda5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" + dependencies: + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + request@2.79.0: version "2.79.0" resolved "http://npm.lwcjs.org/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" @@ -7194,7 +7540,7 @@ request@2.81.0, request@~2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.79.0: +request@^2.79.0, request@^2.83.0: version "2.83.0" resolved "http://npm.lwcjs.org/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" dependencies: @@ -7263,7 +7609,7 @@ resolve@1.1.7: version "1.1.7" resolved "http://npm.lwcjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@1.5.0, resolve@^1.2.0: +resolve@1.5.0, resolve@^1.1.7, resolve@^1.2.0: version "1.5.0" resolved "http://npm.lwcjs.org/resolve/-/resolve-1.5.0/1f09acce796c9a762579f31b2c1cc4c3cddf9f36.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" dependencies: @@ -7462,7 +7808,7 @@ sax@1.2.1: version "1.2.1" resolved "http://npm.lwcjs.org/sax/-/sax-1.2.1/7b8e656190b228e81a66aea748480d828cd2d37a.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" -sax@>=0.6.0, sax@^1.2.1, sax@~1.2.1: +sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.1: version "1.2.4" resolved "http://npm.lwcjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -7588,6 +7934,15 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" +shell-quote@^1.6.1: + version "1.6.1" + resolved "http://npm.lwcjs.org/shell-quote/-/shell-quote-1.6.1/f4781949cce402697127430ea3b3c5476f481767.tgz#f4781949cce402697127430ea3b3c5476f481767" + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + shelljs@0.7.6: version "0.7.6" resolved "http://npm.lwcjs.org/shelljs/-/shelljs-0.7.6/379cccfb56b91c8601e4793356eb5382924de9ad.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" @@ -7797,6 +8152,10 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" +stack-utils@^1.0.1: + version "1.0.1" + resolved "http://npm.lwcjs.org/stack-utils/-/stack-utils-1.0.1/d4f33ab54e8e38778b0ca5cfd3b3afb12db68620.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + static-extend@^0.1.1: version "0.1.2" resolved "http://npm.lwcjs.org/static-extend/-/static-extend-0.1.2/60809c39cbff55337226fd5e0b520f341f1fb5c6.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -7808,6 +8167,10 @@ static-extend@^0.1.1: version "1.3.1" resolved "http://npm.lwcjs.org/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stealthy-require@^1.1.0: + version "1.1.1" + resolved "http://npm.lwcjs.org/stealthy-require/-/stealthy-require-1.1.1/35b09875b4ff49f26a777e509b3090a3226bf24b.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + stream-browserify@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -7942,6 +8305,12 @@ style-loader@^0.8.3: dependencies: loader-utils "^0.2.5" +subarg@^1.0.0: + version "1.0.0" + resolved "http://npm.lwcjs.org/subarg/-/subarg-1.0.0/f62cf17581e996b48fc965699f54c06ae268b8d2.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + dependencies: + minimist "^1.1.0" + supports-color@3.1.2: version "3.1.2" resolved "http://npm.lwcjs.org/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" @@ -7986,7 +8355,7 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -symbol-tree@^3.2.1: +symbol-tree@^3.2.1, symbol-tree@^3.2.2: version "3.2.2" resolved "http://npm.lwcjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" @@ -8177,12 +8546,18 @@ to-regex@^3.0.1: extend-shallow "^2.0.1" regex-not "^1.0.0" -tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3: +tough-cookie@>=2.3.3, tough-cookie@^2.3.2, tough-cookie@^2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.3" resolved "http://npm.lwcjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" dependencies: punycode "^1.4.1" +tr46@^1.0.0: + version "1.0.1" + resolved "http://npm.lwcjs.org/tr46/-/tr46-1.0.1/a8b13fd6bfd2489519674ccde55ba3693b706d09.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + dependencies: + punycode "^2.1.0" + tr46@~0.0.3: version "0.0.3" resolved "http://npm.lwcjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -8226,6 +8601,21 @@ ts-jest@^21.0.1, ts-jest@^21.1.2: source-map-support "^0.5.0" yargs "^9.0.1" +ts-jest@^22.0.4: + version "22.0.4" + resolved "http://npm.lwcjs.org/ts-jest/-/ts-jest-22.0.4/be5e8d7d2cf3f3ef97d877a6a0562508c3f64515.tgz#be5e8d7d2cf3f3ef97d877a6a0562508c3f64515" + dependencies: + babel-core "^6.24.1" + babel-plugin-istanbul "^4.1.4" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-preset-jest "^22.0.1" + cpx "^1.5.0" + fs-extra "4.0.3" + jest-config "^22.0.1" + pkg-dir "^2.0.0" + source-map-support "^0.5.0" + yargs "^11.0.0" + tslib@^1.7.1: version "1.7.1" resolved "http://npm.lwcjs.org/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec" @@ -8553,6 +8943,12 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "http://npm.lwcjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1/82ac2bff63d950ea9e3189a58a65625fedf19045.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + dependencies: + browser-process-hrtime "^0.1.2" + walkdir@^0.0.11: version "0.0.11" resolved "http://npm.lwcjs.org/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" @@ -8672,7 +9068,7 @@ webidl-conversions@^3.0.0: version "3.0.1" resolved "http://npm.lwcjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" -webidl-conversions@^4.0.0: +webidl-conversions@^4.0.0, webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: version "4.0.2" resolved "http://npm.lwcjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -8764,6 +9160,12 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" +whatwg-encoding@^1.0.3: + version "1.0.3" + resolved "http://npm.lwcjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3/57c235bc8657e914d24e1a397d3c82daee0a6ba3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" + dependencies: + iconv-lite "0.4.19" + whatwg-url@^4.3.0: version "4.8.0" resolved "http://npm.lwcjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" @@ -8771,6 +9173,14 @@ whatwg-url@^4.3.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +whatwg-url@^6.4.0: + version "6.4.0" + resolved "http://npm.lwcjs.org/whatwg-url/-/whatwg-url-6.4.0/08fdf2b9e872783a7a1f6216260a1d66cc722e08.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.0" + webidl-conversions "^4.0.1" + whet.extend@~0.9.9: version "0.9.9" resolved "http://npm.lwcjs.org/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -8869,10 +9279,22 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" +ws@^4.0.0: + version "4.0.0" + resolved "http://npm.lwcjs.org/ws/-/ws-4.0.0/bfe1da4c08eeb9780b986e0e4d10eccd7345999f.tgz#bfe1da4c08eeb9780b986e0e4d10eccd7345999f" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + xml-name-validator@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "http://npm.lwcjs.org/xml-name-validator/-/xml-name-validator-3.0.0/6ae73e06de4d8c6e47f9fb181f78d648ad457c6a.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + xml2js@0.4.17: version "0.4.17" resolved "http://npm.lwcjs.org/xml2js/-/xml2js-0.4.17/17be93eaae3f3b779359c795b419705a8817e868.tgz#17be93eaae3f3b779359c795b419705a8817e868" @@ -8916,6 +9338,29 @@ yargs-parser@^8.0.0: dependencies: camelcase "^4.1.0" +yargs-parser@^9.0.2: + version "9.0.2" + resolved "http://npm.lwcjs.org/yargs-parser/-/yargs-parser-9.0.2/9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + dependencies: + camelcase "^4.1.0" + +yargs@^11.0.0: + version "11.0.0" + resolved "http://npm.lwcjs.org/yargs/-/yargs-11.0.0/c052931006c5eee74610e5fc0354bedfd08a201b.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + yargs@^8.0.2: version "8.0.2" resolved "http://npm.lwcjs.org/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" From 4d439ce7053e6bb13edc0a00f4abd44f2527e2c6 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Feb 2018 10:52:37 -0800 Subject: [PATCH 3/9] feat(jest): run tests for both js and ts --- .../src/__tests__/references/css.spec.ts | 342 ++++++++++++++++++ .../src/__tests__/references/html.spec.ts | 78 ++++ .../__tests__/references/javascript.spec.ts | 115 ++++++ .../src/diagnostics/diagnostic-collector.ts | 34 ++ .../src/diagnostics/diagnostic.ts | 35 ++ packages/lwc-compiler/src/lwc-bundle.ts | 4 + packages/lwc-compiler/src/references/css.ts | 71 ++++ packages/lwc-compiler/src/references/html.ts | 58 +++ .../lwc-compiler/src/references/javascript.ts | 156 ++++++++ .../lwc-compiler/src/references/references.ts | 37 ++ packages/lwc-compiler/src/references/types.ts | 11 + 11 files changed, 941 insertions(+) create mode 100644 packages/lwc-compiler/src/__tests__/references/css.spec.ts create mode 100644 packages/lwc-compiler/src/__tests__/references/html.spec.ts create mode 100644 packages/lwc-compiler/src/__tests__/references/javascript.spec.ts create mode 100644 packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts create mode 100644 packages/lwc-compiler/src/diagnostics/diagnostic.ts create mode 100644 packages/lwc-compiler/src/lwc-bundle.ts create mode 100644 packages/lwc-compiler/src/references/css.ts create mode 100644 packages/lwc-compiler/src/references/html.ts create mode 100644 packages/lwc-compiler/src/references/javascript.ts create mode 100644 packages/lwc-compiler/src/references/references.ts create mode 100644 packages/lwc-compiler/src/references/types.ts diff --git a/packages/lwc-compiler/src/__tests__/references/css.spec.ts b/packages/lwc-compiler/src/__tests__/references/css.spec.ts new file mode 100644 index 0000000000..ff903f4ed5 --- /dev/null +++ b/packages/lwc-compiler/src/__tests__/references/css.spec.ts @@ -0,0 +1,342 @@ +import { getReferences } from '../../references/css'; + +test('single selector', () => { + expect(getReferences(`x-foo { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + ]); +}); + +test('single selector with attributes', () => { + expect( + getReferences(`x-foo[title="Hello"] { color: red; }`, 'test.js'), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + ]); +}); + +test('selector chain', () => { + expect(getReferences(`header x-foo { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + ]); +}); + +test('selector list', () => { + expect( + getReferences(`header x-foo, div, x-bar { color: red; }`, 'test.js'), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 19, + length: 5, + }, + ], + }, + ]); +}); + +test('multiline selector list', () => { + expect(getReferences(`x-foo,\nx-bar { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + ]); +}); + +test('ugly selector list', () => { + expect( + getReferences( + ` x-foo, p .foo, \nx-bar {\n color : red ;\n }`, + 'test.js', + ), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 6, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 28, + length: 5, + }, + ], + }, + ]); +}); + +test('multiple rules', () => { + expect( + getReferences( + `x-foo {\ncolor: red;\n }\n \nx-bar {\ncolor: red;\n}`, + 'test.js', + ), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 25, + length: 5, + }, + ], + }, + ]); +}); + + +test('single selector', () => { + expect(getReferences(`x-foo { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + ]); +}); + +test('single selector with attributes', () => { + expect( + getReferences(`x-foo[title="Hello"] { color: red; }`, 'test.js'), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + ]); +}); + +test('selector chain', () => { + expect(getReferences(`header x-foo { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + ]); +}); + +test('selector list', () => { + expect( + getReferences(`header x-foo, div, x-bar { color: red; }`, 'test.js'), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 19, + length: 5, + }, + ], + }, + ]); +}); + +test('multiline selector list', () => { + expect(getReferences(`x-foo,\nx-bar { color: red; }`, 'test.js')).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 7, + length: 5, + }, + ], + }, + ]); +}); + +test('ugly selector list', () => { + expect( + getReferences( + ` x-foo, p .foo, \nx-bar {\n color : red ;\n }`, + 'test.js', + ), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 6, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 28, + length: 5, + }, + ], + }, + ]); +}); + +test('multiple rules', () => { + expect( + getReferences( + `x-foo {\ncolor: red;\n }\n \nx-bar {\ncolor: red;\n}`, + 'test.js', + ), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 0, + length: 5, + }, + ], + }, + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 25, + length: 5, + }, + ], + }, + ]); +}); diff --git a/packages/lwc-compiler/src/__tests__/references/html.spec.ts b/packages/lwc-compiler/src/__tests__/references/html.spec.ts new file mode 100644 index 0000000000..516cedf084 --- /dev/null +++ b/packages/lwc-compiler/src/__tests__/references/html.spec.ts @@ -0,0 +1,78 @@ +import { getReferences } from '../../references/html'; + +test('simple component', () => { + expect( + getReferences(``, 'test.js'), + ).toEqual([ + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 11, + length: 5, + }, + { + start: 19, + length: 5, + }, + ], + }, + ]); +}); + +test('nested components', () => { + expect( + getReferences( + ``, + 'test.js', + ), + ).toEqual([ + { + id: 'x-bar', + file: 'test.js', + type: 'component', + locations: [ + { + start: 18, + length: 5, + }, + { + start: 26, + length: 5, + }, + ], + }, + { + id: 'x-foo', + file: 'test.js', + type: 'component', + locations: [ + { + start: 11, + length: 5, + }, + { + start: 34, + length: 5, + }, + ], + }, + { + id: 'x-baz', + file: 'test.js', + type: 'component', + locations: [ + { + start: 41, + length: 5, + }, + { + start: 49, + length: 5, + }, + ], + }, + ]); +}); diff --git a/packages/lwc-compiler/src/__tests__/references/javascript.spec.ts b/packages/lwc-compiler/src/__tests__/references/javascript.spec.ts new file mode 100644 index 0000000000..622b541077 --- /dev/null +++ b/packages/lwc-compiler/src/__tests__/references/javascript.spec.ts @@ -0,0 +1,115 @@ +import { getReferences } from '../../references/javascript'; + +describe('resource-url', () => { + test('gather metadata', () => { + expect( + getReferences( + `import resource from '@resource-url/foo';`, + 'test.js', + ), + ).toEqual([ + { + id: 'foo', + file: 'test.js', + type: 'resourceUrl', + locations: [ + { + start: 36, + length: 3, + }, + ], + }, + ]); + }); + + test('errors when using namespaced import', () => { + expect(() => + getReferences( + `import * as resource from '@resource-url/foo';`, + 'test.js', + ), + ).toThrow('@resource-url modules only support default imports.'); + }); + + test('errors when using a named import', () => { + expect(() => + getReferences( + `import { resource } from '@resource-url/foo';`, + 'test.js', + ), + ).toThrow('@resource-url modules only support default imports.'); + }); +}); + +describe('label', () => { + test('gather metadata', () => { + expect( + getReferences(`import label from '@label/foo';`, 'test.js'), + ).toEqual([ + { + id: 'foo', + file: 'test.js', + type: 'label', + locations: [ + { + start: 26, + length: 3, + }, + ], + }, + ]); + }); + + test('errors when using namespaced import', () => { + expect(() => + getReferences(`import * as label from '@label/foo';`, 'test.js'), + ).toThrow('@label modules only support default imports.'); + }); + + test('errors when using a named import', () => { + expect(() => + getReferences(`import { label } from '@label/foo';`, 'test.js'), + ).toThrow('@label modules only support default imports.'); + }); +}); + +describe('apex', () => { + test('gather metadata', () => { + expect( + getReferences( + `import methodA from '@apex/MyClass.methodA';`, + 'test.js', + ), + ).toEqual([ + { + id: 'MyClass.methodA', + file: 'test.js', + type: 'apexMethod', + locations: [ + { + start: 27, + length: 15, + }, + ], + }, + ]); + }); + + test('errors when using namespaced import', () => { + expect(() => + getReferences( + `import * as MyClass from '@apex/MyClass';`, + 'test.js', + ), + ).toThrow('@apex modules only support default imports.'); + }); + + test('errors when using a default import', () => { + expect(() => + getReferences( + `import { methodA } from '@apex/MyClass';`, + 'test.js', + ), + ).toThrow('@apex modules only support default imports.'); + }); +}); diff --git a/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts b/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts new file mode 100644 index 0000000000..06b4dda13c --- /dev/null +++ b/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts @@ -0,0 +1,34 @@ +import { Diagnostic, DiagnosticLevel } from './diagnostic'; + +export class DiagnosticCollector { + private diagnostics: Diagnostic[] = []; + private severityMap: Map; + + constructor(diagnostics?: Diagnostic[]) { + if (diagnostics) { + this.addAll(diagnostics); + } + } + public getAll() { + return this.diagnostics; + } + + public addAll(items: Diagnostic[]) { + if (!Array.isArray(items)) { + return; + } + for (const item of items) { + this.add(item); + } + } + + public add(item: Diagnostic) { + this.diagnostics.push(item); + } + + public hasError() { + return this.diagnostics.some(d => { + return d.level <= DiagnosticLevel.Error; + }); + } +} diff --git a/packages/lwc-compiler/src/diagnostics/diagnostic.ts b/packages/lwc-compiler/src/diagnostics/diagnostic.ts new file mode 100644 index 0000000000..3fdc09169d --- /dev/null +++ b/packages/lwc-compiler/src/diagnostics/diagnostic.ts @@ -0,0 +1,35 @@ +export interface Diagnostic { + /** Level of the diagnostic */ + level: DiagnosticLevel; + + /** Relative path location of the file in the bundle. */ + filename: string; + + /** Error messages that should be outputed */ + message: string; + + /** + * Location in the code affected by the diagnostic. + * This field is optional, for example when the compiler throws an uncaught exception. + */ + location?: Location; +} + +export enum DiagnosticLevel { + /** Unexpected error, parsing error, bundling error */ + Fatal = 0, + /** Linting error with error level, invalid external reference, invalid import, invalid transform */ + Error = 1, + /** Linting error with warning level, usage of an API to be deprecated */ + Warning = 2, + /** Logging messages */ + Log = 3, +} + +export interface Location { + /** 0-base character index in the file */ + start: number; + + /** Number of character after the start index */ + length: number; +} diff --git a/packages/lwc-compiler/src/lwc-bundle.ts b/packages/lwc-compiler/src/lwc-bundle.ts new file mode 100644 index 0000000000..79bd5921b8 --- /dev/null +++ b/packages/lwc-compiler/src/lwc-bundle.ts @@ -0,0 +1,4 @@ +export interface LwcBundle { + entry: string; + sources: [filename: string]: string; +} diff --git a/packages/lwc-compiler/src/references/css.ts b/packages/lwc-compiler/src/references/css.ts new file mode 100644 index 0000000000..d3a995643a --- /dev/null +++ b/packages/lwc-compiler/src/references/css.ts @@ -0,0 +1,71 @@ +import { Reference } from './types'; + +import * as postcss from 'postcss'; +import { NodeSource, Rule } from 'postcss'; + +import * as postcssSelector from 'postcss-selector-parser'; +import { isTag, Tag } from 'postcss-selector-parser'; + +function isCustomElementSelector(tag: string) { + return tag.includes('-'); +} + +function getSelectorOffset(rule: Rule, source: string) { + // line and column are both 1 based. + const { line, column } = rule.source.start!; + + const lines = source.split('\n'); + const lineOffset = lines + .slice(0, line - 1) + .reduce((offset, l) => offset + l.length + 1, 0); + + return lineOffset + column - 1; +} + +function getSelectorReferences( + selector: string, + filename: string, + offset: number, +): Reference[] { + const references: Reference[] = []; + + const processor = postcssSelector(); + const root = processor.astSync(selector, { lossless: true }); + + root.walk(node => { + if (!isTag(node) || !isCustomElementSelector(node.value)) { + return; + } + + references.push({ + id: node.value, + type: 'component', + file: filename, + locations: [ + { + start: offset + node.sourceIndex, + length: node.value.length, + }, + ], + }); + }); + + return references; +} + +export function getReferences(source: string, filename: string): Reference[] { + const references: Reference[] = []; + + const root = postcss.parse(source, { from: filename }); + root.walkRules(rule => { + const selectorOffset = getSelectorOffset(rule, source); + const ruleReferences = getSelectorReferences( + rule.selector, + filename, + selectorOffset, + ); + references.push(...ruleReferences); + }); + + return references; +} diff --git a/packages/lwc-compiler/src/references/html.ts b/packages/lwc-compiler/src/references/html.ts new file mode 100644 index 0000000000..013a48f8b9 --- /dev/null +++ b/packages/lwc-compiler/src/references/html.ts @@ -0,0 +1,58 @@ +import { Reference } from './types'; +import { SAXParser } from 'parse5'; + +function isCustomElement(name: string) { + return name.includes('-'); +} + +export function getReferences(source: string, filename: string): Reference[] { + const parser = new SAXParser({ locationInfo: true }); + + const references: Reference[] = []; + const stack: Reference[] = []; + + parser.on('startTag', (name, attrs, selfClosing, location) => { + if (!isCustomElement(name)) { + return; + } + + const startTagRef: Reference = { + id: name, + type: 'component', + file: filename, + locations: [ + { + // Location offset given by the parser includes the preceding "<" + start: location!.startOffset + 1, + length: name.length, + }, + ], + }; + + stack.push(startTagRef); + }); + + parser.on('endTag', (name, location) => { + if (!isCustomElement(name)) { + return; + } + + const tagRef = stack.pop(); + + if (!tagRef) { + throw new Error(`Missing matching tack for <${name}>`); + } + + tagRef.locations.push({ + // Location offset given by the parser includes the preceding " source.startsWith(`${prefix}/`); +} + +const isApexSource = isGvpSource(APEX_PREFIX); +const isLabelSource = isGvpSource(LABEL_PREFIX); +const isResourceUrlSource = isGvpSource(RESOURCE_URL_PREFIX); + +function getGvpId(path: NodePath) { + const { value } = path.node.source; + const res = /^@[\w-]+\/(.+)$/.exec(value); + + if (!res) { + throw new Error(`Unexpected GVP source for ${value}`); + } + + return res[1]; +} + +function assertOnlyDefaultImport( + path: NodePath, + error: string, +) { + const hasNamedImport = path.node.specifiers.some( + node => !t.isImportDefaultSpecifier(node), + ); + + if (hasNamedImport) { + // TODO: convert into diagnostic + throw new Error(error); + } +} + +function getResourceReferences( + path: NodePath, + filename: string, +): Reference[] { + assertOnlyDefaultImport( + path, + `${RESOURCE_URL_PREFIX} modules only support default imports.`, + ); + + const id = getGvpId(path); + const { source } = path.node; + + return [ + { + id, + type: 'resourceUrl', + file: filename, + locations: [ + { + start: source.start + RESOURCE_URL_PREFIX.length + 2, + length: id.length, + }, + ], + }, + ]; +} + +function getLabelReferences( + path: NodePath, + filename: string, +): Reference[] { + assertOnlyDefaultImport( + path, + `${LABEL_PREFIX} modules only support default imports.`, + ); + + const id = getGvpId(path); + const { source } = path.node; + + return [ + { + id, + type: 'label', + file: filename, + locations: [ + { + start: source.start + LABEL_PREFIX.length + 2, + length: id.length, + }, + ], + }, + ]; +} + +function getApexReferences( + path: NodePath, + filename: string, +): Reference[] { + assertOnlyDefaultImport( + path, + `${APEX_PREFIX} modules only support default imports.`, + ); + + const id = getGvpId(path); + const { source } = path.node; + + return [ + { + id, + type: 'apexMethod', + file: filename, + locations: [ + { + start: source.start + APEX_PREFIX.length + 2, + length: id.length, + }, + ], + }, + ]; +} + +function sfdcReferencesVisitor(references: Reference[], filename: string) { + return { + ImportDeclaration(path: NodePath) { + const { value } = path.node.source; + + let importReferences: Reference[] = []; + + if (isResourceUrlSource(value)) { + importReferences = getResourceReferences(path, filename); + } else if (isLabelSource(value)) { + importReferences = getLabelReferences(path, filename); + } else if (isApexSource(value)) { + importReferences = getApexReferences(path, filename); + } + + references.push(...importReferences); + }, + }; +} + +export function getReferences(source: string, filename: string): Reference[] { + const references: Reference[] = []; + + const ast = parse(source, { + sourceFilename: filename, + sourceType: 'module', + plugins: ['classProperties', 'decorators', 'objectRestSpread'], + }); + + traverse(ast, sfdcReferencesVisitor(references, filename)); + + return references; +} diff --git a/packages/lwc-compiler/src/references/references.ts b/packages/lwc-compiler/src/references/references.ts new file mode 100644 index 0000000000..886aafb3a1 --- /dev/null +++ b/packages/lwc-compiler/src/references/references.ts @@ -0,0 +1,37 @@ +import * as path from 'path'; + +import { getReferences as getCssReferences } from './css'; +import { getReferences as getHtmlReferences } from './html'; +import { getReferences as getJsReferences } from './javascript'; +import { Reference } from './types'; + +import { LwcBundle } from '../lwc-bundle'; + +export function getBundleReferences(bundle: LwcBundle): Reference[] { + return Object.entries(bundle.sources).reduce( + (refs: Reference[], [filename, source]) => { + return [...refs, ...getFileReferences(source, filename)]; + }, + [], + ); +} + +export function getFileReferences( + source: string, + filename: string, +): Reference[] { + const ext = path.extname(filename); + + switch (ext) { + case '.html': + return getHtmlReferences(source, filename); + case '.js': + return getJsReferences(source, filename); + case '.css': + return getCssReferences(source, filename); + default: + return []; + } +} + +// TODO: id mapping format will most likely require name, namespace, type, and a list of locations. diff --git a/packages/lwc-compiler/src/references/types.ts b/packages/lwc-compiler/src/references/types.ts new file mode 100644 index 0000000000..2fb84c08b9 --- /dev/null +++ b/packages/lwc-compiler/src/references/types.ts @@ -0,0 +1,11 @@ +export declare type ReferenceType = 'resourceUrl' | 'label' | 'apexClass' | 'apexMethod' | 'sobjectClass' | 'sobjectField' | 'component'; +export interface ReferenceLocation { + start: number; + length: number; +} +export interface Reference { + type: ReferenceType; + id: string; + file: string; + locations: ReferenceLocation[]; +} From e9fc521ef184df5b38a4c70d431f2a436bc6f648 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Feb 2018 14:28:23 -0800 Subject: [PATCH 4/9] compiler-references --- .../lwc-compiler/src/__tests__/index.spec.js | 25 +++++++++++++++++++ .../src/diagnostics/diagnostic-collector.ts | 1 - packages/lwc-compiler/src/lwc-bundle.ts | 2 +- .../lwc-compiler/src/references/references.ts | 9 ++++++- packages/lwc-compiler/tsconfig.json | 2 +- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/lwc-compiler/src/__tests__/index.spec.js b/packages/lwc-compiler/src/__tests__/index.spec.js index 9694bdb492..0d31b7eb46 100644 --- a/packages/lwc-compiler/src/__tests__/index.spec.js +++ b/packages/lwc-compiler/src/__tests__/index.spec.js @@ -3,6 +3,14 @@ const { compile, transform } = require('../index'); const { pretify } = require('./utils'); +const VALID_TEST_JS = ` +import label from '@label/mylabel'; +function isTrue() { + return label; +} +isTrue(); +`.trim(); + describe('compile', () => { it('should validate entry type', () => { expect(() => compile()).toThrow(/Expected a string for entry/); @@ -29,6 +37,23 @@ describe('compile', () => { /in-memory module resolution expects values to be string. Received true for key \/x\/foo\/foo.js/, ); }); + // TODO: uncomment once compile output format changes + // it.only('should return status, diagnostics, references, and bundles', () => { + // const config = { + // sources: { + // '/x/foo/foo.js': VALID_TEST_JS, + // }, + // entry: '/x/foo/foo.js', + // moduleName: 'foo', + // moduleNamespace: 'x', + // format: 'whoknows', + // }; + // const { status, diagnostics, references, bundles } = compile(); + // expect(status).toBe('ok'); + // expect(diagnostics.length).toBe(0); + // expect(references.length > 0).toBe(true); + // expect(bundles.length).toBe(1); + // }); }); describe('transform', () => { diff --git a/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts b/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts index 06b4dda13c..ee8074bbba 100644 --- a/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts +++ b/packages/lwc-compiler/src/diagnostics/diagnostic-collector.ts @@ -2,7 +2,6 @@ import { Diagnostic, DiagnosticLevel } from './diagnostic'; export class DiagnosticCollector { private diagnostics: Diagnostic[] = []; - private severityMap: Map; constructor(diagnostics?: Diagnostic[]) { if (diagnostics) { diff --git a/packages/lwc-compiler/src/lwc-bundle.ts b/packages/lwc-compiler/src/lwc-bundle.ts index 79bd5921b8..35ffce15d3 100644 --- a/packages/lwc-compiler/src/lwc-bundle.ts +++ b/packages/lwc-compiler/src/lwc-bundle.ts @@ -1,4 +1,4 @@ export interface LwcBundle { entry: string; - sources: [filename: string]: string; + sources: [{ filename: string }]; } diff --git a/packages/lwc-compiler/src/references/references.ts b/packages/lwc-compiler/src/references/references.ts index 886aafb3a1..107c012222 100644 --- a/packages/lwc-compiler/src/references/references.ts +++ b/packages/lwc-compiler/src/references/references.ts @@ -8,8 +8,15 @@ import { Reference } from './types'; import { LwcBundle } from '../lwc-bundle'; export function getBundleReferences(bundle: LwcBundle): Reference[] { + console.log("BUNDLE", bundle); + if (!bundle || !bundle.sources) { + return []; + } + // TODO: ts is complaining if [filename, source] is used instead of entry return Object.entries(bundle.sources).reduce( - (refs: Reference[], [filename, source]) => { + (refs: Reference[], entry:any) => { + const filename = entry[0]; + const source = entry[1]; return [...refs, ...getFileReferences(source, filename)]; }, [], diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json index ac2cf35d91..64b606217b 100644 --- a/packages/lwc-compiler/tsconfig.json +++ b/packages/lwc-compiler/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "lib": ["dom", "es2017"], + //"lib": ["dom", "es2017"], // Compilation Configuration "target": "es2017", "module": "es2015", From 1d2e4043ad2b6336e88b64be1e9ea5523df26cb3 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Feb 2018 14:59:42 -0800 Subject: [PATCH 5/9] wip: remove unused import and stale comment --- packages/lwc-compiler/package.json | 1 - packages/lwc-compiler/src/references/references.ts | 2 -- packages/lwc-compiler/tsconfig.json | 2 -- yarn.lock | 4 ---- 4 files changed, 9 deletions(-) diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index fec5ee1872..14ac1e1a1b 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -11,7 +11,6 @@ "test": "jest --coverage --maxWorkers=2" }, "devDependencies": { - "@types/jest": "^22.1.2", "babel-cli": "^6.24.0", "babel-jest": "^22.2.2", "jest": "^21.2.1", diff --git a/packages/lwc-compiler/src/references/references.ts b/packages/lwc-compiler/src/references/references.ts index 107c012222..fa7196d25d 100644 --- a/packages/lwc-compiler/src/references/references.ts +++ b/packages/lwc-compiler/src/references/references.ts @@ -40,5 +40,3 @@ export function getFileReferences( return []; } } - -// TODO: id mapping format will most likely require name, namespace, type, and a list of locations. diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json index 64b606217b..cd10387d77 100644 --- a/packages/lwc-compiler/tsconfig.json +++ b/packages/lwc-compiler/tsconfig.json @@ -1,7 +1,5 @@ { "compilerOptions": { - //"lib": ["dom", "es2017"], - // Compilation Configuration "target": "es2017", "module": "es2015", "sourceMap": true, diff --git a/yarn.lock b/yarn.lock index 6ba0954894..fb451315ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,10 +211,6 @@ version "21.1.2" resolved "https://registry.npmjs.org/@types/jest/-/jest-21.1.2.tgz#05ebfa64817b626694ced56745a7949281981048" -"@types/jest@^22.1.2": - version "22.1.2" - resolved "https://registry.npmjs.org/@types/jest/-/jest-22.1.2.tgz#813a79ec98221633845627636dbc606f31220dbc" - "@types/node@*": version "9.4.6" resolved "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e" From b03727460baeb908588a8eb6bece798a2ad5310a Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Feb 2018 16:52:02 -0800 Subject: [PATCH 6/9] wip: review comments --- packages/lwc-compiler/package.json | 7 ++++--- .../references => references/__tests__}/css.spec.ts | 0 .../__tests__}/html.spec.ts | 0 .../__tests__}/javascript.spec.ts | 0 packages/lwc-compiler/src/references/css.ts | 4 ++-- packages/lwc-compiler/src/references/javascript.ts | 2 +- packages/lwc-compiler/src/references/references.ts | 3 +-- packages/lwc-compiler/tsconfig.json | 3 ++- packages/lwc-engine/package.json | 2 +- packages/lwc-template-compiler/package.json | 2 +- packages/postcss-plugin-lwc/package.json | 2 +- packages/proxy-compat/package.json | 2 +- yarn.lock | 13 +++---------- 13 files changed, 17 insertions(+), 23 deletions(-) rename packages/lwc-compiler/src/{__tests__/references => references/__tests__}/css.spec.ts (100%) rename packages/lwc-compiler/src/{__tests__/references => references/__tests__}/html.spec.ts (100%) rename packages/lwc-compiler/src/{__tests__/references => references/__tests__}/javascript.spec.ts (100%) diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index 14ac1e1a1b..b451d6757b 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -8,11 +8,12 @@ "scripts": { "clean": "rimraf dist/", "build": "tsc", + "build:umd": "webpack --progress", "test": "jest --coverage --maxWorkers=2" }, "devDependencies": { "babel-cli": "^6.24.0", - "babel-jest": "^22.2.2", + "babel-jest": "^21.2.0", "jest": "^21.2.1", "power-assert": "^1.4.2", "rimraf": "^2.6.1", @@ -58,8 +59,8 @@ "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.0", "babel-preset-minify": "~0.2.0", - "babel-traverse": "^6.26.0", - "babylon": "^6.18.0", + "babel-traverse": "^6.24.1", + "babylon": "^6.17.0", "cssnano": "^3.10.0", "lwc-template-compiler": "0.17.15", "parse5": "^3.0.3", diff --git a/packages/lwc-compiler/src/__tests__/references/css.spec.ts b/packages/lwc-compiler/src/references/__tests__/css.spec.ts similarity index 100% rename from packages/lwc-compiler/src/__tests__/references/css.spec.ts rename to packages/lwc-compiler/src/references/__tests__/css.spec.ts diff --git a/packages/lwc-compiler/src/__tests__/references/html.spec.ts b/packages/lwc-compiler/src/references/__tests__/html.spec.ts similarity index 100% rename from packages/lwc-compiler/src/__tests__/references/html.spec.ts rename to packages/lwc-compiler/src/references/__tests__/html.spec.ts diff --git a/packages/lwc-compiler/src/__tests__/references/javascript.spec.ts b/packages/lwc-compiler/src/references/__tests__/javascript.spec.ts similarity index 100% rename from packages/lwc-compiler/src/__tests__/references/javascript.spec.ts rename to packages/lwc-compiler/src/references/__tests__/javascript.spec.ts diff --git a/packages/lwc-compiler/src/references/css.ts b/packages/lwc-compiler/src/references/css.ts index d3a995643a..2e51862b11 100644 --- a/packages/lwc-compiler/src/references/css.ts +++ b/packages/lwc-compiler/src/references/css.ts @@ -1,10 +1,10 @@ import { Reference } from './types'; import * as postcss from 'postcss'; -import { NodeSource, Rule } from 'postcss'; +import { Rule } from 'postcss'; import * as postcssSelector from 'postcss-selector-parser'; -import { isTag, Tag } from 'postcss-selector-parser'; +import { isTag } from 'postcss-selector-parser'; function isCustomElementSelector(tag: string) { return tag.includes('-'); diff --git a/packages/lwc-compiler/src/references/javascript.ts b/packages/lwc-compiler/src/references/javascript.ts index 34c0b3f67a..49ff7365c5 100644 --- a/packages/lwc-compiler/src/references/javascript.ts +++ b/packages/lwc-compiler/src/references/javascript.ts @@ -1,4 +1,4 @@ -import { Reference, ReferenceLocation } from './types'; +import { Reference } from './types'; import traverse, { NodePath } from 'babel-traverse'; import * as t from 'babel-types'; import { parse } from 'babylon'; diff --git a/packages/lwc-compiler/src/references/references.ts b/packages/lwc-compiler/src/references/references.ts index fa7196d25d..a150030748 100644 --- a/packages/lwc-compiler/src/references/references.ts +++ b/packages/lwc-compiler/src/references/references.ts @@ -8,13 +8,12 @@ import { Reference } from './types'; import { LwcBundle } from '../lwc-bundle'; export function getBundleReferences(bundle: LwcBundle): Reference[] { - console.log("BUNDLE", bundle); if (!bundle || !bundle.sources) { return []; } // TODO: ts is complaining if [filename, source] is used instead of entry return Object.entries(bundle.sources).reduce( - (refs: Reference[], entry:any) => { + (refs: Reference[], entry: any) => { const filename = entry[0]; const source = entry[1]; return [...refs, ...getFileReferences(source, filename)]; diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json index cd10387d77..c97a09b7b3 100644 --- a/packages/lwc-compiler/tsconfig.json +++ b/packages/lwc-compiler/tsconfig.json @@ -14,7 +14,8 @@ // Enhance Strictness "strict": true, - "suppressImplicitAnyIndexErrors": true + "suppressImplicitAnyIndexErrors": true, + "noUnusedLocals": true, }, "include": [ "src/**/*", diff --git a/packages/lwc-engine/package.json b/packages/lwc-engine/package.json index a53c09a8e3..7df3ee8780 100644 --- a/packages/lwc-engine/package.json +++ b/packages/lwc-engine/package.json @@ -24,7 +24,7 @@ "rollup-plugin-replace": "^2.0.0", "rollup-plugin-typescript": "^0.8.1", "rollup-plugin-uglify": "3.0.0", - "ts-jest": "^21.0.1", + "ts-jest": "^22.0.4", "tslint": "^5.2.0", "typescript": "^2.7.1", "uglify-es": "3.3.4" diff --git a/packages/lwc-template-compiler/package.json b/packages/lwc-template-compiler/package.json index 75d853c950..8ec95d6fad 100644 --- a/packages/lwc-template-compiler/package.json +++ b/packages/lwc-template-compiler/package.json @@ -24,7 +24,7 @@ "jest": "^21.2.1", "prettier": "^1.7.3", "rimraf": "^2.6.1", - "ts-jest": "^21.1.2", + "ts-jest": "^22.0.4", "tslint": "^5.2.0", "typescript": "^2.6.2" }, diff --git a/packages/postcss-plugin-lwc/package.json b/packages/postcss-plugin-lwc/package.json index ccae3b0ee0..2df03ec1ef 100644 --- a/packages/postcss-plugin-lwc/package.json +++ b/packages/postcss-plugin-lwc/package.json @@ -17,7 +17,7 @@ "devDependencies": { "jest": "^21.2.1", "rimraf": "^2.6.1", - "ts-jest": "^21.1.2", + "ts-jest": "^22.0.4", "tslint": "^5.2.0", "typescript": "^2.6.2" } diff --git a/packages/proxy-compat/package.json b/packages/proxy-compat/package.json index 5135067f81..d329739b68 100644 --- a/packages/proxy-compat/package.json +++ b/packages/proxy-compat/package.json @@ -21,7 +21,7 @@ "rollup": "~0.50.0", "rollup-plugin-typescript": "^0.8.1", "rollup-plugin-uglify": "^2.0.1", - "ts-jest": "^21.1.2", + "ts-jest": "^22.0.4", "typescript": "^2.6.2", "typescript-eslint-parser": "^3.0.0", "uglify-es": "~3.3.4" diff --git a/yarn.lock b/yarn.lock index fb451315ef..66db4bfe64 100644 --- a/yarn.lock +++ b/yarn.lock @@ -853,13 +853,6 @@ babel-jest@^21.2.0: babel-plugin-istanbul "^4.0.0" babel-preset-jest "^21.2.0" -babel-jest@^22.2.2: - version "22.2.2" - resolved "http://npm.lwcjs.org/babel-jest/-/babel-jest-22.2.2/eda38dca284e32cc5257f96a9b51351975de4e04.tgz#eda38dca284e32cc5257f96a9b51351975de4e04" - dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.2.0" - babel-loader@^7.1.2: version "7.1.2" resolved "http://npm.lwcjs.org/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" @@ -886,7 +879,7 @@ babel-plugin-external-helpers@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5: +babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4: version "4.1.5" resolved "http://npm.lwcjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" dependencies: @@ -1343,7 +1336,7 @@ babel-preset-jest@^21.2.0: babel-plugin-jest-hoist "^21.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^22.0.1, babel-preset-jest@^22.2.0: +babel-preset-jest@^22.0.1: version "22.2.0" resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.2.0/f77b43f06ef4d8547214b2e206cc76a25c3ba0e2.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" dependencies: @@ -8582,7 +8575,7 @@ tryit@^1.0.1: version "1.0.3" resolved "http://npm.lwcjs.org/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" -ts-jest@^21.0.1, ts-jest@^21.1.2: +ts-jest@^21.0.1: version "21.1.2" resolved "http://npm.lwcjs.org/ts-jest/-/ts-jest-21.1.2.tgz#3f5aa88125d9f6e9ae07b745e20062d069c22ad9" dependencies: From 65aee92fc2d60a04cfcbe432fc600153b3b3e833 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 15 Feb 2018 09:50:00 -0800 Subject: [PATCH 7/9] wip: change module imports and jest transform format --- packages/lwc-compiler/jest.config.js | 3 +- packages/lwc-compiler/package.json | 8 +- packages/lwc-compiler/src/babel-plugins.js | 50 +-- packages/lwc-compiler/src/bundle.js | 2 +- .../lwc-compiler/src/rollup-plugins/compat.js | 2 +- .../lwc-compiler/src/rollup-plugins/minify.js | 2 +- .../src/transformers/javascript.js | 2 +- .../lwc-compiler/src/transformers/style.js | 4 +- packages/lwc-compiler/tsconfig.json | 4 +- packages/lwc-engine/package.json | 2 +- packages/lwc-template-compiler/package.json | 2 +- packages/postcss-plugin-lwc/package.json | 2 +- packages/proxy-compat/package.json | 2 +- yarn.lock | 383 ++---------------- 14 files changed, 77 insertions(+), 391 deletions(-) diff --git a/packages/lwc-compiler/jest.config.js b/packages/lwc-compiler/jest.config.js index f6f988cb15..0861ecc2c4 100644 --- a/packages/lwc-compiler/jest.config.js +++ b/packages/lwc-compiler/jest.config.js @@ -1,8 +1,7 @@ module.exports = { testRegex: "\\.spec\\.(js|ts)$", transform: { - "^.+\\.js$": "babel-jest", - "^.+\\.ts$": "ts-jest" + "^.+\\.(js|ts)$": "ts-jest" }, moduleFileExtensions: ["ts", "js", "json", "node"], }; diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index b451d6757b..182f7d7221 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -13,12 +13,12 @@ }, "devDependencies": { "babel-cli": "^6.24.0", - "babel-jest": "^21.2.0", + "babel-jest": "^22.2.2", "jest": "^21.2.1", "power-assert": "^1.4.2", "rimraf": "^2.6.1", "string-replace-webpack-plugin": "0.1.3", - "ts-jest": "^22.0.4", + "ts-jest": "^21.2.4", "tslint": "^5.2.0", "typescript": "^2.7.1", "webpack": "^3.7.1", @@ -59,8 +59,8 @@ "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.0", "babel-preset-minify": "~0.2.0", - "babel-traverse": "^6.24.1", - "babylon": "^6.17.0", + "babel-traverse": "^6.26.0", + "babylon": "^6.18.0", "cssnano": "^3.10.0", "lwc-template-compiler": "0.17.15", "parse5": "^3.0.3", diff --git a/packages/lwc-compiler/src/babel-plugins.js b/packages/lwc-compiler/src/babel-plugins.js index 4150e4d2db..6da6327eab 100644 --- a/packages/lwc-compiler/src/babel-plugins.js +++ b/packages/lwc-compiler/src/babel-plugins.js @@ -35,37 +35,37 @@ */ // ES2015 support -import constants from 'babel-plugin-check-es2015-constants'; -import arrowFunctions from 'babel-plugin-transform-es2015-arrow-functions'; -import blockScoped from 'babel-plugin-transform-es2015-block-scoped-functions'; -import blockScoping from 'babel-plugin-transform-es2015-block-scoping'; -import esClasses from 'babel-plugin-transform-es2015-classes'; -import computedProps from 'babel-plugin-transform-es2015-computed-properties'; -import destructuring from 'babel-plugin-transform-es2015-destructuring'; -import duplicatedKeys from 'babel-plugin-transform-es2015-duplicate-keys'; -import forOf from 'babel-plugin-transform-es2015-for-of'; -import strLiterals from 'babel-plugin-transform-es2015-literals'; -import objSuper from 'babel-plugin-transform-es2015-object-super'; -import parameters from 'babel-plugin-transform-es2015-parameters'; -import shorthand from 'babel-plugin-transform-es2015-shorthand-properties'; -import spread from 'babel-plugin-transform-es2015-spread'; -import stickyRegex from 'babel-plugin-transform-es2015-sticky-regex'; -import templateLiterals from 'babel-plugin-transform-es2015-template-literals'; -import typeofSymbol from 'babel-plugin-transform-es2015-typeof-symbol'; -import uniRegex from 'babel-plugin-transform-es2015-unicode-regex'; +import * as constants from 'babel-plugin-check-es2015-constants'; +import * as arrowFunctions from 'babel-plugin-transform-es2015-arrow-functions'; +import * as blockScoped from 'babel-plugin-transform-es2015-block-scoped-functions'; +import * as blockScoping from 'babel-plugin-transform-es2015-block-scoping'; +import * as esClasses from 'babel-plugin-transform-es2015-classes'; +import * as computedProps from 'babel-plugin-transform-es2015-computed-properties'; +import * as destructuring from 'babel-plugin-transform-es2015-destructuring'; +import * as duplicatedKeys from 'babel-plugin-transform-es2015-duplicate-keys'; +import * as forOf from 'babel-plugin-transform-es2015-for-of'; +import * as strLiterals from 'babel-plugin-transform-es2015-literals'; +import * as objSuper from 'babel-plugin-transform-es2015-object-super'; +import * as parameters from 'babel-plugin-transform-es2015-parameters'; +import * as shorthand from 'babel-plugin-transform-es2015-shorthand-properties'; +import * as spread from 'babel-plugin-transform-es2015-spread'; +import * as stickyRegex from 'babel-plugin-transform-es2015-sticky-regex'; +import * as templateLiterals from 'babel-plugin-transform-es2015-template-literals'; +import * as typeofSymbol from 'babel-plugin-transform-es2015-typeof-symbol'; +import * as uniRegex from 'babel-plugin-transform-es2015-unicode-regex'; // Async/Await support -import asyncGenerator from 'babel-plugin-transform-async-to-generator'; -import regenerator from 'babel-plugin-transform-regenerator'; -import transformRuntime from 'babel-plugin-transform-runtime'; +import * as asyncGenerator from 'babel-plugin-transform-async-to-generator'; +import * as regenerator from 'babel-plugin-transform-regenerator'; +import * as transformRuntime from 'babel-plugin-transform-runtime'; // ES2015+ support -import trailingCommas from 'babel-plugin-syntax-trailing-function-commas'; -import expOperator from 'babel-plugin-transform-exponentiation-operator'; +import * as trailingCommas from 'babel-plugin-syntax-trailing-function-commas'; +import * as expOperator from 'babel-plugin-transform-exponentiation-operator'; // Non-standard transformations -import objectRestSpread from 'babel-plugin-transform-object-rest-spread'; -import publicFieldsPlugin from 'babel-plugin-transform-class-properties'; +import * as objectRestSpread from 'babel-plugin-transform-object-rest-spread'; +import * as publicFieldsPlugin from 'babel-plugin-transform-class-properties'; const looseOpts = { loose: false, diff --git a/packages/lwc-compiler/src/bundle.js b/packages/lwc-compiler/src/bundle.js index 15e04ee7ae..b0e585c535 100644 --- a/packages/lwc-compiler/src/bundle.js +++ b/packages/lwc-compiler/src/bundle.js @@ -1,5 +1,5 @@ import { rollup } from 'rollup'; -import rollupPluginReplace from 'rollup-plugin-replace'; +import * as rollupPluginReplace from 'rollup-plugin-replace'; import { isCompat, isProd } from './modes'; diff --git a/packages/lwc-compiler/src/rollup-plugins/compat.js b/packages/lwc-compiler/src/rollup-plugins/compat.js index 45b3d5bd00..90204cf02b 100644 --- a/packages/lwc-compiler/src/rollup-plugins/compat.js +++ b/packages/lwc-compiler/src/rollup-plugins/compat.js @@ -1,5 +1,5 @@ import { transform } from 'babel-core'; -import raptorCompatTransformPlugin from 'babel-plugin-transform-proxy-compat'; +import * as raptorCompatTransformPlugin from 'babel-plugin-transform-proxy-compat'; import { BABEL_CONFIG_BASE, BABEL_PLUGINS_COMPAT } from '../babel-plugins'; diff --git a/packages/lwc-compiler/src/rollup-plugins/minify.js b/packages/lwc-compiler/src/rollup-plugins/minify.js index f0ed744371..ea0c835d66 100644 --- a/packages/lwc-compiler/src/rollup-plugins/minify.js +++ b/packages/lwc-compiler/src/rollup-plugins/minify.js @@ -1,5 +1,5 @@ import { transform } from 'babel-core'; -import minify from 'babel-preset-minify'; +import * as minify from 'babel-preset-minify'; import { BABEL_CONFIG_BASE } from '../babel-plugins'; diff --git a/packages/lwc-compiler/src/transformers/javascript.js b/packages/lwc-compiler/src/transformers/javascript.js index ab0b103206..f4f26643e5 100644 --- a/packages/lwc-compiler/src/transformers/javascript.js +++ b/packages/lwc-compiler/src/transformers/javascript.js @@ -1,5 +1,5 @@ import { transform } from 'babel-core'; -import raptorClassTransformPlugin from 'babel-plugin-transform-lwc-class'; +import * as raptorClassTransformPlugin from 'babel-plugin-transform-lwc-class'; import { BABEL_CONFIG_BASE, BABEL_PLUGINS_BASE } from '../babel-plugins'; diff --git a/packages/lwc-compiler/src/transformers/style.js b/packages/lwc-compiler/src/transformers/style.js index 0e0922c491..33a77a1526 100644 --- a/packages/lwc-compiler/src/transformers/style.js +++ b/packages/lwc-compiler/src/transformers/style.js @@ -1,5 +1,5 @@ -import postcss from 'postcss'; -import cssnano from 'cssnano'; +import * as postcss from 'postcss'; +import * as cssnano from 'cssnano'; import postcssPluginRaptor from 'postcss-plugin-lwc'; import { isProd } from '../modes'; diff --git a/packages/lwc-compiler/tsconfig.json b/packages/lwc-compiler/tsconfig.json index c97a09b7b3..62c094ed2c 100644 --- a/packages/lwc-compiler/tsconfig.json +++ b/packages/lwc-compiler/tsconfig.json @@ -1,13 +1,13 @@ { "compilerOptions": { "target": "es2017", - "module": "es2015", + "module": "commonjs", "sourceMap": true, // TODO: turn back to true when there are no more js files in the package // "declaration": true, "rootDir": "src", "allowJs": true, - "outDir": "dist", + "outDir": "dist/commonjs", // Environment Configuration "moduleResolution": "node", diff --git a/packages/lwc-engine/package.json b/packages/lwc-engine/package.json index 7df3ee8780..a53c09a8e3 100644 --- a/packages/lwc-engine/package.json +++ b/packages/lwc-engine/package.json @@ -24,7 +24,7 @@ "rollup-plugin-replace": "^2.0.0", "rollup-plugin-typescript": "^0.8.1", "rollup-plugin-uglify": "3.0.0", - "ts-jest": "^22.0.4", + "ts-jest": "^21.0.1", "tslint": "^5.2.0", "typescript": "^2.7.1", "uglify-es": "3.3.4" diff --git a/packages/lwc-template-compiler/package.json b/packages/lwc-template-compiler/package.json index 8ec95d6fad..75d853c950 100644 --- a/packages/lwc-template-compiler/package.json +++ b/packages/lwc-template-compiler/package.json @@ -24,7 +24,7 @@ "jest": "^21.2.1", "prettier": "^1.7.3", "rimraf": "^2.6.1", - "ts-jest": "^22.0.4", + "ts-jest": "^21.1.2", "tslint": "^5.2.0", "typescript": "^2.6.2" }, diff --git a/packages/postcss-plugin-lwc/package.json b/packages/postcss-plugin-lwc/package.json index 2df03ec1ef..ccae3b0ee0 100644 --- a/packages/postcss-plugin-lwc/package.json +++ b/packages/postcss-plugin-lwc/package.json @@ -17,7 +17,7 @@ "devDependencies": { "jest": "^21.2.1", "rimraf": "^2.6.1", - "ts-jest": "^22.0.4", + "ts-jest": "^21.1.2", "tslint": "^5.2.0", "typescript": "^2.6.2" } diff --git a/packages/proxy-compat/package.json b/packages/proxy-compat/package.json index d329739b68..5135067f81 100644 --- a/packages/proxy-compat/package.json +++ b/packages/proxy-compat/package.json @@ -21,7 +21,7 @@ "rollup": "~0.50.0", "rollup-plugin-typescript": "^0.8.1", "rollup-plugin-uglify": "^2.0.1", - "ts-jest": "^22.0.4", + "ts-jest": "^21.1.2", "typescript": "^2.6.2", "typescript-eslint-parser": "^3.0.0", "uglify-es": "~3.3.4" diff --git a/yarn.lock b/yarn.lock index 66db4bfe64..c55a95d7e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,12 +10,6 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/code-frame@^7.0.0-beta.35": - version "7.0.0-beta.40" - resolved "http://npm.lwcjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40/37e2b0cf7c56026b4b21d3927cadf81adec32ac6.tgz#37e2b0cf7c56026b4b21d3927cadf81adec32ac6" - dependencies: - "@babel/highlight" "7.0.0-beta.40" - "@babel/helper-function-name@7.0.0-beta.36": version "7.0.0-beta.36" resolved "http://npm.lwcjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.36/366e3bc35147721b69009f803907c4d53212e88d.tgz#366e3bc35147721b69009f803907c4d53212e88d" @@ -30,14 +24,6 @@ dependencies: "@babel/types" "7.0.0-beta.36" -"@babel/highlight@7.0.0-beta.40": - version "7.0.0-beta.40" - resolved "http://npm.lwcjs.org/@babel/highlight/-/highlight-7.0.0-beta.40/b43d67d76bf46e1d10d227f68cddcd263786b255.tgz#b43d67d76bf46e1d10d227f68cddcd263786b255" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - "@babel/template@7.0.0-beta.36": version "7.0.0-beta.36" resolved "http://npm.lwcjs.org/@babel/template/-/template-7.0.0-beta.36/02e903de5d68bd7899bce3c5b5447e59529abb00.tgz#02e903de5d68bd7899bce3c5b5447e59529abb00" @@ -226,7 +212,7 @@ JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^1.0.3, abab@^1.0.4: +abab@^1.0.3: version "1.0.4" resolved "http://npm.lwcjs.org/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -257,12 +243,6 @@ acorn-globals@^3.1.0: dependencies: acorn "^4.0.4" -acorn-globals@^4.1.0: - version "4.1.0" - resolved "http://npm.lwcjs.org/acorn-globals/-/acorn-globals-4.1.0/ab716025dbe17c54d3ef81d32ece2b2d99fe2538.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538" - dependencies: - acorn "^5.0.0" - acorn-jsx@^3.0.0: version "3.0.1" resolved "http://npm.lwcjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -289,10 +269,6 @@ acorn@^5.2.1: version "5.2.1" resolved "http://npm.lwcjs.org/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" -acorn@^5.3.0: - version "5.4.1" - resolved "http://npm.lwcjs.org/acorn/-/acorn-5.4.1/fdc58d9d17f4a4e98d102ded826a9b9759125102.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" - add-stream@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -853,6 +829,13 @@ babel-jest@^21.2.0: babel-plugin-istanbul "^4.0.0" babel-preset-jest "^21.2.0" +babel-jest@^22.2.2: + version "22.2.2" + resolved "http://npm.lwcjs.org/babel-jest/-/babel-jest-22.2.2/eda38dca284e32cc5257f96a9b51351975de4e04.tgz#eda38dca284e32cc5257f96a9b51351975de4e04" + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.2.0" + babel-loader@^7.1.2: version "7.1.2" resolved "http://npm.lwcjs.org/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" @@ -879,7 +862,7 @@ babel-plugin-external-helpers@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4: +babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5: version "4.1.5" resolved "http://npm.lwcjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" dependencies: @@ -1336,13 +1319,6 @@ babel-preset-jest@^21.2.0: babel-plugin-jest-hoist "^21.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^22.0.1: - version "22.2.0" - resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.2.0/f77b43f06ef4d8547214b2e206cc76a25c3ba0e2.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" - dependencies: - babel-plugin-jest-hoist "^22.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-jest@^22.1.0: version "22.1.0" resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.1.0/ff4e704102f9642765e2254226050561d8942ec9.tgz#ff4e704102f9642765e2254226050561d8942ec9" @@ -1350,6 +1326,13 @@ babel-preset-jest@^22.1.0: babel-plugin-jest-hoist "^22.1.0" babel-plugin-syntax-object-rest-spread "^6.13.0" +babel-preset-jest@^22.2.0: + version "22.2.0" + resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.2.0/f77b43f06ef4d8547214b2e206cc76a25c3ba0e2.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" + dependencies: + babel-plugin-jest-hoist "^22.2.0" + babel-plugin-syntax-object-rest-spread "^6.13.0" + babel-preset-minify@~0.2.0: version "0.2.0" resolved "http://npm.lwcjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0/006566552d9b83834472273f306c0131062a0acc.tgz#006566552d9b83834472273f306c0131062a0acc" @@ -1619,10 +1602,6 @@ brorand@^1.0.1: version "1.1.0" resolved "http://npm.lwcjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" -browser-process-hrtime@^0.1.2: - version "0.1.2" - resolved "http://npm.lwcjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.2/425d68a58d3447f02a04aa894187fce8af8b7b8e.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" - browser-resolve@^1.11.0, browser-resolve@^1.11.2: version "1.11.2" resolved "http://npm.lwcjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" @@ -2237,10 +2216,6 @@ content-type-parser@^1.0.1: version "1.0.1" resolved "http://npm.lwcjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" -content-type-parser@^1.0.2: - version "1.0.2" - resolved "http://npm.lwcjs.org/content-type-parser/-/content-type-parser-1.0.2/caabe80623e63638b2502fd4c7f12ff4ce2352e7.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" - content-type@~1.0.4: version "1.0.4" resolved "http://npm.lwcjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -2993,12 +2968,6 @@ domain-browser@^1.1.1: version "1.1.7" resolved "http://npm.lwcjs.org/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domexception@^1.0.0: - version "1.0.1" - resolved "http://npm.lwcjs.org/domexception/-/domexception-1.0.1/937442644ca6a31261ef36e3ec677fe805582c90.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - dependencies: - webidl-conversions "^4.0.2" - dot-prop@^3.0.0: version "3.0.0" resolved "http://npm.lwcjs.org/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -3208,7 +3177,7 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1 version "1.0.5" resolved "http://npm.lwcjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@^1.6.1, escodegen@^1.9.0: +escodegen@^1.6.1: version "1.9.0" resolved "http://npm.lwcjs.org/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" dependencies: @@ -3550,17 +3519,6 @@ expect@^21.2.1: jest-message-util "^21.2.1" jest-regex-util "^21.2.0" -expect@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/expect/-/expect-22.3.0/b1cb7db27a951ab6055f43937277152a9f668028.tgz#b1cb7db27a951ab6055f43937277152a9f668028" - dependencies: - ansi-styles "^3.2.0" - jest-diff "^22.1.0" - jest-get-type "^22.1.0" - jest-matcher-utils "^22.2.0" - jest-message-util "^22.2.0" - jest-regex-util "^22.1.0" - express@^4.14.0, express@^4.15.2: version "4.16.2" resolved "http://npm.lwcjs.org/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" @@ -3874,14 +3832,6 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "http://npm.lwcjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0/982d6893af918e72d08dec9e8673ff2b5a8d6add.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@4.0.3: - version "4.0.3" - resolved "http://npm.lwcjs.org/fs-extra/-/fs-extra-4.0.3/0d852122e5bc5beb453fb028e9c0c9bf36340c94.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^0.30.0: version "0.30.0" resolved "http://npm.lwcjs.org/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -4454,12 +4404,6 @@ html-encoding-sniffer@^1.0.1: dependencies: whatwg-encoding "^1.0.1" -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "http://npm.lwcjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2/e70d84b94da53aa375e11fe3a351be6642ca46f8.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - dependencies: - whatwg-encoding "^1.0.1" - http-errors@1.6.2, http-errors@~1.6.2: version "1.6.2" resolved "http://npm.lwcjs.org/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" @@ -4781,10 +4725,6 @@ is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "http://npm.lwcjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "http://npm.lwcjs.org/is-generator-fn/-/is-generator-fn-1.0.0/969d49e1bb3329f6bb7f09089be26578b2ddd46a.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -5069,22 +5009,6 @@ jest-config@^21.2.1: jest-validate "^21.2.1" pretty-format "^21.2.1" -jest-config@^22.0.1: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-config/-/jest-config-22.3.0/94c7149f123933a872ee24c1719687419c4a623c.tgz#94c7149f123933a872ee24c1719687419c4a623c" - dependencies: - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^22.3.0" - jest-environment-node "^22.3.0" - jest-get-type "^22.1.0" - jest-jasmine2 "^22.3.0" - jest-regex-util "^22.1.0" - jest-resolve "^22.3.0" - jest-util "^22.3.0" - jest-validate "^22.2.2" - pretty-format "^22.1.0" - jest-diff@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-diff/-/jest-diff-21.2.1.tgz#46cccb6cab2d02ce98bc314011764bb95b065b4f" @@ -5094,15 +5018,6 @@ jest-diff@^21.2.1: jest-get-type "^21.2.0" pretty-format "^21.2.1" -jest-diff@^22.1.0: - version "22.1.0" - resolved "http://npm.lwcjs.org/jest-diff/-/jest-diff-22.1.0/0fad9d96c87b453896bf939df3dc8aac6919ac38.tgz#0fad9d96c87b453896bf939df3dc8aac6919ac38" - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^22.1.0" - jest-docblock@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -5115,14 +5030,6 @@ jest-environment-jsdom@^21.2.1: jest-util "^21.2.1" jsdom "^9.12.0" -jest-environment-jsdom@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.3.0/c267a063e5dc16219fba0e07542d8aa2576a1c88.tgz#c267a063e5dc16219fba0e07542d8aa2576a1c88" - dependencies: - jest-mock "^22.2.0" - jest-util "^22.3.0" - jsdom "^11.5.1" - jest-environment-node@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz#98c67df5663c7fbe20f6e792ac2272c740d3b8c8" @@ -5130,21 +5037,10 @@ jest-environment-node@^21.2.1: jest-mock "^21.2.0" jest-util "^21.2.1" -jest-environment-node@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-environment-node/-/jest-environment-node-22.3.0/97d34d9706a718d743075149d1950555c10338c0.tgz#97d34d9706a718d743075149d1950555c10338c0" - dependencies: - jest-mock "^22.2.0" - jest-util "^22.3.0" - jest-get-type@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23" -jest-get-type@^22.1.0: - version "22.1.0" - resolved "http://npm.lwcjs.org/jest-get-type/-/jest-get-type-22.1.0/4e90af298ed6181edc85d2da500dbd2753e0d5a9.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9" - jest-haste-map@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz#1363f0a8bb4338f24f001806571eff7a4b2ff3d8" @@ -5169,22 +5065,6 @@ jest-jasmine2@^21.2.1: jest-snapshot "^21.2.1" p-cancelable "^0.3.0" -jest-jasmine2@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-jasmine2/-/jest-jasmine2-22.3.0/ea127dfbb04c6e03998ae0358225435e47520666.tgz#ea127dfbb04c6e03998ae0358225435e47520666" - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^22.3.0" - graceful-fs "^4.1.11" - is-generator-fn "^1.0.0" - jest-diff "^22.1.0" - jest-matcher-utils "^22.2.0" - jest-message-util "^22.2.0" - jest-snapshot "^22.2.0" - source-map-support "^0.5.0" - jest-matcher-utils@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz#72c826eaba41a093ac2b4565f865eb8475de0f64" @@ -5193,14 +5073,6 @@ jest-matcher-utils@^21.2.1: jest-get-type "^21.2.0" pretty-format "^21.2.1" -jest-matcher-utils@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/jest-matcher-utils/-/jest-matcher-utils-22.2.0/5390f823c18c748543d463825aa8e4df0db253ca.tgz#5390f823c18c748543d463825aa8e4df0db253ca" - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^22.1.0" - jest-message-util@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz#bfe5d4692c84c827d1dcf41823795558f0a1acbe" @@ -5209,32 +5081,14 @@ jest-message-util@^21.2.1: micromatch "^2.3.11" slash "^1.0.0" -jest-message-util@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/jest-message-util/-/jest-message-util-22.2.0/84a6bb34186d8b9af7e0732fabbef63f7355f7b2.tgz#84a6bb34186d8b9af7e0732fabbef63f7355f7b2" - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" - jest-mock@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-mock/-/jest-mock-21.2.0.tgz#7eb0770e7317968165f61ea2a7281131534b3c0f" -jest-mock@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/jest-mock/-/jest-mock-22.2.0/444b3f9488a7473adae09bc8a77294afded397a7.tgz#444b3f9488a7473adae09bc8a77294afded397a7" - jest-regex-util@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530" -jest-regex-util@^22.1.0: - version "22.1.0" - resolved "http://npm.lwcjs.org/jest-regex-util/-/jest-regex-util-22.1.0/5daf2fe270074b6da63e5d85f1c9acc866768f53.tgz#5daf2fe270074b6da63e5d85f1c9acc866768f53" - jest-resolve-dependencies@^21.2.0: version "21.2.0" resolved "http://npm.lwcjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09" @@ -5249,13 +5103,6 @@ jest-resolve@^21.2.0: chalk "^2.0.1" is-builtin-module "^1.0.0" -jest-resolve@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-resolve/-/jest-resolve-22.3.0/648e797f708e8701071a0fa9fac652c577bb66d9.tgz#648e797f708e8701071a0fa9fac652c577bb66d9" - dependencies: - browser-resolve "^1.11.2" - chalk "^2.0.1" - jest-runner@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-runner/-/jest-runner-21.2.1.tgz#194732e3e518bfb3d7cbfc0fd5871246c7e1a467" @@ -5304,17 +5151,6 @@ jest-snapshot@^21.2.1: natural-compare "^1.4.0" pretty-format "^21.2.1" -jest-snapshot@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/jest-snapshot/-/jest-snapshot-22.2.0/0c0ba152d296ef70fa198cc84977a2cc269ee4cf.tgz#0c0ba152d296ef70fa198cc84977a2cc269ee4cf" - dependencies: - chalk "^2.0.1" - jest-diff "^22.1.0" - jest-matcher-utils "^22.2.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^22.1.0" - jest-util@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-util/-/jest-util-21.2.1.tgz#a274b2f726b0897494d694a6c3d6a61ab819bb78" @@ -5327,18 +5163,6 @@ jest-util@^21.2.1: jest-validate "^21.2.1" mkdirp "^0.5.1" -jest-util@^22.3.0: - version "22.3.0" - resolved "http://npm.lwcjs.org/jest-util/-/jest-util-22.3.0/d05bff567a3a86c0e9b3838d812f8290aa768097.tgz#d05bff567a3a86c0e9b3838d812f8290aa768097" - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^22.2.0" - jest-validate "^22.2.2" - mkdirp "^0.5.1" - jest-validate@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7" @@ -5348,15 +5172,6 @@ jest-validate@^21.2.1: leven "^2.1.0" pretty-format "^21.2.1" -jest-validate@^22.2.2: - version "22.2.2" - resolved "http://npm.lwcjs.org/jest-validate/-/jest-validate-22.2.2/9cdce422c93cc28395e907ac6bbc929158d9a6ba.tgz#9cdce422c93cc28395e907ac6bbc929158d9a6ba" - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^22.1.0" - jest@^21.2.1: version "21.2.1" resolved "http://npm.lwcjs.org/jest/-/jest-21.2.1.tgz#c964e0b47383768a1438e3ccf3c3d470327604e1" @@ -5397,37 +5212,6 @@ jschardet@^1.4.2: version "1.5.1" resolved "http://npm.lwcjs.org/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" -jsdom@^11.5.1: - version "11.6.2" - resolved "http://npm.lwcjs.org/jsdom/-/jsdom-11.6.2/25d1ef332d48adf77fc5221fe2619967923f16bb.tgz#25d1ef332d48adf77fc5221fe2619967923f16bb" - dependencies: - abab "^1.0.4" - acorn "^5.3.0" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - browser-process-hrtime "^0.1.2" - content-type-parser "^1.0.2" - cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - domexception "^1.0.0" - escodegen "^1.9.0" - html-encoding-sniffer "^1.0.2" - left-pad "^1.2.0" - nwmatcher "^1.4.3" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.83.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.3" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-url "^6.4.0" - ws "^4.0.0" - xml-name-validator "^3.0.0" - jsdom@^9.12.0: version "9.12.0" resolved "http://npm.lwcjs.org/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" @@ -5626,10 +5410,6 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -left-pad@^1.2.0: - version "1.2.0" - resolved "http://npm.lwcjs.org/left-pad/-/left-pad-1.2.0/d30a73c6b8201d8f7d8e7956ba9616087a68e0ee.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" - lerna@^2.5.1: version "2.8.0" resolved "http://npm.lwcjs.org/lerna/-/lerna-2.8.0/309a816fca5c73ea38f9f20e314a836e99b54cf0.tgz#309a816fca5c73ea38f9f20e314a836e99b54cf0" @@ -5866,10 +5646,6 @@ lodash.some@^4.6.0: version "4.6.0" resolved "http://npm.lwcjs.org/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "http://npm.lwcjs.org/lodash.sortby/-/lodash.sortby-4.7.0/edd14c824e2cc9c1e0b0a1b42bb5210516a42438.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - lodash.template@^3.0.0: version "3.6.2" resolved "http://npm.lwcjs.org/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" @@ -5924,10 +5700,6 @@ lodash@^4.0.0, lodash@^4.1.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.4, lo version "4.17.4" resolved "http://npm.lwcjs.org/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@^4.13.1: - version "4.17.5" - resolved "http://npm.lwcjs.org/lodash/-/lodash-4.17.5/99a92d65c0272debe8c96b6057bc8fbfa3bed511.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" - log@^1.4.0: version "1.4.0" resolved "http://npm.lwcjs.org/log/-/log-1.4.0.tgz#4ba1d890fde249b031dca03bc37eaaf325656f1c" @@ -6394,7 +6166,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "http://npm.lwcjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -"nwmatcher@>= 1.3.9 < 2.0.0", nwmatcher@^1.4.3: +"nwmatcher@>= 1.3.9 < 2.0.0": version "1.4.3" resolved "http://npm.lwcjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" @@ -6619,10 +6391,6 @@ parse5-with-errors@^4.0.1: dependencies: "@types/node" "^6.0.46" -parse5@4.0.0: - version "4.0.0" - resolved "http://npm.lwcjs.org/parse5/-/parse5-4.0.0/6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - parse5@^1.5.1: version "1.5.1" resolved "http://npm.lwcjs.org/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" @@ -6755,10 +6523,6 @@ pluralize@^7.0.0: version "7.0.0" resolved "http://npm.lwcjs.org/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" -pn@^1.1.0: - version "1.1.0" - resolved "http://npm.lwcjs.org/pn/-/pn-1.1.0/e2f4cef0e219f463c179ab37463e4e1ecdccbafb.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - portfinder@^1.0.13: version "1.0.13" resolved "http://npm.lwcjs.org/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -7109,13 +6873,6 @@ pretty-format@^21.2.1: ansi-regex "^3.0.0" ansi-styles "^3.2.0" -pretty-format@^22.1.0: - version "22.1.0" - resolved "http://npm.lwcjs.org/pretty-format/-/pretty-format-22.1.0/2277605b40ed4529ae4db51ff62f4be817647914.tgz#2277605b40ed4529ae4db51ff62f4be817647914" - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - private@^0.1.6: version "0.1.7" resolved "http://npm.lwcjs.org/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -7177,10 +6934,6 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "http://npm.lwcjs.org/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -punycode@^2.1.0: - version "2.1.0" - resolved "http://npm.lwcjs.org/punycode/-/punycode-2.1.0/5f863edc89b96db09074bad7947bf09056ca4e7d.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - puppeteer@0.13.0: version "0.13.0" resolved "http://npm.lwcjs.org/puppeteer/-/puppeteer-0.13.0/2e6956205f2c640964c2107f620ae1eef8bde8fd.tgz#2e6956205f2c640964c2107f620ae1eef8bde8fd" @@ -7463,20 +7216,6 @@ replace-ext@^1.0.0: version "1.0.0" resolved "http://npm.lwcjs.org/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request-promise-core@1.1.1: - version "1.1.1" - resolved "http://npm.lwcjs.org/request-promise-core/-/request-promise-core-1.1.1/3eee00b2c5aa83239cfb04c5700da36f81cd08b6.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - dependencies: - lodash "^4.13.1" - -request-promise-native@^1.0.5: - version "1.0.5" - resolved "http://npm.lwcjs.org/request-promise-native/-/request-promise-native-1.0.5/5281770f68e0c9719e5163fd3fab482215f4fda5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" - dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" - request@2.79.0: version "2.79.0" resolved "http://npm.lwcjs.org/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" @@ -7529,7 +7268,7 @@ request@2.81.0, request@~2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.79.0, request@^2.83.0: +request@^2.79.0: version "2.83.0" resolved "http://npm.lwcjs.org/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" dependencies: @@ -7797,7 +7536,7 @@ sax@1.2.1: version "1.2.1" resolved "http://npm.lwcjs.org/sax/-/sax-1.2.1/7b8e656190b228e81a66aea748480d828cd2d37a.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" -sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.1: +sax@>=0.6.0, sax@^1.2.1, sax@~1.2.1: version "1.2.4" resolved "http://npm.lwcjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -8141,10 +7880,6 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -stack-utils@^1.0.1: - version "1.0.1" - resolved "http://npm.lwcjs.org/stack-utils/-/stack-utils-1.0.1/d4f33ab54e8e38778b0ca5cfd3b3afb12db68620.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" - static-extend@^0.1.1: version "0.1.2" resolved "http://npm.lwcjs.org/static-extend/-/static-extend-0.1.2/60809c39cbff55337226fd5e0b520f341f1fb5c6.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -8156,10 +7891,6 @@ static-extend@^0.1.1: version "1.3.1" resolved "http://npm.lwcjs.org/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" -stealthy-require@^1.1.0: - version "1.1.1" - resolved "http://npm.lwcjs.org/stealthy-require/-/stealthy-require-1.1.1/35b09875b4ff49f26a777e509b3090a3226bf24b.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - stream-browserify@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -8344,7 +8075,7 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -symbol-tree@^3.2.1, symbol-tree@^3.2.2: +symbol-tree@^3.2.1: version "3.2.2" resolved "http://npm.lwcjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" @@ -8535,18 +8266,12 @@ to-regex@^3.0.1: extend-shallow "^2.0.1" regex-not "^1.0.0" -tough-cookie@>=2.3.3, tough-cookie@^2.3.2, tough-cookie@^2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3: +tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.3" resolved "http://npm.lwcjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" dependencies: punycode "^1.4.1" -tr46@^1.0.0: - version "1.0.1" - resolved "http://npm.lwcjs.org/tr46/-/tr46-1.0.1/a8b13fd6bfd2489519674ccde55ba3693b706d09.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - dependencies: - punycode "^2.1.0" - tr46@~0.0.3: version "0.0.3" resolved "http://npm.lwcjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -8590,20 +8315,20 @@ ts-jest@^21.0.1: source-map-support "^0.5.0" yargs "^9.0.1" -ts-jest@^22.0.4: - version "22.0.4" - resolved "http://npm.lwcjs.org/ts-jest/-/ts-jest-22.0.4/be5e8d7d2cf3f3ef97d877a6a0562508c3f64515.tgz#be5e8d7d2cf3f3ef97d877a6a0562508c3f64515" +ts-jest@^21.1.2, ts-jest@^21.2.4: + version "21.2.4" + resolved "http://npm.lwcjs.org/ts-jest/-/ts-jest-21.2.4/8fbcfbfbf0c58cced10dcc34a5190acc8c5312ef.tgz#8fbcfbfbf0c58cced10dcc34a5190acc8c5312ef" dependencies: babel-core "^6.24.1" babel-plugin-istanbul "^4.1.4" babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-preset-jest "^22.0.1" + babel-preset-jest "^21.2.0" cpx "^1.5.0" - fs-extra "4.0.3" - jest-config "^22.0.1" + fs-extra "^4.0.2" + jest-config "^21.2.1" pkg-dir "^2.0.0" source-map-support "^0.5.0" - yargs "^11.0.0" + yargs "^10.0.3" tslib@^1.7.1: version "1.7.1" @@ -8932,12 +8657,6 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "http://npm.lwcjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1/82ac2bff63d950ea9e3189a58a65625fedf19045.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - dependencies: - browser-process-hrtime "^0.1.2" - walkdir@^0.0.11: version "0.0.11" resolved "http://npm.lwcjs.org/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" @@ -9057,7 +8776,7 @@ webidl-conversions@^3.0.0: version "3.0.1" resolved "http://npm.lwcjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" -webidl-conversions@^4.0.0, webidl-conversions@^4.0.1, webidl-conversions@^4.0.2: +webidl-conversions@^4.0.0: version "4.0.2" resolved "http://npm.lwcjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -9149,12 +8868,6 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" -whatwg-encoding@^1.0.3: - version "1.0.3" - resolved "http://npm.lwcjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3/57c235bc8657e914d24e1a397d3c82daee0a6ba3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" - dependencies: - iconv-lite "0.4.19" - whatwg-url@^4.3.0: version "4.8.0" resolved "http://npm.lwcjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" @@ -9162,14 +8875,6 @@ whatwg-url@^4.3.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^6.4.0: - version "6.4.0" - resolved "http://npm.lwcjs.org/whatwg-url/-/whatwg-url-6.4.0/08fdf2b9e872783a7a1f6216260a1d66cc722e08.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.0" - webidl-conversions "^4.0.1" - whet.extend@~0.9.9: version "0.9.9" resolved "http://npm.lwcjs.org/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -9268,22 +8973,10 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^4.0.0: - version "4.0.0" - resolved "http://npm.lwcjs.org/ws/-/ws-4.0.0/bfe1da4c08eeb9780b986e0e4d10eccd7345999f.tgz#bfe1da4c08eeb9780b986e0e4d10eccd7345999f" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - xml-name-validator@^2.0.1: version "2.0.1" resolved "http://npm.lwcjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "http://npm.lwcjs.org/xml-name-validator/-/xml-name-validator-3.0.0/6ae73e06de4d8c6e47f9fb181f78d648ad457c6a.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - xml2js@0.4.17: version "0.4.17" resolved "http://npm.lwcjs.org/xml2js/-/xml2js-0.4.17/17be93eaae3f3b779359c795b419705a8817e868.tgz#17be93eaae3f3b779359c795b419705a8817e868" @@ -9321,21 +9014,15 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.0.0: +yargs-parser@^8.0.0, yargs-parser@^8.1.0: version "8.1.0" resolved "http://npm.lwcjs.org/yargs-parser/-/yargs-parser-8.1.0/f1376a33b6629a5d063782944da732631e966950.tgz#f1376a33b6629a5d063782944da732631e966950" dependencies: camelcase "^4.1.0" -yargs-parser@^9.0.2: - version "9.0.2" - resolved "http://npm.lwcjs.org/yargs-parser/-/yargs-parser-9.0.2/9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - dependencies: - camelcase "^4.1.0" - -yargs@^11.0.0: - version "11.0.0" - resolved "http://npm.lwcjs.org/yargs/-/yargs-11.0.0/c052931006c5eee74610e5fc0354bedfd08a201b.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" +yargs@^10.0.3: + version "10.1.2" + resolved "http://npm.lwcjs.org/yargs/-/yargs-10.1.2/454d074c2b16a51a43e2fb7807e4f9de69ccb5c5.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" dependencies: cliui "^4.0.0" decamelize "^1.1.1" @@ -9348,7 +9035,7 @@ yargs@^11.0.0: string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1" - yargs-parser "^9.0.2" + yargs-parser "^8.1.0" yargs@^8.0.2: version "8.0.2" From b02ac32bbe03fa0232dd49dd11171067e10ff6d7 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 15 Feb 2018 09:56:38 -0800 Subject: [PATCH 8/9] wip: review comment - removed unused package --- packages/lwc-compiler/package.json | 1 - yarn.lock | 20 +------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/packages/lwc-compiler/package.json b/packages/lwc-compiler/package.json index 182f7d7221..d71bf0ac33 100644 --- a/packages/lwc-compiler/package.json +++ b/packages/lwc-compiler/package.json @@ -13,7 +13,6 @@ }, "devDependencies": { "babel-cli": "^6.24.0", - "babel-jest": "^22.2.2", "jest": "^21.2.1", "power-assert": "^1.4.2", "rimraf": "^2.6.1", diff --git a/yarn.lock b/yarn.lock index c55a95d7e6..66eafaab55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -829,13 +829,6 @@ babel-jest@^21.2.0: babel-plugin-istanbul "^4.0.0" babel-preset-jest "^21.2.0" -babel-jest@^22.2.2: - version "22.2.2" - resolved "http://npm.lwcjs.org/babel-jest/-/babel-jest-22.2.2/eda38dca284e32cc5257f96a9b51351975de4e04.tgz#eda38dca284e32cc5257f96a9b51351975de4e04" - dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.2.0" - babel-loader@^7.1.2: version "7.1.2" resolved "http://npm.lwcjs.org/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" @@ -862,7 +855,7 @@ babel-plugin-external-helpers@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5: +babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4: version "4.1.5" resolved "http://npm.lwcjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" dependencies: @@ -878,10 +871,6 @@ babel-plugin-jest-hoist@^22.1.0: version "22.1.0" resolved "http://npm.lwcjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.1.0/c1281dd7887d77a1711dc760468c3b8285dde9ee.tgz#c1281dd7887d77a1711dc760468c3b8285dde9ee" -babel-plugin-jest-hoist@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.2.0/bd34f39d652406669713b8c89e23ef25c890b993.tgz#bd34f39d652406669713b8c89e23ef25c890b993" - babel-plugin-minify-builtins@^0.2.0: version "0.2.0" resolved "http://npm.lwcjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.2.0/317f824b0907210b6348671bb040ca072e2e0c82.tgz#317f824b0907210b6348671bb040ca072e2e0c82" @@ -1326,13 +1315,6 @@ babel-preset-jest@^22.1.0: babel-plugin-jest-hoist "^22.1.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-jest@^22.2.0: - version "22.2.0" - resolved "http://npm.lwcjs.org/babel-preset-jest/-/babel-preset-jest-22.2.0/f77b43f06ef4d8547214b2e206cc76a25c3ba0e2.tgz#f77b43f06ef4d8547214b2e206cc76a25c3ba0e2" - dependencies: - babel-plugin-jest-hoist "^22.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-minify@~0.2.0: version "0.2.0" resolved "http://npm.lwcjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0/006566552d9b83834472273f306c0131062a0acc.tgz#006566552d9b83834472273f306c0131062a0acc" From 5373a3d5121d0b76c2dcf062de8b430d35f7add9 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 15 Feb 2018 10:39:14 -0800 Subject: [PATCH 9/9] wip: correction to rollup-replace import --- packages/lwc-compiler/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lwc-compiler/src/index.js b/packages/lwc-compiler/src/index.js index 5da786cc94..fdfc1b94a5 100644 --- a/packages/lwc-compiler/src/index.js +++ b/packages/lwc-compiler/src/index.js @@ -6,7 +6,7 @@ import transformFile from './transform'; import { MODES, ALL_MODES, isCompat, isProd } from './modes'; import { zipObject, isUndefined, isString } from './utils'; -import replacePlugin from "rollup-plugin-replace"; +import * as replacePlugin from "rollup-plugin-replace"; import fsModuleResolver from './module-resolvers/fs'; import inMemoryModuleResolver from './module-resolvers/in-memory'; import minifyPlugin from "./rollup-plugins/minify";