diff --git a/.github/workflows/test_old_compile.yml b/.github/workflows/test_old_compile.yml new file mode 100644 index 00000000..c366c11b --- /dev/null +++ b/.github/workflows/test_old_compile.yml @@ -0,0 +1,29 @@ +name: Build in TSC 3.4 + +on: [push, pull_request] + + +jobs: + build_old: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 12 + + - name: NPM install + run: npm ci + + - name: Build + run: npm run build + + - name: Install typescript@~3.4 + run: npm install typescript@~3.4 + + - name: Print TypeScript version + run: npx tsc --version + + - name: Type check .d.ts files + run: npx tsc ts3.4/lit-element.d.ts --noEmit -t esnext --moduleResolution Node diff --git a/.gitignore b/.gitignore index 65d2bd7b..33d70f5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,13 @@ /node_modules/ -/lib/ #Compiler Output -lit-element.js -lit-element.js.map -lit-element.d.ts -lit-element.d.ts.map +/lib/ +/ts3.4/ + +/lit-element.js +/lit-element.js.map +/lit-element.d.ts +/lit-element.d.ts.map /test/**/*.d.ts /test/**/*.d.ts.map diff --git a/.npmignore b/.npmignore index 35bfc4d9..e0c42a45 100644 --- a/.npmignore +++ b/.npmignore @@ -1 +1,10 @@ docs/ +.travis.yml +check-version-tracker.js +rollup.config.js +tslint.json +tsconfig_apidoc.json +wct.conf.json +.vscode/ +.github/ +.clang-format diff --git a/package-lock.json b/package-lock.json index 14ee155f..91c2bf1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "lit-element", - "version": "2.2.1", + "version": "2.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4068,6 +4068,16 @@ "is-obj": "^1.0.0" } }, + "downlevel-dts": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/downlevel-dts/-/downlevel-dts-0.4.0.tgz", + "integrity": "sha512-nh5vM3n2pRhPwZqh0iWo5gpItPAYEGEWw9yd0YpI+lO60B7A3A6iJlxDbt7kKVNbqBXKsptL+jwE/Yg5Go66WQ==", + "dev": true, + "requires": { + "shelljs": "^0.8.3", + "typescript": "^3.8.0-dev.20200111" + } + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", diff --git a/package.json b/package.json index e5698be0..4a6f56a0 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "/lit-element.js.map" ], "scripts": { - "build": "tsc", + "build": "tsc && downlevel-dts . ts3.4 && cp tsconfig.json ./ts3.4/", "build:babel-test": "babel src/test/lib/decorators_test.ts --out-file test/lib/decorators-babel_test.js", "gen-docs": "typedoc --readme docs/_api/api-readme.md --tsconfig tsconfig_apidoc.json --mode modules --theme docs/_api/theme --excludeNotExported --excludePrivate --ignoreCompilerErrors --exclude '{**/*test*,**/node_modules/**,**/test/**}' --out ./docs/api --gaID UA-39334307-23 src/**/*.ts", "test": "npm run build && npm run build:babel-test && wct", @@ -46,6 +46,7 @@ "@webcomponents/webcomponentsjs": "^2.2.3", "chai": "^4.0.2", "clang-format": "^1.2.4", + "downlevel-dts": "^0.4.0", "lit-element-benchmarks": "^0.1.0", "mocha": "^6.2.2", "np": "^5.2.1", @@ -56,12 +57,19 @@ "tachometer": "^0.4.16", "tslint": "^5.20.1", "typedoc": "^0.14.2", - "typescript": "^3.8.2", + "typescript": "~3.8.2", "uglify-es": "^3.3.9", "wct-mocha": "^1.0.0", "web-component-tester": "^6.9.2" }, "typings": "lit-element.d.ts", + "typesVersions": { + "<3.8": { + "*": [ + "ts3.4/*" + ] + } + }, "dependencies": { "lit-html": "^1.1.1" },