@nuxt/scripts 0.0.0 → 0.1.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.
Files changed (258) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +103 -0
  3. package/dist/client/200.html +235 -0
  4. package/dist/client/404.html +235 -0
  5. package/dist/client/_nuxt/Icon.CHLfKFL4.js +1 -0
  6. package/dist/client/_nuxt/Icon.Dis01nq0.css +1 -0
  7. package/dist/client/_nuxt/IconCSS.Cca5dNND.css +1 -0
  8. package/dist/client/_nuxt/IconCSS.sJLYSucz.js +1 -0
  9. package/dist/client/_nuxt/_plugin-vue_export-helper.DlAUqK2U.js +1 -0
  10. package/dist/client/_nuxt/abap.DXFkqnOI.js +816 -0
  11. package/dist/client/_nuxt/actionscript-3.D6NljDpC.js +1 -0
  12. package/dist/client/_nuxt/ada.CowR2XfX.js +1 -0
  13. package/dist/client/_nuxt/andromeeda.Bv7o_0DK.js +1 -0
  14. package/dist/client/_nuxt/angular-html.833w9gUK.js +16 -0
  15. package/dist/client/_nuxt/angular-ts.BCBvF5Sf.js +666 -0
  16. package/dist/client/_nuxt/apache.rS0jd3Ly.js +1 -0
  17. package/dist/client/_nuxt/apex.Sfo2eW0G.js +274 -0
  18. package/dist/client/_nuxt/apl.7kPAH7yp.js +87 -0
  19. package/dist/client/_nuxt/applescript.B4yE-MfL.js +38 -0
  20. package/dist/client/_nuxt/ara.CG4fK2Nq.js +21 -0
  21. package/dist/client/_nuxt/asm.PWN5J14X.js +1 -0
  22. package/dist/client/_nuxt/astro.B72C2l14.js +1 -0
  23. package/dist/client/_nuxt/aurora-x.BaWyeHV_.js +1 -0
  24. package/dist/client/_nuxt/awk.i0IPvypD.js +1 -0
  25. package/dist/client/_nuxt/ayu-dark.Bn5gmY5k.js +1 -0
  26. package/dist/client/_nuxt/ballerina.T9ysyp6P.js +62 -0
  27. package/dist/client/_nuxt/bat.BPiaQZfK.js +1 -0
  28. package/dist/client/_nuxt/beancount.Urb1RsFe.js +1 -0
  29. package/dist/client/_nuxt/berry.CxrokwfH.js +1 -0
  30. package/dist/client/_nuxt/bibtex.BaedD2tq.js +1 -0
  31. package/dist/client/_nuxt/bicep.BnL-ovff.js +1 -0
  32. package/dist/client/_nuxt/blade.Ge7MpD7w.js +831 -0
  33. package/dist/client/_nuxt/builds/latest.json +1 -0
  34. package/dist/client/_nuxt/builds/meta/4475dec8-7a8e-4367-88b5-60d8bc425ff6.json +1 -0
  35. package/dist/client/_nuxt/c.RCJZWN-0.js +81 -0
  36. package/dist/client/_nuxt/cadence.Bgpqy2XC.js +1 -0
  37. package/dist/client/_nuxt/catppuccin-frappe.CSSpeNoc.js +1 -0
  38. package/dist/client/_nuxt/catppuccin-latte.BKmRr8wc.js +1 -0
  39. package/dist/client/_nuxt/catppuccin-macchiato.3Hompcvk.js +1 -0
  40. package/dist/client/_nuxt/catppuccin-mocha.Bxe0CTgP.js +1 -0
  41. package/dist/client/_nuxt/clarity.CIekO_uJ.js +1 -0
  42. package/dist/client/_nuxt/clojure.BF6G6X0H.js +1 -0
  43. package/dist/client/_nuxt/cmake.DXZpi2gR.js +1 -0
  44. package/dist/client/_nuxt/cobol.V9VEyzKl.js +1 -0
  45. package/dist/client/_nuxt/codeql.BOpLLL-w.js +1 -0
  46. package/dist/client/_nuxt/coffee.t_LrLW_f.js +100 -0
  47. package/dist/client/_nuxt/cpp.BnO_O5bK.js +186 -0
  48. package/dist/client/_nuxt/crystal.kQaLR197.js +25 -0
  49. package/dist/client/_nuxt/csharp.DISxKEhY.js +756 -0
  50. package/dist/client/_nuxt/css.CbYhyuC0.js +505 -0
  51. package/dist/client/_nuxt/csv.B2DkETJQ.js +1 -0
  52. package/dist/client/_nuxt/cue.C6Aznpr-.js +1 -0
  53. package/dist/client/_nuxt/cypher.ByMv4Xf1.js +1 -0
  54. package/dist/client/_nuxt/d.PifQWv0n.js +1 -0
  55. package/dist/client/_nuxt/dark-plus.KEYLhlmT.js +1 -0
  56. package/dist/client/_nuxt/dart.BmadmVm4.js +1 -0
  57. package/dist/client/_nuxt/dax.DsfXcHUZ.js +29 -0
  58. package/dist/client/_nuxt/diff.DvyTQcux.js +1 -0
  59. package/dist/client/_nuxt/docker.DNR26wTC.js +1 -0
  60. package/dist/client/_nuxt/dracula-soft.9B1nZgL-.js +1 -0
  61. package/dist/client/_nuxt/dracula.DGO8GyiP.js +1 -0
  62. package/dist/client/_nuxt/dream-maker.Eh5U-gDp.js +52 -0
  63. package/dist/client/_nuxt/elixir.CpdO1lki.js +17 -0
  64. package/dist/client/_nuxt/elm.DbZvrHdh.js +1 -0
  65. package/dist/client/_nuxt/entry.CYm5lUm_.css +1 -0
  66. package/dist/client/_nuxt/entry.DGHcQ5Fj.js +36 -0
  67. package/dist/client/_nuxt/erb.PjiSmVwo.js +1 -0
  68. package/dist/client/_nuxt/erlang.C3YqBJkQ.js +1 -0
  69. package/dist/client/_nuxt/error-404.DUbMs4uL.js +1 -0
  70. package/dist/client/_nuxt/error-404.ORekjfyJ.css +1 -0
  71. package/dist/client/_nuxt/error-500.BIuFL0tW.css +1 -0
  72. package/dist/client/_nuxt/error-500.BzL1fy75.js +1 -0
  73. package/dist/client/_nuxt/fish.DfeQjIbs.js +5 -0
  74. package/dist/client/_nuxt/fortran-fixed-form.Cx0tWteX.js +1 -0
  75. package/dist/client/_nuxt/fortran-free-form.D6pmzCqS.js +1 -0
  76. package/dist/client/_nuxt/fsharp.DPkxF5yZ.js +1 -0
  77. package/dist/client/_nuxt/gdresource.Dyo1-XBj.js +1 -0
  78. package/dist/client/_nuxt/gdscript.CoEqzGFw.js +44 -0
  79. package/dist/client/_nuxt/gdshader.B_SUYfiV.js +1 -0
  80. package/dist/client/_nuxt/gherkin.DjTlIhuc.js +1 -0
  81. package/dist/client/_nuxt/git-commit.aPmGthaS.js +1 -0
  82. package/dist/client/_nuxt/git-rebase.Cl-c85-0.js +1 -0
  83. package/dist/client/_nuxt/github-dark-dimmed.CRDKj6ck.js +1 -0
  84. package/dist/client/_nuxt/github-dark.CzPA46E-.js +1 -0
  85. package/dist/client/_nuxt/github-light.CRlnGVMD.js +1 -0
  86. package/dist/client/_nuxt/glimmer-js.C8_h80UD.js +13 -0
  87. package/dist/client/_nuxt/glimmer-ts.jzigfKdB.js +13 -0
  88. package/dist/client/_nuxt/glsl.-GlVTnW0.js +1 -0
  89. package/dist/client/_nuxt/gnuplot.nclm9rTJ.js +266 -0
  90. package/dist/client/_nuxt/go.XCGcAo4I.js +1 -0
  91. package/dist/client/_nuxt/graphql.C4V4xKFR.js +4 -0
  92. package/dist/client/_nuxt/groovy.wChcbJ1V.js +37 -0
  93. package/dist/client/_nuxt/hack.B30vrIHT.js +86 -0
  94. package/dist/client/_nuxt/haml.CAKsSe2e.js +1 -0
  95. package/dist/client/_nuxt/handlebars.W0zz18bm.js +1 -0
  96. package/dist/client/_nuxt/haskell.DAGYewaG.js +559 -0
  97. package/dist/client/_nuxt/hcl.qyqQxnfZ.js +1 -0
  98. package/dist/client/_nuxt/hjson.DZqG9GXz.js +50 -0
  99. package/dist/client/_nuxt/hlsl.DmDrTTlz.js +1 -0
  100. package/dist/client/_nuxt/html-derivative.fiapQfxX.js +1 -0
  101. package/dist/client/_nuxt/html.CuK0VrWf.js +74 -0
  102. package/dist/client/_nuxt/http.BZ0kU-IF.js +1 -0
  103. package/dist/client/_nuxt/imba.DxX1Vuw3.js +223 -0
  104. package/dist/client/_nuxt/index.DKzsDYrr.js +1 -0
  105. package/dist/client/_nuxt/ini.DeVv6D4_.js +1 -0
  106. package/dist/client/_nuxt/java.ClXEvkw9.js +68 -0
  107. package/dist/client/_nuxt/javascript.Dch3xQiY.js +699 -0
  108. package/dist/client/_nuxt/jinja.DWD-OL5F.js +1 -0
  109. package/dist/client/_nuxt/jison.CHwQvgii.js +1 -0
  110. package/dist/client/_nuxt/json.CupVZNk8.js +25 -0
  111. package/dist/client/_nuxt/json5.Bh8mriwU.js +17 -0
  112. package/dist/client/_nuxt/jsonc.DYI1rfmx.js +25 -0
  113. package/dist/client/_nuxt/jsonl.BUpeXbsf.js +25 -0
  114. package/dist/client/_nuxt/jsonnet.C9d3aiqh.js +1 -0
  115. package/dist/client/_nuxt/jssm.Dble9ECP.js +1 -0
  116. package/dist/client/_nuxt/jsx.CsyrCbsw.js +699 -0
  117. package/dist/client/_nuxt/julia.CO0c-z84.js +9 -0
  118. package/dist/client/_nuxt/kotlin.BIxS-Weu.js +1 -0
  119. package/dist/client/_nuxt/kusto.DIr-ordK.js +1 -0
  120. package/dist/client/_nuxt/latex.DZUj4xYJ.js +3 -0
  121. package/dist/client/_nuxt/less.DywwDckn.js +159 -0
  122. package/dist/client/_nuxt/light-plus.BsvsQ1iS.js +1 -0
  123. package/dist/client/_nuxt/liquid.Cp8214eI.js +14 -0
  124. package/dist/client/_nuxt/lisp.D4LhxNOI.js +1 -0
  125. package/dist/client/_nuxt/logo.DdacRhvC.js +1 -0
  126. package/dist/client/_nuxt/lua.0ontURQf.js +1 -0
  127. package/dist/client/_nuxt/make.B9S9BZZh.js +1 -0
  128. package/dist/client/_nuxt/markdown.CRQpHayV.js +129 -0
  129. package/dist/client/_nuxt/marko.Dg8Ifwb-.js +8 -0
  130. package/dist/client/_nuxt/material-theme-darker.BrGg7AAd.js +1 -0
  131. package/dist/client/_nuxt/material-theme-lighter.DDRuGeQH.js +1 -0
  132. package/dist/client/_nuxt/material-theme-ocean.CBL0qBdF.js +1 -0
  133. package/dist/client/_nuxt/material-theme-palenight.D7gg1Usp.js +1 -0
  134. package/dist/client/_nuxt/material-theme.B2BuIiKK.js +1 -0
  135. package/dist/client/_nuxt/matlab.Btshr8M_.js +70 -0
  136. package/dist/client/_nuxt/mdc.CdZ-F1IA.js +76 -0
  137. package/dist/client/_nuxt/mdx.CBPJd_fO.js +1 -0
  138. package/dist/client/_nuxt/mermaid.BSyl5yf0.js +1 -0
  139. package/dist/client/_nuxt/min-dark.iSbrOpM4.js +1 -0
  140. package/dist/client/_nuxt/min-light.BITGhEdf.js +1 -0
  141. package/dist/client/_nuxt/mojo.Cr5EkBff.js +519 -0
  142. package/dist/client/_nuxt/monokai.sMI-pExk.js +1 -0
  143. package/dist/client/_nuxt/move.Dl0g34Y3.js +1 -0
  144. package/dist/client/_nuxt/narrat.B9CT-1u6.js +7 -0
  145. package/dist/client/_nuxt/nextflow.DBxHOdLe.js +1 -0
  146. package/dist/client/_nuxt/nginx.DGQ8U8YC.js +1 -0
  147. package/dist/client/_nuxt/night-owl.BeocmOPF.js +1 -0
  148. package/dist/client/_nuxt/nim.By3iP3OP.js +1 -0
  149. package/dist/client/_nuxt/nix.Dszwcx0o.js +1 -0
  150. package/dist/client/_nuxt/nord.CsyjKwr8.js +1 -0
  151. package/dist/client/_nuxt/nushell.C56EW6Ky.js +1 -0
  152. package/dist/client/_nuxt/objective-c.DHmGyzbM.js +109 -0
  153. package/dist/client/_nuxt/objective-cpp.BWKJ1FCf.js +239 -0
  154. package/dist/client/_nuxt/ocaml.RqY_Nz63.js +1 -0
  155. package/dist/client/_nuxt/one-dark-pro.BC6PHXLE.js +1 -0
  156. package/dist/client/_nuxt/onig.BbrMXqi_.js +1 -0
  157. package/dist/client/_nuxt/pascal.Bz4xi2rU.js +1 -0
  158. package/dist/client/_nuxt/perl.Czv4QcIx.js +1 -0
  159. package/dist/client/_nuxt/php.DEqKwr-6.js +771 -0
  160. package/dist/client/_nuxt/plsql.BbJj1K1w.js +1 -0
  161. package/dist/client/_nuxt/poimandres.Cda-MJFk.js +1 -0
  162. package/dist/client/_nuxt/postcss.DXT9h7v2.js +1 -0
  163. package/dist/client/_nuxt/powerquery.CApMHEaB.js +1 -0
  164. package/dist/client/_nuxt/powershell.9ZOzOPqN.js +1 -0
  165. package/dist/client/_nuxt/prisma.BBJYjQ0k.js +1 -0
  166. package/dist/client/_nuxt/prolog.BH_RS3WO.js +1 -0
  167. package/dist/client/_nuxt/proto.DOtRmeXT.js +1 -0
  168. package/dist/client/_nuxt/pug.BWq4yR4F.js +1 -0
  169. package/dist/client/_nuxt/puppet.37ic6j3l.js +1 -0
  170. package/dist/client/_nuxt/purescript.CfPQhs6g.js +7 -0
  171. package/dist/client/_nuxt/python.DwuVtWc2.js +518 -0
  172. package/dist/client/_nuxt/r.BXfENWL6.js +1 -0
  173. package/dist/client/_nuxt/raku.D384ylkT.js +1 -0
  174. package/dist/client/_nuxt/razor.Cstpb-uc.js +40 -0
  175. package/dist/client/_nuxt/red.jaXbsbtS.js +1 -0
  176. package/dist/client/_nuxt/reg.CrhH3_Og.js +1 -0
  177. package/dist/client/_nuxt/rel.6Kuza3Wr.js +1 -0
  178. package/dist/client/_nuxt/riscv.AgnqFTPX.js +13 -0
  179. package/dist/client/_nuxt/rose-pine-dawn.Bj5xdiaE.js +1 -0
  180. package/dist/client/_nuxt/rose-pine-moon.CdedUr_-.js +1 -0
  181. package/dist/client/_nuxt/rose-pine.CX_FIdg1.js +1 -0
  182. package/dist/client/_nuxt/rst.CXc8L5wR.js +1 -0
  183. package/dist/client/_nuxt/ruby.D5H8ZR7S.js +80 -0
  184. package/dist/client/_nuxt/rust.j8KhMG0x.js +1 -0
  185. package/dist/client/_nuxt/sas.2Dj3KWk-.js +1 -0
  186. package/dist/client/_nuxt/sass.CMDmr8et.js +2 -0
  187. package/dist/client/_nuxt/scala.vMsNTMhM.js +5 -0
  188. package/dist/client/_nuxt/scheme.1Je9_Reo.js +136 -0
  189. package/dist/client/_nuxt/scss.Dr-_CcBd.js +90 -0
  190. package/dist/client/_nuxt/shaderlab.D_C8j_yu.js +1 -0
  191. package/dist/client/_nuxt/shellscript.BVYSsK7b.js +1 -0
  192. package/dist/client/_nuxt/shellsession.BgTI27pK.js +1 -0
  193. package/dist/client/_nuxt/slack-dark.C7oZ9nno.js +1 -0
  194. package/dist/client/_nuxt/slack-ochin.hXH8Gyq8.js +1 -0
  195. package/dist/client/_nuxt/smalltalk.DSsji4Hu.js +1 -0
  196. package/dist/client/_nuxt/solarized-dark.C86elO-m.js +1 -0
  197. package/dist/client/_nuxt/solarized-light.xPNGhBYe.js +1 -0
  198. package/dist/client/_nuxt/solidity.CThH5sBG.js +1 -0
  199. package/dist/client/_nuxt/sparql.DJ46LgWq.js +1 -0
  200. package/dist/client/_nuxt/splunk.6XBPEST2.js +1 -0
  201. package/dist/client/_nuxt/sql.DbK06e1c.js +21 -0
  202. package/dist/client/_nuxt/ssh-config.BH1M7C1g.js +1 -0
  203. package/dist/client/_nuxt/stata.DCIeX9IZ.js +3 -0
  204. package/dist/client/_nuxt/stylus.DSrLtGYv.js +15 -0
  205. package/dist/client/_nuxt/svelte.DPVrELNy.js +1 -0
  206. package/dist/client/_nuxt/swift.Dez-Qvcc.js +544 -0
  207. package/dist/client/_nuxt/synthwave-84.BBDuFDsq.js +1 -0
  208. package/dist/client/_nuxt/system-verilog.DzPyIVdT.js +9 -0
  209. package/dist/client/_nuxt/tasl.BxwAa5i0.js +1 -0
  210. package/dist/client/_nuxt/tcl.C_8Fx7bH.js +1 -0
  211. package/dist/client/_nuxt/terraform.CdYS7vZw.js +1 -0
  212. package/dist/client/_nuxt/tex.BKGhwytq.js +1 -0
  213. package/dist/client/_nuxt/tokyo-night.eJfcURhx.js +1 -0
  214. package/dist/client/_nuxt/toml.BT9ZzGyQ.js +69 -0
  215. package/dist/client/_nuxt/tsx.BlxWTfDV.js +699 -0
  216. package/dist/client/_nuxt/turtle.C15OxdQ5.js +1 -0
  217. package/dist/client/_nuxt/twig.BOpxGNkQ.js +40 -0
  218. package/dist/client/_nuxt/typescript.DC8MraHL.js +666 -0
  219. package/dist/client/_nuxt/typst.I4qd5QHW.js +10 -0
  220. package/dist/client/_nuxt/v.C2TBxDwV.js +1 -0
  221. package/dist/client/_nuxt/vb.beD-FUib.js +1 -0
  222. package/dist/client/_nuxt/verilog.DVfdqzEq.js +1 -0
  223. package/dist/client/_nuxt/vesper.BSB_bK09.js +1 -0
  224. package/dist/client/_nuxt/vhdl.QZ3jNtnE.js +515 -0
  225. package/dist/client/_nuxt/viml.BLluXI4E.js +1 -0
  226. package/dist/client/_nuxt/vitesse-black.BO-UM1Vz.js +1 -0
  227. package/dist/client/_nuxt/vitesse-dark.CHrOy2Zl.js +1 -0
  228. package/dist/client/_nuxt/vitesse-light.BXgTKZPQ.js +1 -0
  229. package/dist/client/_nuxt/vue-html.CONbZieF.js +1 -0
  230. package/dist/client/_nuxt/vue.BIFGmPSe.js +6 -0
  231. package/dist/client/_nuxt/vue.f36acd1f.DH8ulvYW.js +1 -0
  232. package/dist/client/_nuxt/vyper.o-cPXEvd.js +575 -0
  233. package/dist/client/_nuxt/wasm.Cicx_DS6.js +1 -0
  234. package/dist/client/_nuxt/wenyan.D3VXSfF0.js +1 -0
  235. package/dist/client/_nuxt/wgsl.BZz1Hhek.js +1 -0
  236. package/dist/client/_nuxt/wolfram.BICIrM8O.js +1 -0
  237. package/dist/client/_nuxt/xml.BzTcx3OS.js +1 -0
  238. package/dist/client/_nuxt/xsl.lJB8dDLf.js +1 -0
  239. package/dist/client/_nuxt/yaml.C5gCGmDW.js +200 -0
  240. package/dist/client/_nuxt/zenscript.B1nm99XP.js +2 -0
  241. package/dist/client/_nuxt/zig.BEeHvBXh.js +1 -0
  242. package/dist/client/index.html +235 -0
  243. package/dist/module.cjs +5 -0
  244. package/dist/module.d.mts +44 -0
  245. package/dist/module.d.ts +44 -0
  246. package/dist/module.json +9 -0
  247. package/dist/module.mjs +77 -0
  248. package/dist/runtime/composables/isDoNotTrackEnabled.d.ts +1 -0
  249. package/dist/runtime/composables/isDoNotTrackEnabled.mjs +15 -0
  250. package/dist/runtime/composables/useScript.d.ts +4 -0
  251. package/dist/runtime/composables/useScript.mjs +60 -0
  252. package/dist/runtime/composables/useTrackingScript.d.ts +5 -0
  253. package/dist/runtime/composables/useTrackingScript.mjs +32 -0
  254. package/dist/runtime/types.d.ts +9 -0
  255. package/dist/types.d.mts +18 -0
  256. package/dist/types.d.ts +18 -0
  257. package/package.json +69 -3
  258. /package/dist/{.gitkeep → runtime/types.mjs} +0 -0
