deno.land / x / esm@v135_2 / server / pkg_test.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package server
import ( "encoding/json" "testing")
func TestPackageJsonParse(t *testing.T) { var info NpmPackageInfo err := json.Unmarshal([]byte(`{ "name": "foo", "version": "1.0.0", "main": "index.js", "module": "index.mjs", "sideEffects": false, "esm.sh": { "bundle": false } }`), &info) if err != nil { t.Fatal(err) } if info.Name != "foo" { t.Fatal("invalid name") } if info.Version != "1.0.0" { t.Fatal("invalid version") } if info.Main != "index.js" { t.Fatal("invalid main") } if info.Module != "index.mjs" { t.Fatal("invalid module") } if info.SideEffectsFalse != true { t.Fatal("invalid sideEffects") } if info.ESMConfig["bundle"] != false { t.Fatal("invalid esm.sh config") }}
func TestPkgPath(t *testing.T) { pkgName, pkgVersion, subPath := splitPkgPath("react") if pkgName != "react" || pkgVersion != "" || subPath != "" { t.Fatal("invalid splitPkgPath('react')") } pkgName, pkgVersion, subPath = splitPkgPath("react@18.2.0") if pkgName != "react" || pkgVersion != "18.2.0" || subPath != "" { t.Fatal("invalid splitPkgPath('react@18.2.0')") } pkgName, pkgVersion, subPath = splitPkgPath("react-dom@18.2.0/server") if pkgName != "react-dom" || pkgVersion != "18.2.0" || subPath != "server" { t.Fatal("invalid splitPkgPath('react@18.2.0/server')") } pkg, q, err := validatePkgPath("react@18.2.0") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "react@18.2.0" { t.Fatalf("invalid pkg('%v'), should be 'react@18.2.0'", pkg) }
pkg, q, err = validatePkgPath("react-dom@18.2.0/client") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "react-dom@18.2.0/client" { t.Fatalf("invalid pkg('%v'), should be 'react-dom@18.2.0/client'", pkg) }
pkg, q, err = validatePkgPath("react-dom@18.2.0&dev/client.js") if err != nil { t.Fatal(err) } if q != "dev" { t.Fatalf("invalid unquery('%s'), should be 'dev'", q) } if pkg.String() != "react-dom@18.2.0/client" { t.Fatalf("invalid pkg('%v'), should be 'react-dom@18.2.0/client'", pkg) }
pkg, q, err = validatePkgPath("@types/react@18.2.0") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "@types/react@"+fixedPkgVersions["@types/react@18"] { t.Fatalf("invalid pkg('%v'), should be '@types/react@%s'", pkg, fixedPkgVersions["@types/react@18"]) }}
esm

Version Info

Tagged at
2 months ago