|
1 | | -const { requireFresh } = require("requirefresh") |
2 | | -const path = require("path") |
| 1 | +import { requireFresh } from "requirefresh" |
| 2 | +import assert from "assert" |
| 3 | +import * as path from "path" |
3 | 4 |
|
4 | | -const terserFile = path.join(path.dirname(__dirname), "src", ".terserrc.js") |
| 5 | +type Terserrc = typeof import("../src/.terserrc") |
| 6 | +function requireTerserrc(): Terserrc { |
| 7 | + return requireFresh(path.join(path.dirname(__dirname), "src", ".terserrc.js")) |
| 8 | +} |
5 | 9 |
|
6 | 10 | describe("Terser-Config-Atomic", () => { |
7 | 11 | it("production", () => { |
8 | 12 | process.env.NODE_ENV = "production" |
9 | 13 |
|
10 | | - const TerserOptions = requireFresh(terserFile) |
| 14 | + const TerserOptions = requireTerserrc() |
11 | 15 |
|
12 | 16 | expect(typeof TerserOptions).toBe("object") |
| 17 | + assert(typeof TerserOptions.compress === "object") |
13 | 18 | expect(TerserOptions.compress.global_defs).toEqual({ |
14 | 19 | "process.env.NODE_ENV": "production", |
15 | 20 | "process.env.BABEL_ENV": "production", |
16 | 21 | "@atom.inSpecMode": "() => false", |
17 | 22 | "@atom.inDevMode": "() => false", |
18 | 23 | }) |
19 | 24 | expect(TerserOptions.compress.passes).toBe(3) |
20 | | - expect(TerserOptions.mangle).toBeTrue() |
21 | | - expect(TerserOptions.format.beautify).toBeFalse() |
| 25 | + expect(TerserOptions.mangle).toBe(true) |
| 26 | + expect(TerserOptions.format.beautify).toBe(false) |
22 | 27 | }) |
23 | 28 | it("development", () => { |
24 | 29 | process.env.NODE_ENV = "development" |
25 | 30 |
|
26 | | - const TerserOptions = requireFresh(terserFile) |
| 31 | + const TerserOptions = requireTerserrc() |
27 | 32 |
|
28 | 33 | expect(typeof TerserOptions).toBe("object") |
29 | | - expect(TerserOptions.compress).toBeFalse() |
30 | | - expect(TerserOptions.mangle).toBeFalse() |
31 | | - expect(TerserOptions.format.beautify).toBeTrue() |
| 34 | + expect(TerserOptions.compress).toBe(false) |
| 35 | + expect(TerserOptions.mangle).toBe(false) |
| 36 | + expect(TerserOptions.format.beautify).toBe(true) |
32 | 37 | }) |
33 | 38 | it("test", () => { |
34 | 39 | process.env.NODE_ENV = "test" |
35 | 40 |
|
36 | | - const TerserOptions = requireFresh(terserFile) |
| 41 | + const TerserOptions = requireTerserrc() |
37 | 42 |
|
38 | 43 | expect(typeof TerserOptions).toBe("object") |
| 44 | + assert(typeof TerserOptions.compress === "object") |
39 | 45 | expect(TerserOptions.compress.global_defs).toEqual({ |
40 | 46 | "process.env.NODE_ENV": "test", |
41 | 47 | "process.env.BABEL_ENV": "test", |
42 | 48 | "@atom.inSpecMode": "() => true", |
43 | 49 | "@atom.inDevMode": "() => false", |
44 | 50 | }) |
45 | 51 | expect(TerserOptions.compress.passes).toBe(3) |
46 | | - expect(TerserOptions.mangle).toBeFalse() |
47 | | - expect(TerserOptions.format.beautify).toBeTrue() |
| 52 | + expect(TerserOptions.mangle).toBe(false) |
| 53 | + expect(TerserOptions.format.beautify).toBe(true) |
48 | 54 | }) |
49 | 55 | }) |
0 commit comments