@@ -0,0 +1,77 @@
1
+ import { useNuxt, defineNuxtModule, createResolver, useLogger, addImportsDir } from '@nuxt/kit';
2
+ import { readPackageJSON } from 'pkg-types';
3
+ import { existsSync } from 'node:fs';
4
+
5
+ const DEVTOOLS_UI_ROUTE = "/__nuxt-scripts";
6
+ const DEVTOOLS_UI_LOCAL_PORT = 3030;
7
+ function setupDevToolsUI(options, resolve, nuxt = useNuxt()) {
8
+ const clientPath = resolve("./client");
9
+ const isProductionBuild = existsSync(clientPath);
10
+ if (isProductionBuild) {
11
+ nuxt.hook("vite:serverCreated", async (server) => {
12
+ const sirv = await import('sirv').then((r) => r.default || r);
13
+ server.middlewares.use(
14
+ DEVTOOLS_UI_ROUTE,
15
+ sirv(clientPath, { dev: true, single: true })
16
+ );
17
+ });
18
+ } else {
19
+ nuxt.hook("vite:extendConfig", (config) => {
20
+ config.server = config.server || {};
21
+ config.server.proxy = config.server.proxy || {};
22
+ config.server.proxy[DEVTOOLS_UI_ROUTE] = {
23
+ target: `http://localhost:${DEVTOOLS_UI_LOCAL_PORT}${DEVTOOLS_UI_ROUTE}`,
24
+ changeOrigin: true,
25
+ followRedirects: true,
26
+ rewrite: (path) => path.replace(DEVTOOLS_UI_ROUTE, "")
27
+ };
28
+ });
29
+ }
30
+ nuxt.hook("devtools:customTabs", (tabs) => {
31
+ tabs.push({
32
+ // unique identifier
33
+ name: "nuxt-scripts",
34
+ // title to display in the tab
35
+ title: "Scripts",
36
+ // any icon from Iconify, or a URL to an image
37
+ icon: "carbon:script",
38
+ // iframe view
39
+ view: {
40
+ type: "iframe",
41
+ src: DEVTOOLS_UI_ROUTE
42
+ }
43
+ });
44
+ });
45
+ }
46
+
47
+ const module = defineNuxtModule({
48
+ meta: {
49
+ name: "@nuxt/scripts",
50
+ configKey: "scripts",
51
+ compatibility: {
52
+ nuxt: "^3.9.0",
53
+ bridge: false
54
+ }
55
+ },
56
+ defaults: {
57
+ enabled: true,
58
+ debug: false
59
+ },
60
+ async setup(config, nuxt) {
61
+ const { resolve } = createResolver(import.meta.url);
62
+ const { name, version } = await readPackageJSON(resolve("../package.json"));
63
+ const logger = useLogger(name);
64
+ if (config.enabled === false) {
65
+ logger.debug("The module is disabled, skipping setup.");
66
+ return;
67
+ }
68
+ nuxt.options.alias["#nuxt-scripts"] = resolve("./runtime/types");
69
+ nuxt.options.runtimeConfig["nuxt-scripts"] = { version };
70
+ nuxt.options.runtimeConfig.public["nuxt-scripts"] = { defaults: config.defaults };
71
+ addImportsDir(resolve("./runtime/composables"));
72
+ if (nuxt.options.dev)
73
+ setupDevToolsUI(config, resolve);
74
+ }
75
+ });
76
+
77
+ export { module as default };
@@ -0,0 +1 @@
1
+ export declare function isDoNotTrackEnabled(): boolean;
@@ -0,0 +1,15 @@
1
+ import { useRequestHeader } from "#imports";
2
+ const doNotTrackEnabledValues = [
3
+ // account for all browsers and their different values
4
+ "1",
5
+ // W3C standard
6
+ "yes",
7
+ // old standard
8
+ "true"
9
+ // old standard
10
+ ];
11
+ export function isDoNotTrackEnabled() {
12
+ if (import.meta.server)
13
+ return doNotTrackEnabledValues.includes(useRequestHeader("DNT") || "");
14
+ return doNotTrackEnabledValues.includes(window.navigator.doNotTrack || "");
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { NuxtUseScriptInput, NuxtUseScriptOptions } from '#nuxt-scripts';
2
+ export declare function useScript<T>(input: NuxtUseScriptInput, options?: NuxtUseScriptOptions<T>): T & {
3
+ $script: import("@unhead/vue").VueScriptInstance<T>;
4
+ };
@@ -0,0 +1,60 @@
1
+ import { useScript as _useScript } from "@unhead/vue";
2
+ import { injectHead, useNuxtApp } from "#imports";
3
+ export function useScript(input, options) {
4
+ input = typeof input === "string" ? { src: input } : input;
5
+ options = options || {};
6
+ const nuxtApp = useNuxtApp();
7
+ const script = _useScript(input, {
8
+ async transform(script2) {
9
+ await nuxtApp.hooks.callHook("scripts:transform", { script: script2, options });
10
+ return script2;
11
+ },
12
+ ...options
13
+ });
14
+ if (import.meta.dev) {
15
+ let syncScripts = function() {
16
+ nuxtApp._scripts[script.$script.id] = payload;
17
+ nuxtApp.hooks.callHook("scripts:updated", { scripts: nuxtApp._scripts });
18
+ };
19
+ const payload = {
20
+ key: input.key || input.src,
21
+ src: input.src,
22
+ $script: null,
23
+ events: []
24
+ };
25
+ nuxtApp._scripts = nuxtApp._scripts || {};
26
+ if (!nuxtApp._scripts[script.$script.id]) {
27
+ const head = injectHead();
28
+ head.hooks.hook("script:updated", (ctx) => {
29
+ if (ctx.script.id !== script.$script.id)
30
+ return;
31
+ payload.events.push({
32
+ type: "status",
33
+ status: ctx.script.status,
34
+ at: Date.now()
35
+ });
36
+ payload.$script = script.$script;
37
+ syncScripts();
38
+ });
39
+ head.hooks.hook("script:instance-fn", (ctx) => {
40
+ if (ctx.script.id !== script.$script.id)
41
+ return;
42
+ payload.events.push({
43
+ type: "fn-call",
44
+ fn: ctx.fn,
45
+ args: ctx.args,
46
+ at: Date.now()
47
+ });
48
+ syncScripts();
49
+ });
50
+ payload.$script = script.$script;
51
+ payload.events.push({
52
+ type: "status",
53
+ status: "awaitingLoad",
54
+ at: Date.now()
55
+ });
56
+ syncScripts();
57
+ }
58
+ }
59
+ return script;
60
+ }
@@ -0,0 +1,5 @@
1
+ import type { UseScriptInput } from '@unhead/vue';
2
+ import type { NuxtUseTrackingScriptOptions } from '#nuxt-scripts';
3
+ export declare function useTrackingScript<T>(input: UseScriptInput, options?: NuxtUseTrackingScriptOptions<T>): {
4
+ $script: import("@unhead/vue").VueScriptInstance<unknown>;
5
+ } | undefined;
@@ -0,0 +1,32 @@
1
+ import { useScript } from "./useScript.mjs";
2
+ import { isDoNotTrackEnabled, isRef, onNuxtReady, ref, toValue, watch } from "#imports";
3
+ export function useTrackingScript(input, options) {
4
+ if (!options.ignoreDoNotTrack && isDoNotTrackEnabled())
5
+ return;
6
+ const instance = useScript(input, {
7
+ ...options,
8
+ trigger: "manual"
9
+ });
10
+ onNuxtReady(() => {
11
+ const consented = ref(false);
12
+ if (options?.consent) {
13
+ if (typeof options?.consent === "boolean") {
14
+ consented.value = true;
15
+ } else if (options?.consent instanceof Promise) {
16
+ options?.consent.then((res) => {
17
+ consented.value = typeof res === "boolean" ? res : true;
18
+ });
19
+ } else if (isRef(options?.consent)) {
20
+ watch(options.consent, (_val) => {
21
+ const val = toValue(_val);
22
+ if (typeof val === "boolean")
23
+ consented.value = val;
24
+ }, { immediate: true });
25
+ }
26
+ }
27
+ watch(consented, (ready) => {
28
+ ready && instance.$script.load();
29
+ });
30
+ });
31
+ return instance;
32
+ }
@@ -0,0 +1,9 @@
1
+ import type { UseScriptOptions } from '@unhead/schema';
2
+ import type { UseScriptInput } from '@unhead/vue';
3
+ import type { Ref } from 'vue';
4
+ export type NuxtUseScriptOptions<T = any> = UseScriptOptions<T>;
5
+ export type NuxtUseScriptInput = UseScriptInput;
6
+ export type NuxtUseTrackingScriptOptions<T = any> = Omit<NuxtUseScriptOptions<T>, 'trigger'> & {
7
+ consent: Promise<boolean | void> | Ref<boolean> | boolean;
8
+ ignoreDoNotTrack?: boolean;
9
+ };
@@ -0,0 +1,18 @@
1
+
2
+ import type { ModuleOptions, ModuleHooks } from './module.js'
3
+
4
+
5
+ declare module '@nuxt/schema' {
6
+ interface NuxtConfig { ['scripts']?: Partial<ModuleOptions> }
7
+ interface NuxtOptions { ['scripts']?: ModuleOptions }
8
+ interface NuxtHooks extends ModuleHooks {}
9
+ }
10
+
11
+ declare module 'nuxt/schema' {
12
+ interface NuxtConfig { ['scripts']?: Partial<ModuleOptions> }
13
+ interface NuxtOptions { ['scripts']?: ModuleOptions }
14
+ interface NuxtHooks extends ModuleHooks {}
15
+ }
16
+
17
+
18
+ export type { ModuleHooks, ModuleOptions, default } from './module.js'
@@ -0,0 +1,18 @@
1
+
2
+ import type { ModuleOptions, ModuleHooks } from './module'
3
+
4
+
5
+ declare module '@nuxt/schema' {
6
+ interface NuxtConfig { ['scripts']?: Partial<ModuleOptions> }
7
+ interface NuxtOptions { ['scripts']?: ModuleOptions }
8
+ interface NuxtHooks extends ModuleHooks {}
9
+ }
10
+
11
+ declare module 'nuxt/schema' {
12
+ interface NuxtConfig { ['scripts']?: Partial<ModuleOptions> }
13
+ interface NuxtOptions { ['scripts']?: ModuleOptions }
14
+ interface NuxtHooks extends ModuleHooks {}
15
+ }
16
+
17
+
18
+ export type { ModuleHooks, ModuleOptions, default } from './module'
package/package.json CHANGED
@@ -1,8 +1,74 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
- "version": "0.0.0",
3
+ "type": "module",
4
+ "version": "0.1.0",
5
+ "packageManager": "pnpm@8.15.4",
6
+ "description": "Next-gen Scripts for Nuxt",
7
+ "author": {
8
+ "website": "https://harlanzw.com",
9
+ "name": "Harlan Wilton",
10
+ "url": "harlan@harlanzw.com"
11
+ },
12
+ "license": "MIT",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/nuxt/scripts.git"
16
+ },
17
+ "bugs": {
18
+ "url": "https://github.com/nuxt/scripts/issues"
19
+ },
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/types.d.ts",
23
+ "import": "./dist/module.mjs",
24
+ "require": "./dist/module.cjs"
25
+ }
26
+ },
27
+ "main": "./dist/module.cjs",
28
+ "types": "./dist/types.d.ts",
4
29
  "files": [
5
30
  "dist"
6
31
  ],
