Skip to content

Commit 1fac7a2

Browse files
committed
this is better than before?
1 parent 08c85bd commit 1fac7a2

File tree

7 files changed

+43
-25
lines changed

7 files changed

+43
-25
lines changed

package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"testEnvironment": "node"
1616
},
1717
"peerDependencies": {
18-
"typescript": "~3.3.1",
18+
"typescript": "~3.8.3",
1919
"webpack": "^4.29.1"
2020
},
2121
"devDependencies": {
@@ -41,13 +41,14 @@
4141
"google-closure-compiler": "^20181231.0.0-webpack-beta",
4242
"jest": "^24.1.0",
4343
"memory-fs": "^0.4.1",
44+
"postscribe": "^2.0.8",
4445
"source-map": "^0.6.1",
4546
"ts-loader": "^5.3.3",
46-
"typescript": "~3.3.1",
47+
"typescript": "~3.8.3",
4748
"webpack": "^4.29.1"
4849
},
4950
"dependencies": {
5051
"fs-extra": "^7.0.1",
51-
"tsickle": "^0.34.3"
52+
"tsickle": "^0.38.1"
5253
}
5354
}

src/fix-output.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
*/
66
export const fixCode = (code: string): string => {
77
return code
8+
.replace(/^\s*var\s*tsickle.+=.*goog\.requireType.*$/g, "")
89
.replace(
910
/(?:const|var)\s*.*tsickle_forward_declare_.*\s*=\s*goog\.forwardDeclare.*/g,
1011
""
1112
)
1213
.replace(/!\.(\w)/gm, "!$1")
1314
.replace(/goog\.require.*/gm, "")
14-
.replace(/tsickle_forward_declare_\d\./gm, "");
15+
.replace(/tsickle_forward_declare_\d\./gm, "")
16+
.replace(/var\s* tsickle_.+=\s+/g, "");
1517
};
1618

