@visulima/vis 1.0.0-alpha.25 → 1.0.0-alpha.27

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/LICENSE.md +19 -152
  3. package/README.md +24 -22
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +1 -1
  6. package/dist/config/index.d.ts +176 -16
  7. package/dist/packem_chunks/bin.js +263 -263
  8. package/dist/packem_chunks/bloom-status.js +1 -1
  9. package/dist/packem_chunks/bloom-sync.js +1 -1
  10. package/dist/packem_chunks/config.js +15 -15
  11. package/dist/packem_chunks/handler10.js +1 -1
  12. package/dist/packem_chunks/handler11.js +1 -1
  13. package/dist/packem_chunks/handler12.js +1 -1
  14. package/dist/packem_chunks/handler13.js +1 -1
  15. package/dist/packem_chunks/handler14.js +8 -9
  16. package/dist/packem_chunks/handler15.js +1 -1
  17. package/dist/packem_chunks/handler16.js +1 -1
  18. package/dist/packem_chunks/handler17.js +1 -1
  19. package/dist/packem_chunks/handler18.js +1 -1
  20. package/dist/packem_chunks/handler19.js +1 -1
  21. package/dist/packem_chunks/handler2.js +1 -1
  22. package/dist/packem_chunks/handler20.js +1 -1
  23. package/dist/packem_chunks/handler22.js +1 -1
  24. package/dist/packem_chunks/handler23.js +1 -1
  25. package/dist/packem_chunks/handler27.js +1 -1
  26. package/dist/packem_chunks/handler28.js +1 -1
  27. package/dist/packem_chunks/handler29.js +1 -1
  28. package/dist/packem_chunks/handler30.js +3 -3
  29. package/dist/packem_chunks/handler31.js +2 -2
  30. package/dist/packem_chunks/handler34.js +1 -1
  31. package/dist/packem_chunks/handler35.js +3 -22
  32. package/dist/packem_chunks/handler36.js +21 -60
  33. package/dist/packem_chunks/handler37.js +61 -6
  34. package/dist/packem_chunks/handler38.js +3 -24
  35. package/dist/packem_chunks/handler39.js +6 -153
  36. package/dist/packem_chunks/handler4.js +1 -1
  37. package/dist/packem_chunks/handler40.js +24 -10
  38. package/dist/packem_chunks/handler41.js +153 -25
  39. package/dist/packem_chunks/handler42.js +10 -708
  40. package/dist/packem_chunks/handler43.js +25 -24
  41. package/dist/packem_chunks/handler44.js +659 -273
  42. package/dist/packem_chunks/handler45.js +24 -46
  43. package/dist/packem_chunks/handler46.js +322 -3
  44. package/dist/packem_chunks/handler47.js +48 -27
  45. package/dist/packem_chunks/handler48.js +3 -186
  46. package/dist/packem_chunks/handler49.js +23 -30
  47. package/dist/packem_chunks/handler5.js +6 -6
  48. package/dist/packem_chunks/handler50.js +196 -0
  49. package/dist/packem_chunks/handler51.js +34 -0
  50. package/dist/packem_chunks/handler8.js +1 -1
  51. package/dist/packem_chunks/handler9.js +1 -1
  52. package/dist/packem_chunks/heal-accept.js +1 -1
  53. package/dist/packem_chunks/help-command.js +16 -16
  54. package/dist/packem_chunks/index.js +1 -1
  55. package/dist/packem_chunks/list.js +1 -1
  56. package/dist/packem_chunks/loader.js +1 -1
  57. package/dist/packem_chunks/prune.js +1 -1
  58. package/dist/packem_chunks/status.js +1 -1
  59. package/dist/packem_chunks/sync.js +1 -1
  60. package/dist/packem_chunks/sync2.js +1 -1
  61. package/dist/packem_chunks/tripwire.js +1 -1
  62. package/dist/packem_chunks/verify-lockfile.js +1 -1
  63. package/dist/packem_shared/{advisories-U1QKY_tg.js → advisories-xIOdLbAI.js} +1 -1
  64. package/dist/packem_shared/{cyclonedx-D6F9rAay.js → cyclonedx-B3ILsY74.js} +1 -1
  65. package/dist/packem_shared/{docker-BU-7veP5.js → docker-BynKrOLe.js} +1 -1
  66. package/dist/packem_shared/{index-PexbdLyT.js → index-B_KtN1MB.js} +1 -1
  67. package/dist/packem_shared/{index-D9ZIw4ra.js → index-efSniSRN.js} +1 -1
  68. package/dist/packem_shared/{lifecycle-ChCFTm5Q.js → lifecycle-CJRNbN3x.js} +2 -2
  69. package/dist/packem_shared/{min-release-age-heJgeP7o.js → min-release-age-aEn0x8Vy.js} +1 -1
  70. package/dist/packem_shared/{native-config-sync-BOeuyrBj.js → native-config-sync-DdhTLlKL.js} +1 -1
  71. package/dist/packem_shared/{osv-bloom-CyCDpXBl.js → osv-bloom-BJhlc_I2.js} +2 -2
  72. package/dist/packem_shared/{pm-runner-Cj76BV8q.js → pm-runner-BwX5AL3W.js} +1 -1
  73. package/dist/packem_shared/{provenance-CdvMwB2R.js → provenance-BuiEsWbI.js} +1 -1
  74. package/dist/packem_shared/{resolve-explicit-CRFybyxv.js → resolve-explicit-RgRrUDZv.js} +1 -1
  75. package/dist/packem_shared/{s1ngularity-CiZla5EP.js → s1ngularity-Bs9fUf3q.js} +1 -1
  76. package/dist/packem_shared/{scan-progress-EbvmIh4i.js → scan-progress-DjPT66jy.js} +2 -2
  77. package/dist/packem_shared/{signatures-BsEDWhME.js → signatures-LYMy8OR5.js} +1 -1
  78. package/dist/packem_shared/{typosquats-_7T7U2q2.js → typosquats-znskIR5j.js} +1 -1
  79. package/dist/packem_shared/watch-BSVsZ_1I.js +1 -0
  80. package/dist/packem_shared/watch-loop-DLlMLg_J.js +11 -0
  81. package/index.d.ts +201 -201
  82. package/index.js +751 -567
  83. package/package.json +11 -11
  84. package/schemas/project.schema.json +86 -1
  85. package/schemas/vis-config.schema.json +255 -7
