Skip to content

Commit 3f4a529

Browse files
authored
feat!: change to mangle option name from minify option name (#2064)
* feat: change to `mangle` option name from `minify` option name * fix: size report action
1 parent 9fd28ad commit 3f4a529

File tree

9 files changed

+87
-41
lines changed

9 files changed

+87
-41
lines changed

.github/workflows/size-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
if_no_artifact_found: warn
6565

6666
- name: Prepare report
67-
run: npx tsx scripts/size-report.ts > size-report.md
67+
run: npx tsx scripts/report-size.ts > size-report.md
6868

6969
- name: Read Size Report
7070
id: size-report

packages/core-base/test/compilation.test.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// utils
2-
import * as shared from '@intlify/shared'
32
vi.mock('@intlify/shared', async () => {
43
const actual = await vi.importActual<object>('@intlify/shared')
54
return {
@@ -9,7 +8,7 @@ vi.mock('@intlify/shared', async () => {
98
})
109

1110
import { baseCompile } from '@intlify/message-compiler'
12-
import { compile, isMessageAST, clearCompileCache } from '../src/compilation'
11+
import { clearCompileCache, compile, isMessageAST } from '../src/compilation'
1312
import { createMessageContext as context } from '../src/runtime'
1413

1514
const DEFAULT_CONTEXT = { locale: 'en', key: 'key' }
@@ -25,7 +24,7 @@ describe('isMessageAST', () => {
2524
})
2625
})
2726

28-
describe('minify AST', () => {
27+
describe('mangle AST', () => {
2928
test('should be true', () => {
3029
expect(isMessageAST({ type: 0, b: '' })).toBe(true)
3130
})
@@ -60,11 +59,11 @@ describe('compile', () => {
6059
expect(msg(ctx)).toBe('hello kazupon!')
6160
})
6261

63-
test('minify', () => {
62+
test('mangle', () => {
6463
const { ast } = baseCompile('hello {name}!', {
6564
location: false,
6665
jit: true,
67-
minify: true
66+
mangle: true
6867
})
6968
const msg = compile(ast, DEFAULT_CONTEXT)
7069
const ctx = context({
@@ -78,7 +77,7 @@ describe('compile', () => {
7877
const { ast } = baseCompile('hello {0}!', {
7978
location: false,
8079
jit: true,
81-
minify: true
80+
mangle: true
8281
})
8382
const msg = compile(ast, DEFAULT_CONTEXT)
8483
const ctx = context({

packages/message-compiler/src/compiler.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
import { assign } from '@intlify/shared'
2+
import { generate } from './generator'
3+
import { mangle } from './mangler'
4+
import { optimize } from './optimizer'
15
import { createParser } from './parser'
26
import { transform } from './transformer'
3-
import { optimize } from './optimizer'
4-
import { minify } from './minifier'
5-
import { generate } from './generator'
6-
import { assign } from '@intlify/shared'
77

8-
import type { CompileOptions } from './options'
98
import type { CodeGenResult } from './generator'
9+
import type { CompileOptions } from './options'
1010

1111
export type CompilerResult = CodeGenResult
1212

@@ -16,8 +16,8 @@ export function baseCompile(
1616
): CompilerResult {
1717
const assignedOptions = assign({}, options)
1818
const jit = !!assignedOptions.jit
19-
const enalbeMinify = !!assignedOptions.minify
20-
const enambeOptimize =
19+
const enableMangle = !!assignedOptions.mangle
20+
const enableOptimize =
2121
assignedOptions.optimize == null ? true : assignedOptions.optimize
2222

2323
// parse source codes
@@ -32,10 +32,10 @@ export function baseCompile(
3232
return generate(ast, assignedOptions)
3333
} else {
3434
// optimize ASTs
35-
enambeOptimize && optimize(ast)
35+
enableOptimize && optimize(ast)
3636

3737
// minimize ASTs
38-
enalbeMinify && minify(ast)
38+
enableMangle && mangle(ast)
3939

4040
// In JIT mode, no ast transform, no code generation.
4141
return { ast, code: '' }

packages/message-compiler/src/minifier.ts renamed to packages/message-compiler/src/mangler.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1+
import { CompileErrorCodes, createCompileError } from './errors'
12
import { NodeTypes } from './nodes'
2-
import { createCompileError, CompileErrorCodes } from './errors'
33

44
import type {
5-
MessageNode,
6-
ResourceNode,
7-
Node,
8-
PluralNode,
9-
TextNode,
10-
LiteralNode,
11-
LinkedNode,
125
LinkedKeyNode,
136
LinkedModifierNode,
7+
LinkedNode,
148
ListNode,
15-
NamedNode
9+
LiteralNode,
10+
MessageNode,
11+
NamedNode,
12+
Node,
13+
PluralNode,
14+
ResourceNode,
15+
TextNode
1616
} from './nodes'
1717

1818
export const ERROR_DOMAIN = 'minifier'
1919

2020
/* eslint-disable @typescript-eslint/no-explicit-any */
2121

22-
export function minify(node: Node) {
22+
export function mangle(node: Node) {
2323
node.t = node.type
2424

2525
switch (node.type) {
2626
case NodeTypes.Resource: {
2727
const resource = node as ResourceNode
28-
minify(resource.body)
28+
mangle(resource.body)
2929
resource.b = resource.body
3030
delete (resource as any).body
3131
break
@@ -34,7 +34,7 @@ export function minify(node: Node) {
3434
const plural = node as PluralNode
3535
const cases = plural.cases
3636
for (let i = 0; i < cases.length; i++) {
37-
minify(cases[i])
37+
mangle(cases[i])
3838
}
3939
plural.c = cases
4040
delete (plural as any).cases
@@ -44,7 +44,7 @@ export function minify(node: Node) {
4444
const message = node as MessageNode
4545
const items = message.items
4646
for (let i = 0; i < items.length; i++) {
47-
minify(items[i])
47+
mangle(items[i])
4848
}
4949
message.i = items
5050
delete (message as any).items
@@ -71,11 +71,11 @@ export function minify(node: Node) {
7171
}
7272
case NodeTypes.Linked: {
7373
const linked = node as LinkedNode
74-
minify(linked.key)
74+
mangle(linked.key)
7575
linked.k = linked.key
7676
delete (linked as any).key
7777
if (linked.modifier) {
78-
minify(linked.modifier)
78+
mangle(linked.modifier)
7979
linked.m = linked.modifier
8080
delete (linked as any).modifier
8181
}

packages/message-compiler/src/options.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export interface CodeGenOptions {
3434

3535
export type CompileOptions = {
3636
optimize?: boolean // default true
37-
minify?: boolean // default false
37+
mangle?: boolean // default false
3838
jit?: boolean // default false
3939
} & TransformOptions &
4040
CodeGenOptions &

packages/message-compiler/test/__snapshots__/compiler.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ exports[`compiler options > location: false > ast 1`] = `
287287
}
288288
`;
289289
290-
exports[`compiler options > minify: true > ast 1`] = `
290+
exports[`compiler options > mangle: true > ast 1`] = `
291291
{
292292
"b": {
293293
"i": [
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2+
3+
exports[`mangle 1`] = `
4+
{
5+
"b": {
6+
"c": [
7+
{
8+
"i": [
9+
{
10+
"t": 3,
11+
},
12+
],
13+
"s": "no apples",
14+
"t": 2,
15+
},
16+
{
17+
"i": [
18+
{
19+
"i": 0,
20+
"t": 5,
21+
},
22+
{
23+
"t": 3,
24+
"v": " apple",
25+
},
26+
],
27+
"t": 2,
28+
},
29+
{
30+
"i": [
31+
{
32+
"k": "n",
33+
"t": 4,
34+
},
35+
{
36+
"t": 3,
37+
"v": " apples",
38+
},
39+
],
40+
"t": 2,
41+
},
42+
],
43+
"t": 1,
44+
},
45+
"t": 0,
46+
}
47+
`;

packages/message-compiler/test/compiler.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,11 @@ describe('compiler options', () => {
102102
expect(map).toBeUndefined()
103103
})
104104

105-
test('minify: true', () => {
105+
test('mangle: true', () => {
106106
const { ast } = compile(`hello world`, {
107107
location: false,
108108
jit: true,
109-
minify: true
109+
mangle: true
110110
})
111111
expect(ast).toMatchSnapshot('ast')
112112
})

packages/message-compiler/test/minifier.test.ts renamed to packages/message-compiler/test/mangler.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { format } from '@intlify/shared'
2-
import { createParser } from '../src/parser'
3-
import { optimize } from '../src/optimizer'
4-
import { minify } from '../src/minifier'
52
import { CompileErrorCodes, errorMessages } from '../src/errors'
3+
import { mangle } from '../src/mangler'
4+
import { optimize } from '../src/optimizer'
5+
import { createParser } from '../src/parser'
66

77
import type { MessageNode, PluralNode, ResourceNode } from '../src/nodes'
88

9-
test('minify', () => {
9+
test('mangle', () => {
1010
const parser = createParser({ location: false })
1111
const msg = `no apples | {0} apple | {n} apples`
1212
const ast = optimize(parser.parse(msg))
13-
minify(ast)
13+
mangle(ast)
1414

1515
expect(ast).toMatchSnapshot()
1616
const messages = (ast.b! as PluralNode)
@@ -25,7 +25,7 @@ test('unhandle error', () => {
2525
const ast = {
2626
type
2727
} as unknown as ResourceNode
28-
expect(() => minify(ast)).toThrowError(
28+
expect(() => mangle(ast)).toThrowError(
2929
format(errorMessages[CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE], type)
3030
)
3131
})

0 commit comments

Comments
 (0)