1719
/**
@@ -30,6 +32,7 @@ export const fixExtern = (extern: string | null): string => {
3032
.replace(/!\.(\w)/gm, "!$1")
3133
.replace(/^\.(\w+\s+=\s+{}\s*;?\s*$)/gm, "var $1")
3234
.replace(/^\.(\w+\s+=\s+function.+$)/gm, "var $1")
35+
.replace(/^\.(\w+\s*;\s*$)/gm, "var $1")
3336
.replace(/^\./gm, "");
3437

3538
return fixed.replace(/([<{])!\.(\w)/gm, "$1!$2");

src/index.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { EOL } from "os";
88
import webpack = require("webpack");
99
import { fixCode, fixExtern } from "./fix-output";
1010
import { jsToTS, tsToJS } from "./path-utils";
11+
import { TcpSocketConnectOpts } from "net";
1112

1213
const LOADER_NAME = "tsickle-loader";
1314
const DEFAULT_EXTERN_DIR = "dist/externs";
@@ -137,7 +138,7 @@ const tsickleLoader: webpack.loader.Loader = function(
137138
transformTypesToClosure: true,
138139
typeBlackListPaths: new Set(),
139140
untyped: false,
140-
logWarning: (warning: unknown) =>
141+
logWarning: warning =>
141142
handleDiagnostics(this, [warning], diagnosticsHost, "warning")
142143
};
143144

@@ -161,11 +162,13 @@ const tsickleLoader: webpack.loader.Loader = function(
161162
const tsPathName = jsToTS(path);
162163
const extern = output.externs[tsPathName];
163164
if (extern != null) {
164-
console.info(`appending extern for ${path} to::\n${extern}\n`);
165+
// console.info(`appending extern for ${path} to (${externFile}) ::\n${extern}\n`);
165166
fs.appendFileSync(externFile, fixExtern(extern));
166167
}
167168

168-
return fixCode(source);
169+
const fixed = fixCode(source);
170+
// console.info("FIXED CODE:: \n", fixed);
171+
return fixed;
169172
}
170173

171174
this.emitError(

test/examples/js-import.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import postscribe from "postscribe";
2+
3+
export default function loadHtml (): void {
4+
postscribe(document.body, "hello");
5+
}

test/examples/js-module.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function mainFnJSExample () {
2+
return 'hello world from JS'
3+
}

test/loader.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ test('It will correctly collapse unnecessary modules (tree shaking)', async () =
3737
})
3838

3939
expect(output).toContain('myRealExport')
40-
})
40+
}, 10e3)
4141

4242
test('will work with closure compiler plugin', async () => {
4343
const externDir = path.resolve(__dirname, 'tmp', 'externs-' + Math.floor(Math.random() * 10))

yarn.lock

+20-17
Original file line numberDiff line numberDiff line change
@@ -4440,11 +4440,23 @@ posix-character-classes@^0.1.0:
44404440
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
44414441
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
44424442

4443+
postscribe@^2.0.8:
4444+
version "2.0.8"
4445+
resolved "https://registry.yarnpkg.com/postscribe/-/postscribe-2.0.8.tgz#5b7a53aad4b690b6c2f75818fcefe74490f410d5"
4446+
integrity sha1-W3pTqtS2kLbC91gY/O/nRJD0ENU=
4447+
dependencies:
4448+
prescribe ">=1.1.2"
4449+
44434450
prelude-ls@~1.1.2:
44444451
version "1.1.2"
44454452
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
44464453
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
44474454

4455+
prescribe@>=1.1.2:
4456+
version "1.1.3"
4457+
resolved "https://registry.yarnpkg.com/prescribe/-/prescribe-1.1.3.tgz#8d3122445f3fbaf4c4c5817ea527a17fc8139ee6"
4458+
integrity sha1-jTEiRF8/uvTExYF+pSehf8gTnuY=
4459+
44484460
pretty-format@^24.0.0:
44494461
version "24.0.0"
44504462
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.0.0.tgz#cb6599fd73ac088e37ed682f61291e4678f48591"
@@ -5104,11 +5116,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
51045116
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
51055117
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
51065118

5107-
source-map@^0.7.3:
5108-
version "0.7.3"
5109-
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
5110-
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
5111-
51125119
spdx-correct@^3.0.0:
51135120
version "3.1.0"
51145121
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
@@ -5504,14 +5511,10 @@ ts-loader@^5.3.3:
55045511
micromatch "^3.1.4"
55055512
semver "^5.0.1"
55065513

5507-
tsickle@^0.34.3:
5508-
version "0.34.3"
5509-
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.3.tgz#8085067a26d7bff466ddadb2eba18849b49159b8"
5510-
integrity sha512-mb1v3nsr6rYaZky22xj0d6qv4ogAR40Bc6r37jwWOg3bEIO/ZppEFZiEADs/NNVLcWTPgmNmPZgaX5CfAH6oXA==
5511-
dependencies:
5512-
minimist "^1.2.0"
5513-
mkdirp "^0.5.1"
5514-
source-map "^0.7.3"
5514+
tsickle@^0.38.1:
5515+
version "0.38.1"
5516+
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.38.1.tgz#30762db759d40c435943093b6972c7f2efb384ef"
5517+
integrity sha512-4xZfvC6+etRu6ivKCNqMOd1FqcY/m6JY3Y+yr5+Xw+i751ciwrWINi6x/3l1ekcODH9GZhlf0ny2LpzWxnjWYA==
55155518

55165519
tslib@^1.9.0:
55175520
version "1.9.3"
@@ -5547,10 +5550,10 @@ typedarray@^0.0.6:
55475550
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
55485551
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
55495552

5550-
typescript@~3.3.1:
5551-
version "3.3.1"
5552-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.1.tgz#6de14e1db4b8a006ac535e482c8ba018c55f750b"
5553-
integrity sha512-cTmIDFW7O0IHbn1DPYjkiebHxwtCMU+eTy30ZtJNBPF9j2O1ITu5XH2YnBeVRKWHqF+3JQwWJv0Q0aUgX8W7IA==
5553+
typescript@~3.8.3:
5554+
version "3.8.3"
5555+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"
5556+
integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==
55545557

55555558
uglify-js@^3.1.4:
55565559
version "3.4.9"

0 commit comments

Comments
 (0)