package/CHANGELOG.md CHANGED
@@ -1,3 +1,43 @@
1
+ ## @visulima/vis [1.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.26...@visulima/vis@1.0.0-alpha.27) (2026-06-02)
2
+
3
+ ### Features
4
+
5
+ * **task-runner,vis:** per-task pty + concurrency weight, abort cache gate, fspy scaffolds ([#656](https://github.com/visulima/visulima/issues/656)) ([ca64010](https://github.com/visulima/visulima/commit/ca64010b236903e08273680ea65dec7046fcd18b))
6
+ * **vis:** declarative task arguments + per-target script mode ([#662](https://github.com/visulima/visulima/issues/662)) ([417ca53](https://github.com/visulima/visulima/commit/417ca5395728a0776cbfcd0122ae21e3159a4c48))
7
+ * **vis:** lint + fmt orchestrator ([3a78ed7](https://github.com/visulima/visulima/commit/3a78ed709922e6a35648e0d0eb3f41cc49f89b7a))
8
+
9
+ ### Bug Fixes
10
+
11
+ * **task-runner:** tolerate dev-only dependency cycles ([#664](https://github.com/visulima/visulima/issues/664)) ([9ad384e](https://github.com/visulima/visulima/commit/9ad384e34927b40823ae104d6b05a581dcd05705)), closes [#411](https://github.com/visulima/visulima/issues/411)
12
+ * **vis:** correct flag name in conflicting-schema error (--projects) ([#667](https://github.com/visulima/visulima/issues/667)) ([c56122b](https://github.com/visulima/visulima/commit/c56122bc6bc654e4a9e118e96b9ba852bc9b784f))
13
+ * **vis:** require explicit opt-in to apply ecosystem updates ([#663](https://github.com/visulima/visulima/issues/663)) ([90cf12d](https://github.com/visulima/visulima/commit/90cf12dffa9dd53cc21849e9a41488dfbe2c8221))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.18
19
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.21
20
+ * **@visulima/error:** upgraded to 6.0.0-alpha.31
21
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.29
22
+ * **@visulima/package:** upgraded to 5.0.0-alpha.28
23
+
24
+ ## @visulima/vis [1.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.25...@visulima/vis@1.0.0-alpha.26) (2026-05-29)
25
+
26
+ ### Bug Fixes
27
+
28
+ * **vis:** isolate git env vars in staged integration tests ([18900a1](https://github.com/visulima/visulima/commit/18900a126bfb16f6d70ab81cbe5248720b03ac40))
29
+ * **vis:** run persistent tasks under a PTY in the live TUI ([77b2a26](https://github.com/visulima/visulima/commit/77b2a263b9563f8ee894671f910e013f2c95077a))
30
+
31
+ ### Tests
32
+
33
+ * **vis:** assert index excludes unstaged hunk on modify ([371063e](https://github.com/visulima/visulima/commit/371063ebc5fb2c4a90a3aa3cb377fdcc3d2d34ea))
34
+
35
+
36
+ ### Dependencies
37
+
38
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.29
39
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.19
40
+
1
41
  ## @visulima/vis [1.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.24...@visulima/vis@1.0.0-alpha.25) (2026-05-27)
2
42
 
3
43
  ### Features
package/LICENSE.md CHANGED
@@ -795,14 +795,11 @@ Repository: git+https://github.com/visulima/visulima.git
795
795
  > >
796
796
  > >
797
797
  > > # Licenses of bundled types
798
- > >
799
798
  > > The published @visulima/command-line-args artifact additionally contains code with the following licenses:
800
799
  > > MIT
801
800
  > >
802
801
  > > # Bundled types:
803
- > >
804
802
  > > ## @visulima/error
805
- > >
806
803
  > > License: MIT
807
804
  > > By: Daniel Bannert
808
805
  > > Repository: git+https://github.com/visulima/visulima.git
@@ -830,40 +827,6 @@ Repository: git+https://github.com/visulima/visulima.git
830
827
  > > > SOFTWARE.
831
828
  > > >
832
829
  > > >
833
- > >
834
- > > # Licenses of bundled dependencies
835
- > > The published @visulima/command-line-args artifact additionally contains code with the following licenses:
836
- > > MIT
837
- > >
838
- > > # Bundled dependencies:
839
- > > ## @visulima/error
840
- > > License: MIT
841
- > > By: Daniel Bannert
842
- > > Repository: git+https://github.com/visulima/visulima.git
843
- > >
844
- > > > MIT License
845
- > > >
846
- > > > Copyright (c) 2026 visulima
847
- > > >
848
- > > > Permission is hereby granted, free of charge, to any person obtaining a copy
849
- > > > of this software and associated documentation files (the "Software"), to deal
850
- > > > in the Software without restriction, including without limitation the rights
851
- > > > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
852
- > > > copies of the Software, and to permit persons to whom the Software is
853
- > > > furnished to do so, subject to the following conditions:
854
- > > >
855
- > > > The above copyright notice and this permission notice shall be included in all
856
- > > > copies or substantial portions of the Software.
857
- > > >
858
- > > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
859
- > > > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
860
- > > > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
861
- > > > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
862
- > > > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
863
- > > > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
864
- > > > SOFTWARE.
865
- > > >
866
- > > >
867
830
  > > >
868
831
  > > > # Licenses of bundled dependencies
869
832
  > > >
@@ -888,7 +851,7 @@ Repository: git+https://github.com/visulima/visulima.git
888
851
  > > > >
889
852
  > > > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
890
853
  > > >
891
- > > >
854
+ > > >
892
855
  > > >
893
856
  > > >
894
857
  > > >
@@ -914,34 +877,6 @@ Repository: git+https://github.com/visulima/visulima.git
914
877
  > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
915
878
  > > > > See the License for the specific language governing permissions and
916
879
  > > > > limitations under the License.
917
- > >
918
- > >
919
- > >
920
- > > > # Licenses of bundled types
921
- > > >
922
- > > > The published @visulima/error artifact additionally contains code with the following licenses:
923
- > > > Apache-2.0
924
- > > >
925
- > > > # Bundled types:
926
- > > >
927
- > > > ## ai
928
- > > >
929
- > > > License: Apache-2.0
930
- > > > Repository: git+https://github.com/vercel/ai.git
931
- > > >
932
- > > > > Copyright 2023 Vercel, Inc.
933
- > > > >
934
- > > > > Licensed under the Apache License, Version 2.0 (the "License");
935
- > > > > you may not use this file except in compliance with the License.
936
- > > > > You may obtain a copy of the License at
937
- > > > >
938
- > > > > http://www.apache.org/licenses/LICENSE-2.0
939
- > > > >
940
- > > > > Unless required by applicable law or agreed to in writing, software
941
- > > > > distributed under the License is distributed on an "AS IS" BASIS,
942
- > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
943
- > > > > See the License for the specific language governing permissions and
944
- > > > > limitations under the License.
945
880
  >
946
881
  > ---------------------------------------
947
882
  >
@@ -1816,6 +1751,23 @@ Repository: git+https://github.com/visulima/visulima.git
1816
1751
  > > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1817
1752
  > > SOFTWARE.
1818
1753
  >
1754
+ > ---------------------------------------
1755
+ >
1756
+ > ## terminal-size
1757
+ > License: MIT
1758
+ > By: Sindre Sorhus
1759
+ > Repository: sindresorhus/terminal-size
1760
+ >
1761
+ > > MIT License
1762
+ > >
1763
+ > > Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
1764
+ > >
1765
+ > > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1766
+ > >
1767
+ > > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1768
+ > >
1769
+ > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1770
+ >
1819
1771
  >
1820
1772
  >
1821
1773
  >
@@ -1967,14 +1919,11 @@ Repository: git+https://github.com/visulima/visulima.git
1967
1919
  > >
1968
1920
  > >
1969
1921
  > > # Licenses of bundled types
1970
- > >
1971
1922
  > > The published @visulima/command-line-args artifact additionally contains code with the following licenses:
1972
1923
  > > MIT
1973
1924
  > >
1974
1925
  > > # Bundled types:
1975
- > >
1976
1926
  > > ## @visulima/error
1977
- > >
1978
1927
  > > License: MIT
1979
1928
  > > By: Daniel Bannert
1980
1929
  > > Repository: git+https://github.com/visulima/visulima.git
@@ -2002,40 +1951,6 @@ Repository: git+https://github.com/visulima/visulima.git
2002
1951
  > > > SOFTWARE.
2003
1952
  > > >
2004
1953
  > > >
2005
- > >
2006
- > > # Licenses of bundled dependencies
2007
- > > The published @visulima/command-line-args artifact additionally contains code with the following licenses:
2008
- > > MIT
2009
- > >
2010
- > > # Bundled dependencies:
2011
- > > ## @visulima/error
2012
- > > License: MIT
2013
- > > By: Daniel Bannert
2014
- > > Repository: git+https://github.com/visulima/visulima.git
2015
- > >
2016
- > > > MIT License
2017
- > > >
2018
- > > > Copyright (c) 2026 visulima
2019
- > > >
2020
- > > > Permission is hereby granted, free of charge, to any person obtaining a copy
2021
- > > > of this software and associated documentation files (the "Software"), to deal
2022
- > > > in the Software without restriction, including without limitation the rights
2023
- > > > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2024
- > > > copies of the Software, and to permit persons to whom the Software is
2025
- > > > furnished to do so, subject to the following conditions:
2026
- > > >
2027
- > > > The above copyright notice and this permission notice shall be included in all
2028
- > > > copies or substantial portions of the Software.
2029
- > > >
2030
- > > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2031
- > > > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2032
- > > > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2033
- > > > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2034
- > > > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2035
- > > > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2036
- > > > SOFTWARE.
2037
- > > >
2038
- > > >
2039
1954
  > > >
2040
1955
  > > > # Licenses of bundled dependencies
2041
1956
  > > >
@@ -2060,7 +1975,7 @@ Repository: git+https://github.com/visulima/visulima.git
2060
1975
  > > > >
2061
1976
  > > > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2062
1977
  > > >
2063
- > > >
1978
+ > > >
2064
1979
  > > >
2065
1980
  > > >
2066
1981
  > > >
@@ -2086,34 +2001,6 @@ Repository: git+https://github.com/visulima/visulima.git
2086
2001
  > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2087
2002
  > > > > See the License for the specific language governing permissions and
2088
2003
  > > > > limitations under the License.
2089
- > >
2090
- > >
2091
- > >
2092
- > > > # Licenses of bundled types
2093
- > > >
2094
- > > > The published @visulima/error artifact additionally contains code with the following licenses:
2095
- > > > Apache-2.0
2096
- > > >
2097
- > > > # Bundled types:
2098
- > > >
2099
- > > > ## ai
2100
- > > >
2101
- > > > License: Apache-2.0
2102
- > > > Repository: git+https://github.com/vercel/ai.git
2103
- > > >
2104
- > > > > Copyright 2023 Vercel, Inc.
2105
- > > > >
2106
- > > > > Licensed under the Apache License, Version 2.0 (the "License");
2107
- > > > > you may not use this file except in compliance with the License.
2108
- > > > > You may obtain a copy of the License at
2109
- > > > >
2110
- > > > > http://www.apache.org/licenses/LICENSE-2.0
2111
- > > > >
2112
- > > > > Unless required by applicable law or agreed to in writing, software
2113
- > > > > distributed under the License is distributed on an "AS IS" BASIS,
2114
- > > > > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2115
- > > > > See the License for the specific language governing permissions and
2116
- > > > > limitations under the License.
2117
2004
  >
2118
2005
  > ---------------------------------------
2119
2006
  >
@@ -3823,14 +3710,11 @@ Repository: git+https://github.com/visulima/visulima.git
3823
3710
  > >
3824
3711
  > >
3825
3712
  > > # Licenses of bundled types
3826
- > >
3827
3713
  > > The published @visulima/ansi artifact additionally contains code with the following licenses:
3828
3714
  > > MIT
3829
3715
  > >
3830
3716
  > > # Bundled types:
3831
- > >
3832
3717
  > > ## restore-cursor
3833
- > >
3834
3718
  > > License: MIT
3835
3719
  > > By: Sindre Sorhus
3836
3720
  > > Repository: sindresorhus/restore-cursor
@@ -8488,23 +8372,6 @@ Repository: git://github.com/spencermountain/suffix-thumb.git
8488
8372
 
8489
8373
  ---------------------------------------
8490
8374
 
8491
- ## terminal-size
8492
- License: MIT
8493
- By: Sindre Sorhus
8494
- Repository: sindresorhus/terminal-size
8495
-
8496
- > MIT License
8497
- >
8498
- > Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
8499
- >
8500
- > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
8501
- >
8502
- > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8503
- >
8504
- > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8505
-
8506
- ---------------------------------------
8507
-
8508
8375
  ## validate-npm-package-license
8509
8376
  License: Apache-2.0
8510
8377
  By: Kyle E. Mitchell, Mark Stacey
package/README.md CHANGED
@@ -204,28 +204,30 @@ When aube is the installer, `vis doctor` surfaces aube's effective hardening pos
204
204
 
205
205
  ## Commands
206
206
 
207
- | Command | Alias | Description |
208
- | ----------------------- | ------ | -------------------------------------------------------------------- |
209
- | `vis create [template]` | | Scaffold a new project from templates, npm packages, or git repos |
210
- | `vis generate [name]` | | Scaffold files from an in-repo template (native TS or moon-format) |
211
- | `vis init` | | Initialize vis.config.ts with security defaults |
212
- | `vis run <target>` | | Run a target across workspace projects with caching |
213
- | `vis affected <target>` | | Run tasks only on projects affected by git changes |
214
- | `vis ignore <project>` | | CI build gating for Vercel / Netlify "Ignored Build Step" |
215
- | `vis graph` | | Visualize the project dependency graph |
216
- | `vis check [packages]` | `c` | Check for outdated dependencies in workspace catalogs |
217
- | `vis update [packages]` | `up` | Update packages, GitHub Actions, Dockerfiles, and GitLab CI refs |
218
- | `vis install` | `i` | Install dependencies via the detected package manager |
219
- | `vis info <package>` | `view` | Show npm registry metadata for a package (wraps `npm view` et al.) |
220
- | `vis dlx <package>` | | Execute a remote package without permanent installation |
221
- | `vis audit` | | Audit dependencies for security vulnerabilities |
222
- | `vis clean` | | Remove build artifacts, caches, and node_modules |
223
- | `vis cache <action>` | | Inspect cache (`list`, `size`, `hash`, `why`), or `prune` / `clean` |
224
- | `vis hook <action>` | | Manage git hooks (install, uninstall, migrate) |
225
- | `vis secrets [paths]` | | Scan for hardcoded secrets / credentials (Rust-native) |
226
- | `vis toolchain <cmd>` | | Inspect / delegate to the version manager (proto, mise, fnm, volta…) |
227
- | `vis staged` | | Run tasks on staged files (built-in `lint-staged` replacement) |
228
- | `vis migrate <type>` | | Migrate from other tools now including `gitleaks` and `secretlint` |
207
+ | Command | Alias | Description |
208
+ | ----------------------- | ------ | -------------------------------------------------------------------------------------- |
209
+ | `vis create [template]` | | Scaffold a new project from templates, npm packages, or git repos |
210
+ | `vis generate [name]` | | Scaffold files from an in-repo template (native TS or moon-format) |
211
+ | `vis init` | | Initialize vis.config.ts with security defaults |
212
+ | `vis run <target>` | | Run a target across workspace projects with caching |
213
+ | `vis affected <target>` | | Run tasks only on projects affected by git changes |
214
+ | `vis ignore <project>` | | CI build gating for Vercel / Netlify "Ignored Build Step" |
215
+ | `vis graph` | | Visualize the project dependency graph |
216
+ | `vis check [packages]` | `c` | Check for outdated dependencies in workspace catalogs |
217
+ | `vis update [packages]` | `up` | Update packages, GitHub Actions, Dockerfiles, and GitLab CI refs |
218
+ | `vis install` | `i` | Install dependencies via the detected package manager |
219
+ | `vis info <package>` | `view` | Show npm registry metadata for a package (wraps `npm view` et al.) |
220
+ | `vis dlx <package>` | | Execute a remote package without permanent installation |
221
+ | `vis audit` | | Audit dependencies for security vulnerabilities |
222
+ | `vis clean` | | Remove build artifacts, caches, and node_modules |
223
+ | `vis cache <action>` | | Inspect cache (`list`, `size`, `hash`, `why`), or `prune` / `clean` |
224
+ | `vis hook <action>` | | Manage git hooks (install, uninstall, migrate) |
225
+ | `vis secrets [paths]` | | Scan for hardcoded secrets / credentials (Rust-native) |
226
+ | `vis toolchain <cmd>` | | Inspect / delegate to the version manager (proto, mise, fnm, volta…) |
227
+ | `vis lint [files]` | | Orchestrate detected source-code linters (oxlint, biome, eslint, stylelint, deno-lint) |
228
+ | `vis fmt [files]` | | Orchestrate detected formatters (oxfmt, biome, dprint, prettier, deno-fmt) |
229
+ | `vis staged` | | Run tasks on staged files (built-in `lint-staged` replacement) |
230
+ | `vis migrate <type>` | | Migrate from other tools — now including `gitleaks` and `secretlint` |
229
231
 
230
232
  For `vis ignore`, see the [command reference](./docs/commands/ignore.mdx) and the [deployment build gating section](./docs/guides/ci-cd.mdx#deployment-build-gating) of the CI/CD guide.
231
233
 
package/dist/bin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./packem_shared/index-D9ZIw4ra.js";import"./packem_chunks/bin.js";import"./packem_chunks/config.js";import"./packem_shared/readFileSync-CGmzMUF2-D6rUjGDn.js";
2
+ import"./packem_shared/index-efSniSRN.js";import"./packem_chunks/bin.js";import"./packem_chunks/config.js";import"./packem_shared/readFileSync-CGmzMUF2-D6rUjGDn.js";
package/dist/binx.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{N as r,m as o,i as c,T as i,w as a,a as n}from"./packem_shared/index-D9ZIw4ra.js";r();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${o.version}
2
+ import{N as r,m as o,i as c,T as i,w as a,a as n}from"./packem_shared/index-efSniSRN.js";r();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${o.version}
3
3
  `),process.exit(0));process.argv.splice(2,0,"dlx");c();const e=i("visx",{packageName:"visx",packageVersion:o.version}),p=process.argv.includes("--debug")||!!process.env.DEBUG;e.addPlugin(a({detailed:p,exitOnError:!1}));e.addCommand(n);(async()=>{try{await e.run({shouldExitProcess:!1})}catch{process.exitCode=process.exitCode||1}finally{process.exit(process.exitCode??0)}})();
@@ -20,6 +20,10 @@ interface SimilarDepFamily {
20
20
  /** Dep-name prefixes (literal, no glob). Match if `depName.startsWith(prefix)`. */
21
21
  prefixes?: string[];
22
22
  }
23
+ /** Adapter IDs that can format (adapter `kind` is `"fmt"` or `"both"`). */
24
+ type FmtAdapterId = "biome" | "deno-fmt" | "dprint" | "oxfmt" | "prettier" | "ruff-fmt";
25
+ /** Adapter IDs that can lint (adapter `kind` is `"lint"` or `"both"`). */
26
+ type LintAdapterId = "biome" | "deno-lint" | "eslint" | "markdownlint" | "oxlint" | "ruff-check" | "shellcheck" | "stylelint";
23
27
  type VersionManagerName = "asdf" | "corepack" | "fnm" | "mise" | "none" | "nvm" | "proto" | "self-activate" | "volta";
24
28
  type RuntimeTool = "aube" | "bun" | "deno" | "go" | "node" | "npm" | "pnpm" | "python" | "ruby" | "rust" | "yarn";
25
29
  interface ToolchainConfig {
@@ -144,6 +148,54 @@ interface ServiceEntry {
144
148
  visVersion: string;
145
149
  }
146
150
  /**
151
+ * First-class task arguments: a declarative schema per target that lets a
152
+ * task define its named/positional arguments, validate what the user passes
153
+ * on the CLI, and render a per-task `--help`. The validated values are also
154
+ * exposed to the command as `VIS_ARG_&lt;NAME>` environment variables so the
155
+ * underlying script can read them without re-parsing argv.
156
+ *
157
+ * This module is intentionally pure (no IO) so it is trivially unit-testable;
158
+ * the run handler wires it to the forwarded-args vector and the task env.
159
+ */
160
+ /** Value type a {@link TaskArgument} coerces to and validates against. */
161
+ type TaskArgumentType = "boolean" | "enum" | "number" | "string";
162
+ /** A coerced task-argument value. */
163
+ type TaskArgumentValue = boolean | number | string;
164
+ /** A single declared argument for a task target. */
165
+ interface TaskArgument {
166
+ /**
167
+ * Short single-character alias (e.g. `r` for `--reporter`, used as `-r`).
168
+ * Must be exactly one character — enforced at run time by
169
+ * {@link validateArgumentSchema}.
170
+ */
171
+ alias?: string;
172
+ /**
173
+ * Allowed values when {@link TaskArgument.type} is `"enum"`. Must be
174
+ * non-empty (and is required) for `enum` — enforced at run time by
175
+ * {@link validateArgumentSchema}.
176
+ */
177
+ choices?: string[];
178
+ /** Value applied when the argument is omitted. Skips the required check. */
179
+ default?: TaskArgumentValue;
180
+ /** One-line help text surfaced by per-task `--help`. */
181
+ description?: string;
182
+ /**
183
+ * Canonical name, without the leading `--` (kebab-case by convention).
184
+ * Must start with a letter and contain only letters, digits, `-`, `_` —
185
+ * enforced at run time by {@link validateArgumentSchema}.
186
+ */
187
+ name: string;
188
+ /**
189
+ * Consume the value from the next free positional argument instead of a
190
+ * `--flag`. Positional args are filled in declaration order.
191
+ */
192
+ positional?: boolean;
193
+ /** Fail the task when the argument is absent and has no `default`. */
194
+ required?: boolean;
195
+ /** Value type for coercion + validation. Defaults to `"string"`. */
196
+ type?: TaskArgumentType;
197
+ }
198
+ /**
147
199
  * Semantic classification for a target.
148
200
  * - `build`: Generates one or more artifacts; cached by default.
149
201
  * - `test`: Validation task (lint, typecheck, unit test). Default type.
@@ -321,6 +373,18 @@ interface VisTargetOptions {
321
373
  */
322
374
  shell?: string;
323
375
  /**
376
+ * Arguments passed to the per-target shell/interpreter before the command
377
+ * string. Defaults to `["-c"]` (POSIX shells, pwsh). Set this to run the
378
+ * command under an interpreter that uses a different flag — e.g.
379
+ * `shell: "node", shellArgs: ["-e"]` runs the command as inline JS
380
+ * ("script mode"), or `shellArgs: ["-lc"]` for a login shell. Only applies
381
+ * when `shell`/`unixShell`/`windowsShell` resolves to a custom shell.
382
+ *
383
+ * Must be non-empty when set — an empty array would drop the interpreter
384
+ * flag entirely, so the runtime falls back to `-c` defensively.
385
+ */
386
+ shellArgs?: string[];
387
+ /**
324
388
  * Override the workspace `strictEnv` setting for this target. When
325
389
  * truthy, the target fails if its command references an env var
326
390
  * that resolves to neither the task's effective env nor
@@ -367,9 +431,16 @@ interface VisTargetConfiguration extends Omit<TargetConfiguration, "options"> {
367
431
  */
368
432
  aliases?: string[];
369
433
  /**
370
- * One-line description surfaced by `vis list` and (in future)
371
- * per-task `--help`. Kept short longer docs belong in project
372
- * READMEs or vis.config.ts comments.
434
+ * Declarative argument schema for this target. Forwarded CLI args
435
+ * (`vis run &lt;target> -- --flag value`) are validated against it, surfaced
436
+ * by per-task `--help`, and exposed to the command as `VIS_ARG_&lt;NAME>`
437
+ * environment variables.
438
+ */
439
+ arguments?: TaskArgument[];
440
+ /**
441
+ * One-line description surfaced by `vis list` and per-task `--help`.
442
+ * Kept short — longer docs belong in project READMEs or
443
+ * vis.config.ts comments.
373
444
  */
374
445
  description?: string;
375
446
  /**
@@ -517,6 +588,25 @@ interface VisPlugin {
517
588
  setup?: (hooks: Hookable<VisHooks>) => Promise<void> | void;
518
589
  }
519
590
  /**
591
+ * Per-adapter override applied by `vis lint` / `vis fmt`. Keyed by
592
+ * adapter id under `lint.adapters` / `fmt.adapters`. Every field is
593
+ * optional — set only what you need to change.
594
+ */
595
+ interface LintFmtAdapterOverride {
596
+ /**
597
+ * Set to `false` to skip this adapter even when its config file or
598
+ * package.json entry is detected. Defaults to `true` (run when
599
+ * detected).
600
+ */
601
+ enabled?: boolean;
602
+ /**
603
+ * Extra arguments appended verbatim to every invocation of this
604
+ * adapter. Useful for tool-specific flags vis doesn't expose
605
+ * directly (e.g. `eslint --rulesdir`).
606
+ */
607
+ extraArgs?: string[];
608
+ }
609
+ /**
520
610
  * The 8 Socket.dev-style supply-chain policies. Used in `security.policies`
521
611
  * and `security.acceptedRisks[*].policies`. Kept as a const tuple so callers
522
612
  * can import the runtime array (`POLICY_NAMES`) for iteration without
@@ -726,19 +816,6 @@ interface VisConfig {
726
816
  */
727
817
  codeowners?: CodeownersConfig;
728
818
  /**
729
- * Default base branch used by `vis affected`, `vis ci`, and `vis run --affected`
730
- * when no explicit `--base` is passed and no CI smart-resolver fires.
731
- *
732
- * Resolved as `origin/<defaultBase>` against the local clone; should be a
733
- * branch name (not a fully-qualified ref) such as `main`, `master`, or `trunk`.
734
- * Falls back to `main` when omitted.
735
- *
736
- * Migrated automatically from `nx.json#affected.defaultBase` /
737
- * `nx.json#defaultBase` by `vis migrate nx`.
738
- * @default "main"
739
- */
740
- defaultBase?: string;
741
- /**
742
819
  * Project dependency constraints.
743
820
  * Enforced after building the project graph, before running tasks.
744
821
  */
@@ -810,6 +887,19 @@ interface VisConfig {
810
887
  templates?: Record<string, string>;
811
888
  };
812
889
  /**
890
+ * Default base branch used by `vis affected`, `vis ci`, and `vis run --affected`
891
+ * when no explicit `--base` is passed and no CI smart-resolver fires.
892
+ *
893
+ * Resolved as `origin/&lt;defaultBase>` against the local clone; should be a
894
+ * branch name (not a fully-qualified ref) such as `main`, `master`, or `trunk`.
895
+ * Falls back to `main` when omitted.
896
+ *
897
+ * Migrated automatically from `nx.json#affected.defaultBase` /
898
+ * `nx.json#defaultBase` by `vis migrate nx`.
899
+ * @default "main"
900
+ */
901
+ defaultBase?: string;
902
+ /**
813
903
  * Discover `.editorconfig` for indent / line-ending defaults during
814
904
  * file transformations (sort-package-json, migrate, hook, pm overrides,
815
905
  * workspace catalog rewrites). Per-command flags can still override.
@@ -849,6 +939,45 @@ interface VisConfig {
849
939
  */
850
940
  fileGroups?: Record<string, string[]>;
851
941
  /**
942
+ * Configuration for `vis fmt` — the formatter orchestrator.
943
+ *
944
+ * Tunes adapter detection precedence, per-extension routing, and
945
+ * per-adapter overrides. Flags on the CLI always win over config.
946
+ *
947
+ * The default fmt precedence is `oxfmt → biome → dprint → prettier
948
+ * → deno-fmt`. When multiple adapters claim the same extension,
949
+ * the first in this order owns it unless overridden here.
950
+ * @example
951
+ * ```
952
+ * fmt: {
953
+ * order: ["biome", "prettier"],
954
+ * extensionOverrides: { md: "dprint" },
955
+ * adapters: { "deno-fmt": { enabled: false } },
956
+ * }
957
+ * ```
958
+ */
959
+ fmt?: {
960
+ /**
961
+ * Per-adapter overrides. Keyed by `AdapterId`. Set
962
+ * `enabled: false` to skip an adapter even when detected, or
963
+ * `extraArgs` to append flags verbatim.
964
+ */
965
+ adapters?: Partial<Record<FmtAdapterId, LintFmtAdapterOverride>>;
966
+ /**
967
+ * Pin a file extension (without the leading dot) to a specific
968
+ * adapter, overriding the registry's "first detected adapter
969
+ * wins" routing. Use to e.g. send `.md` to `dprint` even when
970
+ * both prettier and dprint are present.
971
+ */
972
+ extensionOverrides?: Record<string, FmtAdapterId>;
973
+ /**
974
+ * Override the adapter precedence order. Adapters omitted from
975
+ * this list still run (appended at the end in registry order),
976
+ * but those listed earlier get priority for extension routing.
977
+ */
978
+ order?: FmtAdapterId[];
979
+ };
980
+ /**
852
981
  * Configuration for the `vis generate` in-repo scaffolding command.
853
982
  * Points at additional template directories beyond the defaults
854
983
  * (`.vis/templates/` and `.moon/templates/`).
@@ -995,6 +1124,37 @@ interface VisConfig {
995
1124
  corepack?: "auto" | boolean;
996
1125
  };
997
1126
  /**
1127
+ * Configuration for `vis lint` — the linter orchestrator.
1128
+ *
1129
+ * Tunes adapter detection precedence and per-adapter overrides.
1130
+ * Flags on the CLI always win over config.
1131
+ *
1132
+ * The default lint precedence is `oxlint → biome → eslint →
1133
+ * stylelint → deno-lint`. Override with `order` to e.g. let biome
1134
+ * fire before oxlint when the workspace standardises on biome.
1135
+ * @example
1136
+ * ```
1137
+ * lint: {
1138
+ * order: ["biome", "eslint"],
1139
+ * adapters: { "deno-lint": { enabled: false } },
1140
+ * }
1141
+ * ```
1142
+ */
1143
+ lint?: {
1144
+ /**
1145
+ * Per-adapter overrides. Keyed by `AdapterId`. Set
1146
+ * `enabled: false` to skip an adapter even when detected, or
1147
+ * `extraArgs` to append flags verbatim.
1148
+ */
1149
+ adapters?: Partial<Record<LintAdapterId, LintFmtAdapterOverride>>;
1150
+ /**
1151
+ * Override the adapter precedence order. Adapters omitted from
1152
+ * this list still run (appended at the end in registry order)
1153
+ * unless explicitly disabled under `adapters[id].enabled`.
1154
+ */
1155
+ order?: LintAdapterId[];
1156
+ };
1157
+ /**
998
1158
  * `vis-mcp` promotion notice shown after successful commands when an
999
1159
  * AI CLI (Claude Code, Cursor, Windsurf, Continue, Zed, Cline) is
1000
1160
  * installed but `@visulima/vis-mcp` is not wired into its config.