7
- "author": "Daniel Roe <daniel@roe.dev>"
8
- }
32
+ "build": {
33
+ "externals": [
34
+ "@unhead/vue",
35
+ "@unhead/schema"
36
+ ]
37
+ },
38
+ "dependencies": {
39
+ "@nuxt/devtools-kit": "^1.0.8",
40
+ "@nuxt/devtools-ui-kit": "^1.0.8",
41
+ "@nuxt/kit": "^3.10.3",
42
+ "pkg-types": "^1.0.3",
43
+ "shiki": "^1.1.7",
44
+ "sirv": "^2.0.4",
45
+ "defu": "^6.1.4"
46
+ },
47
+ "devDependencies": {
48
+ "@antfu/eslint-config": "2.8.1",
49
+ "@nuxt/devtools-ui-kit": "^1.0.8",
50
+ "@nuxt/module-builder": "^0.5.5",
51
+ "@nuxt/test-utils": "3.11.0",
52
+ "@nuxt/ui": "2.14.2",
53
+ "bumpp": "^9.4.0",
54
+ "eslint": "8.57.0",
55
+ "nuxt": "^3.10.3",
56
+ "nuxt-icon": "^0.6.9",
57
+ "playwright": "^1.42.1",
58
+ "typescript": "^5.4.2",
59
+ "vitest": "^1.3.1"
60
+ },
61
+ "scripts": {
62
+ "build": "pnpm prepack",
63
+ "client:build": "nuxi generate client",
64
+ "client:dev": "nuxi dev client --port 3300",
65
+ "dev": "nuxi dev playground",
66
+ "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
67
+ "typecheck": "pnpm dlx vue-tsc --noEmit",
68
+ "release": "pnpm build && bumpp && pnpm -r publish --no-git-checks",
69
+ "lint": "eslint .",
70
+ "lint:fix": "eslint . --fix",
71
+ "test": "true",
72
+ "test:types": "true"
73
+ }
74
+ }
File without changes