ttsc 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/go.mod +1 -1
- package/internal/lspserver/lsp_launcher_reload_directory_fingerprint_parity_windows_test.go +94 -0
- package/internal/lspserver/lsp_project_input_glob_path_other.go +16 -0
- package/internal/lspserver/lsp_project_input_glob_path_windows.go +36 -0
- package/internal/lspserver/lsp_project_input_path_key_other.go +17 -0
- package/internal/lspserver/lsp_project_input_path_key_windows.go +228 -0
- package/internal/lspserver/lsp_project_input_path_key_windows_test.go +460 -0
- package/internal/lspserver/lsp_project_inputs.go +117 -49
- package/internal/lspserver/lsp_reload_directories_separate_glob_territory_test.go +181 -0
- package/lib/flags/schema.js +1 -1
- package/lib/flags/schema.js.map +1 -1
- package/lib/internal/projectInputPathIdentity.d.ts +13 -5
- package/lib/internal/projectInputPathIdentity.js +95 -41
- package/lib/internal/projectInputPathIdentity.js.map +1 -1
- package/lib/internal/windowsDirectoryCaseSensitivity.d.ts +10 -0
- package/lib/internal/windowsDirectoryCaseSensitivity.js +34 -0
- package/lib/internal/windowsDirectoryCaseSensitivity.js.map +1 -0
- package/lib/launcher/internal/runTtsc.js +5 -0
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtscserver.js +59 -8
- package/lib/launcher/internal/runTtscserver.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +61 -7
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/launcher/internal/runtimeHooks.d.ts +6 -5
- package/lib/launcher/internal/runtimeHooks.js +7 -15
- package/lib/launcher/internal/runtimeHooks.js.map +1 -1
- package/lib/launcher/internal/watchTopology.d.ts +82 -8
- package/lib/launcher/internal/watchTopology.js +535 -187
- package/lib/launcher/internal/watchTopology.js.map +1 -1
- package/lib/plugin/internal/descriptorProcessFailure.d.ts +32 -0
- package/lib/plugin/internal/descriptorProcessFailure.js +73 -0
- package/lib/plugin/internal/descriptorProcessFailure.js.map +1 -0
- package/lib/plugin/internal/loadProjectPlugins.js +29 -8
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/package.json +12 -8
- package/src/flags/schema.ts +2 -1
- package/src/internal/projectInputPathIdentity.ts +150 -46
- package/src/internal/windowsDirectoryCaseSensitivity.ts +33 -0
- package/src/launcher/internal/runTtsc.ts +7 -0
- package/src/launcher/internal/runTtscserver.ts +81 -11
- package/src/launcher/internal/runTtsx.ts +87 -10
- package/src/launcher/internal/runtimeHooks.ts +16 -16
- package/src/launcher/internal/watchTopology.ts +679 -208
- package/src/plugin/internal/descriptorProcessFailure.ts +100 -0
- package/src/plugin/internal/loadProjectPlugins.ts +41 -8
- package/tools/shim_audit/baseline.json +0 -9
|
@@ -64,10 +64,9 @@ func (s *NativePluginSource) ProjectInputMatchesURI(uri string) bool {
|
|
|
64
64
|
if !ok {
|
|
65
65
|
return false
|
|
66
66
|
}
|
|
67
|
-
candidate := projectInputPathKey(realProjectInputPath(location))
|
|
68
67
|
s.projectInputsMu.RLock()
|
|
69
68
|
defer s.projectInputsMu.RUnlock()
|
|
70
|
-
return projectInputSnapshotMatchesCandidate(s.projectInputs,
|
|
69
|
+
return projectInputSnapshotMatchesCandidate(s.projectInputs, location)
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
// ProjectInputReloadMatchesURI reports whether uri names an exact reload file,
|
|
@@ -97,6 +96,10 @@ func (s *NativePluginSource) ProjectInputReloadMatchesURI(uri string) bool {
|
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
for _, directory := range s.projectInputs.ReloadDirectories {
|
|
99
|
+
if projectInputPathKey(realProjectInputEntryPath(directory)) ==
|
|
100
|
+
candidateEntryKey {
|
|
101
|
+
return true
|
|
102
|
+
}
|
|
100
103
|
if projectInputDirectoryContainsImmediate(directory, candidateEntry) {
|
|
101
104
|
return true
|
|
102
105
|
}
|
|
@@ -107,8 +110,9 @@ func (s *NativePluginSource) ProjectInputReloadMatchesURI(uri string) bool {
|
|
|
107
110
|
// ProjectInputReloadMatchesChange reports whether an LSP filesystem change
|
|
108
111
|
// invalidates executable plugin selection. Exact reload files are content
|
|
109
112
|
// inputs. Reload directories are topology inputs, so only a change to the
|
|
110
|
-
// directory itself
|
|
111
|
-
//
|
|
113
|
+
// directory itself always qualifies. An immediate entry qualifies only when
|
|
114
|
+
// the current name/type/symlink-target digest differs from the snapshot and
|
|
115
|
+
// the entry is not data territory under a declared glob's literal root.
|
|
112
116
|
func (s *NativePluginSource) ProjectInputReloadMatchesChange(
|
|
113
117
|
uri string,
|
|
114
118
|
changeType *int,
|
|
@@ -137,6 +141,10 @@ func (s *NativePluginSource) ProjectInputReloadMatchesChange(
|
|
|
137
141
|
}
|
|
138
142
|
matched := false
|
|
139
143
|
for _, directory := range snapshot.ReloadDirectories {
|
|
144
|
+
if projectInputPathKey(realProjectInputEntryPath(directory)) ==
|
|
145
|
+
candidateEntryKey {
|
|
146
|
+
return true
|
|
147
|
+
}
|
|
140
148
|
if !projectInputDirectoryContainsImmediate(directory, candidateEntry) {
|
|
141
149
|
continue
|
|
142
150
|
}
|
|
@@ -147,10 +155,21 @@ func (s *NativePluginSource) ProjectInputReloadMatchesChange(
|
|
|
147
155
|
// under an aliased spelling would fall through to the digest compare and
|
|
148
156
|
// report no change at all.
|
|
149
157
|
if projectInputPathKey(realProjectInputPath(directory)) ==
|
|
150
|
-
candidateEntryKey
|
|
151
|
-
(changeType == nil || *changeType != fileChangeTypeChanged) {
|
|
158
|
+
candidateEntryKey {
|
|
152
159
|
return true
|
|
153
160
|
}
|
|
161
|
+
// A glob root appearing immediately inside a resolution directory is a
|
|
162
|
+
// data-population transition, not a plugin-selection transition. The data
|
|
163
|
+
// watcher already reports it and invalidates the Program in the resident
|
|
164
|
+
// process. Only a root strictly below this directory can explain away its
|
|
165
|
+
// digest delta; a glob rooted on or above the directory cannot.
|
|
166
|
+
if projectInputGlobExemptsReloadEntry(
|
|
167
|
+
snapshot,
|
|
168
|
+
directory,
|
|
169
|
+
candidate,
|
|
170
|
+
) {
|
|
171
|
+
continue
|
|
172
|
+
}
|
|
154
173
|
if projectInputReloadDirectoryDigest(directory) !=
|
|
155
174
|
snapshot.ReloadDirectoryDigests[key] {
|
|
156
175
|
matched = true
|
|
@@ -171,7 +190,6 @@ func (s *NativePluginSource) ProjectInputOwnersForURI(uri string) []string {
|
|
|
171
190
|
if !ok {
|
|
172
191
|
return nil
|
|
173
192
|
}
|
|
174
|
-
candidate := projectInputPathKey(realProjectInputPath(location))
|
|
175
193
|
s.projectInputsMu.RLock()
|
|
176
194
|
defer s.projectInputsMu.RUnlock()
|
|
177
195
|
owners := []string{}
|
|
@@ -182,7 +200,7 @@ func (s *NativePluginSource) ProjectInputOwnersForURI(uri string) []string {
|
|
|
182
200
|
) {
|
|
183
201
|
key := pluginKey(plugin, s.projectContextJSON)
|
|
184
202
|
record, ok := s.pluginProjectInputs[key]
|
|
185
|
-
if !ok || !projectInputSnapshotMatchesCandidate(record.snapshot,
|
|
203
|
+
if !ok || !projectInputSnapshotMatchesCandidate(record.snapshot, location) {
|
|
186
204
|
continue
|
|
187
205
|
}
|
|
188
206
|
owners = append(owners, key)
|
|
@@ -190,32 +208,25 @@ func (s *NativePluginSource) ProjectInputOwnersForURI(uri string) []string {
|
|
|
190
208
|
return owners
|
|
191
209
|
}
|
|
192
210
|
|
|
193
|
-
// projectInputSnapshotMatchesCandidate compares
|
|
194
|
-
//
|
|
211
|
+
// projectInputSnapshotMatchesCandidate compares each declaration and candidate
|
|
212
|
+
// in one filesystem identity domain.
|
|
195
213
|
//
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
//
|
|
200
|
-
// every lane, so this resolution is idempotent for any snapshot that arrived
|
|
201
|
-
// through it; it is what makes a snapshot stored directly, as the unit cases
|
|
202
|
-
// do, answer on the same terms as one the ingestion boundary normalized.
|
|
214
|
+
// An editor URI may use a Windows short component or a symlinked ancestor such
|
|
215
|
+
// as macOS `/var`. Exact files resolve both spellings physically. Glob matching
|
|
216
|
+
// additionally retains the candidate path so Windows can apply the semantics
|
|
217
|
+
// of the directory that owns each matched segment.
|
|
203
218
|
func projectInputSnapshotMatchesCandidate(
|
|
204
219
|
snapshot LSPProjectInputSnapshot,
|
|
205
220
|
candidate string,
|
|
206
221
|
) bool {
|
|
222
|
+
candidateKey := projectInputPathKey(realProjectInputPath(candidate))
|
|
207
223
|
for _, file := range snapshot.Files {
|
|
208
|
-
if projectInputPathKey(realProjectInputPath(file)) ==
|
|
224
|
+
if projectInputPathKey(realProjectInputPath(file)) == candidateKey {
|
|
209
225
|
return true
|
|
210
226
|
}
|
|
211
227
|
}
|
|
212
228
|
for _, pattern := range snapshot.Globs {
|
|
213
|
-
|
|
214
|
-
// resolves its longest existing prefix and rejoins the wildcards.
|
|
215
|
-
if matchProjectInputGlob(
|
|
216
|
-
strings.Split(projectInputPathKey(realProjectInputPath(pattern)), "/"),
|
|
217
|
-
strings.Split(candidate, "/"),
|
|
218
|
-
) {
|
|
229
|
+
if projectInputGlobMatchesCandidate(pattern, candidate) {
|
|
219
230
|
return true
|
|
220
231
|
}
|
|
221
232
|
}
|
|
@@ -433,8 +444,12 @@ func normalizeLSPProjectInputSnapshot(
|
|
|
433
444
|
directory,
|
|
434
445
|
)
|
|
435
446
|
}
|
|
436
|
-
normalized :=
|
|
437
|
-
|
|
447
|
+
for _, normalized := range []string{
|
|
448
|
+
filepath.ToSlash(realProjectInputPath(directory)),
|
|
449
|
+
filepath.ToSlash(realProjectInputEntryPath(directory)),
|
|
450
|
+
} {
|
|
451
|
+
reloadDirectories[projectInputPathKey(normalized)] = normalized
|
|
452
|
+
}
|
|
438
453
|
}
|
|
439
454
|
globs := map[string]string{}
|
|
440
455
|
for _, pattern := range snapshot.Globs {
|
|
@@ -653,21 +668,56 @@ func projectInputDirectoryContainsImmediate(
|
|
|
653
668
|
// declared directory lexical would never match it under a Windows short
|
|
654
669
|
// component or a symlinked ancestor.
|
|
655
670
|
resolvedDirectory := realProjectInputPath(directory)
|
|
656
|
-
relative,
|
|
657
|
-
|
|
658
|
-
|
|
671
|
+
relative, within := projectInputPathIdentityRelative(
|
|
672
|
+
resolvedDirectory,
|
|
673
|
+
candidate,
|
|
659
674
|
)
|
|
660
|
-
|
|
661
|
-
|
|
675
|
+
return within && !strings.Contains(relative, "/")
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
func projectInputGlobExemptsReloadEntry(
|
|
679
|
+
snapshot LSPProjectInputSnapshot,
|
|
680
|
+
directory string,
|
|
681
|
+
candidate string,
|
|
682
|
+
) bool {
|
|
683
|
+
resolvedDirectory := realProjectInputPath(directory)
|
|
684
|
+
directoryKey := projectInputPathKey(resolvedDirectory)
|
|
685
|
+
for _, pattern := range snapshot.Globs {
|
|
686
|
+
globRoot, _ := projectInputGlobRelativePattern(pattern)
|
|
687
|
+
resolvedGlobRoot := realProjectInputPath(globRoot)
|
|
688
|
+
if projectInputPathKey(resolvedGlobRoot) == directoryKey {
|
|
689
|
+
continue
|
|
690
|
+
}
|
|
691
|
+
if projectInputPathContains(resolvedDirectory, resolvedGlobRoot) &&
|
|
692
|
+
projectInputPathContains(resolvedGlobRoot, candidate) {
|
|
693
|
+
return true
|
|
694
|
+
}
|
|
662
695
|
}
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
696
|
+
return false
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
func projectInputPathContains(
|
|
700
|
+
directory string,
|
|
701
|
+
candidate string,
|
|
702
|
+
) bool {
|
|
703
|
+
_, within := projectInputPathIdentityRelative(directory, candidate)
|
|
704
|
+
return within
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
func projectInputPathIdentityRelative(
|
|
708
|
+
directory string,
|
|
709
|
+
candidate string,
|
|
710
|
+
) (string, bool) {
|
|
711
|
+
root := strings.TrimRight(projectInputPathKey(directory), "/")
|
|
712
|
+
location := strings.TrimRight(projectInputPathKey(candidate), "/")
|
|
713
|
+
if root == location {
|
|
714
|
+
return "", true
|
|
715
|
+
}
|
|
716
|
+
prefix := root + "/"
|
|
717
|
+
if !strings.HasPrefix(location, prefix) {
|
|
718
|
+
return "", false
|
|
667
719
|
}
|
|
668
|
-
return
|
|
669
|
-
!strings.HasPrefix(relativeKey, "../") &&
|
|
670
|
-
!strings.Contains(relativeKey, "/")
|
|
720
|
+
return strings.TrimPrefix(location, prefix), true
|
|
671
721
|
}
|
|
672
722
|
|
|
673
723
|
func preserveProjectInputReloadFingerprints(
|
|
@@ -743,6 +793,16 @@ func validProjectInputFingerprint(digest string) bool {
|
|
|
743
793
|
}
|
|
744
794
|
|
|
745
795
|
func projectInputReloadDirectoryDigest(directory string) string {
|
|
796
|
+
topology := projectInputReloadDirectoryTopologyDigest(directory)
|
|
797
|
+
digest := sha256.New()
|
|
798
|
+
digest.Write([]byte("directory\x00"))
|
|
799
|
+
digest.Write([]byte(projectInputPhysicalPathKey(directory)))
|
|
800
|
+
digest.Write([]byte{0})
|
|
801
|
+
digest.Write([]byte(topology))
|
|
802
|
+
return fmt.Sprintf("%x", digest.Sum(nil))
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
func projectInputReloadDirectoryTopologyDigest(directory string) string {
|
|
746
806
|
entries, err := os.ReadDir(projectInputFilesystemPath(directory))
|
|
747
807
|
if err != nil {
|
|
748
808
|
missing := sha256.Sum256([]byte("missing\x00"))
|
|
@@ -831,7 +891,7 @@ func realProjectInputPath(location string) string {
|
|
|
831
891
|
probe := absolute
|
|
832
892
|
suffix := []string{}
|
|
833
893
|
for {
|
|
834
|
-
resolved, err :=
|
|
894
|
+
resolved, err := physicalProjectInputPath(probe)
|
|
835
895
|
if err == nil {
|
|
836
896
|
for index := len(suffix) - 1; index >= 0; index-- {
|
|
837
897
|
resolved = filepath.Join(resolved, suffix[index])
|
|
@@ -870,15 +930,11 @@ func projectInputFilesystemPath(location string) string {
|
|
|
870
930
|
return normalized
|
|
871
931
|
}
|
|
872
932
|
|
|
873
|
-
func
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
return key
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
func matchProjectInputGlob(pattern []string, candidate []string) bool {
|
|
933
|
+
func matchProjectInputGlob(
|
|
934
|
+
pattern []string,
|
|
935
|
+
candidate []string,
|
|
936
|
+
candidateCaseSensitive []bool,
|
|
937
|
+
) bool {
|
|
882
938
|
type position struct {
|
|
883
939
|
pattern int
|
|
884
940
|
candidate int
|
|
@@ -901,9 +957,13 @@ func matchProjectInputGlob(pattern []string, candidate []string) bool {
|
|
|
901
957
|
(candidateIndex != len(candidate) &&
|
|
902
958
|
visit(patternIndex, candidateIndex+1))
|
|
903
959
|
case candidateIndex != len(candidate):
|
|
960
|
+
sensitive :=
|
|
961
|
+
candidateIndex >= len(candidateCaseSensitive) ||
|
|
962
|
+
candidateCaseSensitive[candidateIndex]
|
|
904
963
|
matched = matchProjectInputGlobSegment(
|
|
905
964
|
pattern[patternIndex],
|
|
906
965
|
candidate[candidateIndex],
|
|
966
|
+
sensitive,
|
|
907
967
|
) && visit(patternIndex+1, candidateIndex+1)
|
|
908
968
|
}
|
|
909
969
|
memo[key] = matched
|
|
@@ -912,7 +972,15 @@ func matchProjectInputGlob(pattern []string, candidate []string) bool {
|
|
|
912
972
|
return visit(0, 0)
|
|
913
973
|
}
|
|
914
974
|
|
|
915
|
-
func matchProjectInputGlobSegment(
|
|
975
|
+
func matchProjectInputGlobSegment(
|
|
976
|
+
pattern string,
|
|
977
|
+
candidate string,
|
|
978
|
+
caseSensitive bool,
|
|
979
|
+
) bool {
|
|
980
|
+
if !caseSensitive {
|
|
981
|
+
pattern = strings.ToLower(pattern)
|
|
982
|
+
candidate = strings.ToLower(candidate)
|
|
983
|
+
}
|
|
916
984
|
expression := []rune(pattern)
|
|
917
985
|
input := []rune(candidate)
|
|
918
986
|
matches := make([][]bool, len(expression)+1)
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
package lspserver
|
|
2
|
+
|
|
3
|
+
import (
|
|
4
|
+
"net/url"
|
|
5
|
+
"os"
|
|
6
|
+
"path/filepath"
|
|
7
|
+
"testing"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
// TestLSPReloadDirectoriesSeparateGlobTerritory verifies the native LSP host
|
|
11
|
+
// applies the same data-versus-selection boundary as the CLI watcher.
|
|
12
|
+
//
|
|
13
|
+
// A reload directory records resolution topology, but a declared glob's
|
|
14
|
+
// literal root appearing strictly below it is an ordinary data-population
|
|
15
|
+
// transition. Restarting the JavaScript launcher for that event loses the
|
|
16
|
+
// resident process that should instead reload its Program.
|
|
17
|
+
//
|
|
18
|
+
// 1. Create a missing glob root directly inside a reload directory and prove
|
|
19
|
+
// it remains on the warm data lane.
|
|
20
|
+
// 2. Prove unrelated immediate entries and the directory itself remain cold.
|
|
21
|
+
// 3. Prove exact reload files are never exempt inside glob territory.
|
|
22
|
+
// 4. Prove a glob rooted on or above the reload directory exempts nothing.
|
|
23
|
+
func TestLSPReloadDirectoriesSeparateGlobTerritory(t *testing.T) {
|
|
24
|
+
uri := func(location string) string {
|
|
25
|
+
normalized := filepath.ToSlash(location)
|
|
26
|
+
if filepath.VolumeName(location) != "" {
|
|
27
|
+
normalized = "/" + normalized
|
|
28
|
+
}
|
|
29
|
+
return (&url.URL{Scheme: "file", Path: normalized}).String()
|
|
30
|
+
}
|
|
31
|
+
snapshot := func(
|
|
32
|
+
root string,
|
|
33
|
+
globs []string,
|
|
34
|
+
reloadFiles []string,
|
|
35
|
+
) LSPProjectInputSnapshot {
|
|
36
|
+
normalized, err := normalizeLSPProjectInputSnapshot(
|
|
37
|
+
LSPProjectInputSnapshot{
|
|
38
|
+
Root: root,
|
|
39
|
+
Globs: globs,
|
|
40
|
+
ReloadFiles: reloadFiles,
|
|
41
|
+
ReloadDirectories: []string{root},
|
|
42
|
+
},
|
|
43
|
+
root,
|
|
44
|
+
)
|
|
45
|
+
if err != nil {
|
|
46
|
+
t.Fatalf("normalize project inputs: %v", err)
|
|
47
|
+
}
|
|
48
|
+
return normalized
|
|
49
|
+
}
|
|
50
|
+
created := fileChangeTypeCreated
|
|
51
|
+
changed := fileChangeTypeChanged
|
|
52
|
+
|
|
53
|
+
t.Run("literal root is data", func(t *testing.T) {
|
|
54
|
+
root := t.TempDir()
|
|
55
|
+
globRoot := filepath.Join(root, "api")
|
|
56
|
+
source := &NativePluginSource{
|
|
57
|
+
projectInputs: snapshot(
|
|
58
|
+
root,
|
|
59
|
+
[]string{filepath.Join(globRoot, "**", "*.json")},
|
|
60
|
+
nil,
|
|
61
|
+
),
|
|
62
|
+
}
|
|
63
|
+
if err := os.Mkdir(globRoot, 0o755); err != nil {
|
|
64
|
+
t.Fatal(err)
|
|
65
|
+
}
|
|
66
|
+
if source.ProjectInputReloadMatchesChange(uri(globRoot), &created) {
|
|
67
|
+
t.Fatal("declared glob root selected a cold launcher restart")
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
source.projectInputs = snapshot(
|
|
71
|
+
root,
|
|
72
|
+
[]string{filepath.Join(globRoot, "**", "*.json")},
|
|
73
|
+
nil,
|
|
74
|
+
)
|
|
75
|
+
selectionEntry := filepath.Join(root, "new-package")
|
|
76
|
+
if err := os.Mkdir(selectionEntry, 0o755); err != nil {
|
|
77
|
+
t.Fatal(err)
|
|
78
|
+
}
|
|
79
|
+
if !source.ProjectInputReloadMatchesChange(uri(selectionEntry), &created) {
|
|
80
|
+
t.Fatal("unrelated immediate entry did not select a cold restart")
|
|
81
|
+
}
|
|
82
|
+
if !source.ProjectInputReloadMatchesChange(uri(root), &changed) {
|
|
83
|
+
t.Fatal("reload-directory identity event depended on its change type")
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
t.Run("exact file is never data", func(t *testing.T) {
|
|
88
|
+
root := t.TempDir()
|
|
89
|
+
globRoot := filepath.Join(root, "api")
|
|
90
|
+
reloadFile := filepath.Join(globRoot, "selection.json")
|
|
91
|
+
source := &NativePluginSource{
|
|
92
|
+
projectInputs: snapshot(
|
|
93
|
+
root,
|
|
94
|
+
[]string{filepath.Join(globRoot, "**", "*.json")},
|
|
95
|
+
[]string{reloadFile},
|
|
96
|
+
),
|
|
97
|
+
}
|
|
98
|
+
if err := os.Mkdir(globRoot, 0o755); err != nil {
|
|
99
|
+
t.Fatal(err)
|
|
100
|
+
}
|
|
101
|
+
if err := os.WriteFile(reloadFile, []byte("{}"), 0o644); err != nil {
|
|
102
|
+
t.Fatal(err)
|
|
103
|
+
}
|
|
104
|
+
if !source.ProjectInputReloadMatchesChange(uri(reloadFile), &created) {
|
|
105
|
+
t.Fatal("exact reload file was exempted by surrounding glob territory")
|
|
106
|
+
}
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
t.Run("symlinked literal root is data", func(t *testing.T) {
|
|
110
|
+
root := t.TempDir()
|
|
111
|
+
globRoot := filepath.Join(root, "api")
|
|
112
|
+
physicalData := filepath.Join(root, "data")
|
|
113
|
+
if err := os.Mkdir(physicalData, 0o755); err != nil {
|
|
114
|
+
t.Fatal(err)
|
|
115
|
+
}
|
|
116
|
+
source := &NativePluginSource{
|
|
117
|
+
projectInputs: snapshot(
|
|
118
|
+
root,
|
|
119
|
+
[]string{filepath.Join(globRoot, "**", "*.json")},
|
|
120
|
+
nil,
|
|
121
|
+
),
|
|
122
|
+
}
|
|
123
|
+
if err := os.Symlink(physicalData, globRoot); err != nil {
|
|
124
|
+
t.Skipf("directory symlinks unavailable: %v", err)
|
|
125
|
+
}
|
|
126
|
+
if source.ProjectInputReloadMatchesChange(uri(globRoot), &created) {
|
|
127
|
+
t.Fatal("symlinked glob root lost its physical data identity")
|
|
128
|
+
}
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
t.Run("symlinked literal root outside reload directory is selection", func(t *testing.T) {
|
|
132
|
+
root := t.TempDir()
|
|
133
|
+
globRoot := filepath.Join(root, "api")
|
|
134
|
+
physicalData := t.TempDir()
|
|
135
|
+
source := &NativePluginSource{
|
|
136
|
+
projectInputs: snapshot(
|
|
137
|
+
root,
|
|
138
|
+
[]string{filepath.Join(globRoot, "**", "*.json")},
|
|
139
|
+
nil,
|
|
140
|
+
),
|
|
141
|
+
}
|
|
142
|
+
if err := os.Symlink(physicalData, globRoot); err != nil {
|
|
143
|
+
t.Skipf("directory symlinks unavailable: %v", err)
|
|
144
|
+
}
|
|
145
|
+
if !source.ProjectInputReloadMatchesChange(uri(globRoot), &created) {
|
|
146
|
+
t.Fatal("glob root outside reload directory exempted selection")
|
|
147
|
+
}
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
for _, test := range []struct {
|
|
151
|
+
name string
|
|
152
|
+
glob func(string) string
|
|
153
|
+
}{
|
|
154
|
+
{
|
|
155
|
+
name: "rooted on reload directory",
|
|
156
|
+
glob: func(root string) string {
|
|
157
|
+
return filepath.Join(root, "**", "*.json")
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "rooted above reload directory",
|
|
162
|
+
glob: func(root string) string {
|
|
163
|
+
return filepath.Join(filepath.Dir(root), "**", "*.json")
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
} {
|
|
167
|
+
t.Run(test.name, func(t *testing.T) {
|
|
168
|
+
root := t.TempDir()
|
|
169
|
+
source := &NativePluginSource{
|
|
170
|
+
projectInputs: snapshot(root, []string{test.glob(root)}, nil),
|
|
171
|
+
}
|
|
172
|
+
entry := filepath.Join(root, "new-package")
|
|
173
|
+
if err := os.Mkdir(entry, 0o755); err != nil {
|
|
174
|
+
t.Fatal(err)
|
|
175
|
+
}
|
|
176
|
+
if !source.ProjectInputReloadMatchesChange(uri(entry), &created) {
|
|
177
|
+
t.Fatal("glob at or above reload directory exempted selection entry")
|
|
178
|
+
}
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
}
|
package/lib/flags/schema.js
CHANGED
|
@@ -207,7 +207,7 @@ exports.FLAG_SCHEMA = [
|
|
|
207
207
|
subcommands: ["ttsc", "ttsx", "build", "check", "fix", "format"],
|
|
208
208
|
consumedBy: ["tsgo"],
|
|
209
209
|
forwardTo: "tsgo",
|
|
210
|
-
description: "
|
|
210
|
+
description: "Forward the removed legacy option for TypeScript-Go's diagnostic.",
|
|
211
211
|
},
|
|
212
212
|
{
|
|
213
213
|
name: "--rootDir",
|
package/lib/flags/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flags/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flags/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,31 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type FilesystemPathIdentity = {
|
|
2
2
|
key: string;
|
|
3
3
|
path: string;
|
|
4
4
|
};
|
|
5
|
-
export type
|
|
5
|
+
export type FilesystemPathIdentityOperations = {
|
|
6
6
|
caseSensitive(directory: string): boolean;
|
|
7
|
+
platform: NodeJS.Platform;
|
|
7
8
|
realpath(location: string): string;
|
|
9
|
+
throwOnRealpathError: boolean;
|
|
8
10
|
};
|
|
9
|
-
export type
|
|
11
|
+
export type FilesystemPathIdentityContext = {
|
|
10
12
|
caseSensitive(directory: string): boolean;
|
|
11
13
|
isWithin(root: string, candidate: string): boolean;
|
|
12
|
-
resolve(location: string):
|
|
14
|
+
resolve(location: string): FilesystemPathIdentity;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
|
-
* Create one filesystem-identity resolver for a
|
|
17
|
+
* Create one filesystem-identity resolver for a filesystem transaction.
|
|
16
18
|
*
|
|
17
19
|
* Existing segments use their physical spelling. A missing suffix keeps exact
|
|
18
20
|
* spelling only under a case-sensitive directory; otherwise its canonical
|
|
19
21
|
* spelling is folded so aliases remain one declaration before they exist.
|
|
20
22
|
*/
|
|
23
|
+
export declare function createFilesystemPathIdentityContext(operations?: Partial<FilesystemPathIdentityOperations>): FilesystemPathIdentityContext;
|
|
24
|
+
export declare function isFilesystemPathIdentityWithin(root: string, candidate: string, platform?: NodeJS.Platform): boolean;
|
|
25
|
+
export declare function resolveFilesystemPath(location: string, platform?: NodeJS.Platform): string;
|
|
26
|
+
export type ProjectInputPathIdentity = FilesystemPathIdentity;
|
|
27
|
+
export type ProjectInputPathIdentityOperations = FilesystemPathIdentityOperations;
|
|
28
|
+
export type ProjectInputPathIdentityContext = FilesystemPathIdentityContext;
|
|
21
29
|
export declare function createProjectInputPathIdentityContext(operations?: Partial<ProjectInputPathIdentityOperations>): ProjectInputPathIdentityContext;
|
|
22
30
|
export declare function isProjectInputPathIdentityWithin(root: string, candidate: string): boolean;
|
|
23
31
|
export declare function resolveProjectInputPath(location: string): string;
|