@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.
- package/LICENSE.md +9 -0
- package/README.md +103 -0
- package/dist/client/200.html +235 -0
- package/dist/client/404.html +235 -0
- package/dist/client/_nuxt/Icon.CHLfKFL4.js +1 -0
- package/dist/client/_nuxt/Icon.Dis01nq0.css +1 -0
- package/dist/client/_nuxt/IconCSS.Cca5dNND.css +1 -0
- package/dist/client/_nuxt/IconCSS.sJLYSucz.js +1 -0
- package/dist/client/_nuxt/_plugin-vue_export-helper.DlAUqK2U.js +1 -0
- package/dist/client/_nuxt/abap.DXFkqnOI.js +816 -0
- package/dist/client/_nuxt/actionscript-3.D6NljDpC.js +1 -0
- package/dist/client/_nuxt/ada.CowR2XfX.js +1 -0
- package/dist/client/_nuxt/andromeeda.Bv7o_0DK.js +1 -0
- package/dist/client/_nuxt/angular-html.833w9gUK.js +16 -0
- package/dist/client/_nuxt/angular-ts.BCBvF5Sf.js +666 -0
- package/dist/client/_nuxt/apache.rS0jd3Ly.js +1 -0
- package/dist/client/_nuxt/apex.Sfo2eW0G.js +274 -0
- package/dist/client/_nuxt/apl.7kPAH7yp.js +87 -0
- package/dist/client/_nuxt/applescript.B4yE-MfL.js +38 -0
- package/dist/client/_nuxt/ara.CG4fK2Nq.js +21 -0
- package/dist/client/_nuxt/asm.PWN5J14X.js +1 -0
- package/dist/client/_nuxt/astro.B72C2l14.js +1 -0
- package/dist/client/_nuxt/aurora-x.BaWyeHV_.js +1 -0
- package/dist/client/_nuxt/awk.i0IPvypD.js +1 -0
- package/dist/client/_nuxt/ayu-dark.Bn5gmY5k.js +1 -0
- package/dist/client/_nuxt/ballerina.T9ysyp6P.js +62 -0
- package/dist/client/_nuxt/bat.BPiaQZfK.js +1 -0
- package/dist/client/_nuxt/beancount.Urb1RsFe.js +1 -0
- package/dist/client/_nuxt/berry.CxrokwfH.js +1 -0
- package/dist/client/_nuxt/bibtex.BaedD2tq.js +1 -0
- package/dist/client/_nuxt/bicep.BnL-ovff.js +1 -0
- package/dist/client/_nuxt/blade.Ge7MpD7w.js +831 -0
- package/dist/client/_nuxt/builds/latest.json +1 -0
- package/dist/client/_nuxt/builds/meta/4475dec8-7a8e-4367-88b5-60d8bc425ff6.json +1 -0
- package/dist/client/_nuxt/c.RCJZWN-0.js +81 -0
- package/dist/client/_nuxt/cadence.Bgpqy2XC.js +1 -0
- package/dist/client/_nuxt/catppuccin-frappe.CSSpeNoc.js +1 -0
- package/dist/client/_nuxt/catppuccin-latte.BKmRr8wc.js +1 -0
- package/dist/client/_nuxt/catppuccin-macchiato.3Hompcvk.js +1 -0
- package/dist/client/_nuxt/catppuccin-mocha.Bxe0CTgP.js +1 -0
- package/dist/client/_nuxt/clarity.CIekO_uJ.js +1 -0
- package/dist/client/_nuxt/clojure.BF6G6X0H.js +1 -0
- package/dist/client/_nuxt/cmake.DXZpi2gR.js +1 -0
- package/dist/client/_nuxt/cobol.V9VEyzKl.js +1 -0
- package/dist/client/_nuxt/codeql.BOpLLL-w.js +1 -0
- package/dist/client/_nuxt/coffee.t_LrLW_f.js +100 -0
- package/dist/client/_nuxt/cpp.BnO_O5bK.js +186 -0
- package/dist/client/_nuxt/crystal.kQaLR197.js +25 -0
- package/dist/client/_nuxt/csharp.DISxKEhY.js +756 -0
- package/dist/client/_nuxt/css.CbYhyuC0.js +505 -0
- package/dist/client/_nuxt/csv.B2DkETJQ.js +1 -0
- package/dist/client/_nuxt/cue.C6Aznpr-.js +1 -0
- package/dist/client/_nuxt/cypher.ByMv4Xf1.js +1 -0
- package/dist/client/_nuxt/d.PifQWv0n.js +1 -0
- package/dist/client/_nuxt/dark-plus.KEYLhlmT.js +1 -0
- package/dist/client/_nuxt/dart.BmadmVm4.js +1 -0
- package/dist/client/_nuxt/dax.DsfXcHUZ.js +29 -0
- package/dist/client/_nuxt/diff.DvyTQcux.js +1 -0
- package/dist/client/_nuxt/docker.DNR26wTC.js +1 -0
- package/dist/client/_nuxt/dracula-soft.9B1nZgL-.js +1 -0
- package/dist/client/_nuxt/dracula.DGO8GyiP.js +1 -0
- package/dist/client/_nuxt/dream-maker.Eh5U-gDp.js +52 -0
- package/dist/client/_nuxt/elixir.CpdO1lki.js +17 -0
- package/dist/client/_nuxt/elm.DbZvrHdh.js +1 -0
- package/dist/client/_nuxt/entry.CYm5lUm_.css +1 -0
- package/dist/client/_nuxt/entry.DGHcQ5Fj.js +36 -0
- package/dist/client/_nuxt/erb.PjiSmVwo.js +1 -0
- package/dist/client/_nuxt/erlang.C3YqBJkQ.js +1 -0
- package/dist/client/_nuxt/error-404.DUbMs4uL.js +1 -0
- package/dist/client/_nuxt/error-404.ORekjfyJ.css +1 -0
- package/dist/client/_nuxt/error-500.BIuFL0tW.css +1 -0
- package/dist/client/_nuxt/error-500.BzL1fy75.js +1 -0
- package/dist/client/_nuxt/fish.DfeQjIbs.js +5 -0
- package/dist/client/_nuxt/fortran-fixed-form.Cx0tWteX.js +1 -0
- package/dist/client/_nuxt/fortran-free-form.D6pmzCqS.js +1 -0
- package/dist/client/_nuxt/fsharp.DPkxF5yZ.js +1 -0
- package/dist/client/_nuxt/gdresource.Dyo1-XBj.js +1 -0
- package/dist/client/_nuxt/gdscript.CoEqzGFw.js +44 -0
- package/dist/client/_nuxt/gdshader.B_SUYfiV.js +1 -0
- package/dist/client/_nuxt/gherkin.DjTlIhuc.js +1 -0
- package/dist/client/_nuxt/git-commit.aPmGthaS.js +1 -0
- package/dist/client/_nuxt/git-rebase.Cl-c85-0.js +1 -0
- package/dist/client/_nuxt/github-dark-dimmed.CRDKj6ck.js +1 -0
- package/dist/client/_nuxt/github-dark.CzPA46E-.js +1 -0
- package/dist/client/_nuxt/github-light.CRlnGVMD.js +1 -0
- package/dist/client/_nuxt/glimmer-js.C8_h80UD.js +13 -0
- package/dist/client/_nuxt/glimmer-ts.jzigfKdB.js +13 -0
- package/dist/client/_nuxt/glsl.-GlVTnW0.js +1 -0
- package/dist/client/_nuxt/gnuplot.nclm9rTJ.js +266 -0
- package/dist/client/_nuxt/go.XCGcAo4I.js +1 -0
- package/dist/client/_nuxt/graphql.C4V4xKFR.js +4 -0
- package/dist/client/_nuxt/groovy.wChcbJ1V.js +37 -0
- package/dist/client/_nuxt/hack.B30vrIHT.js +86 -0
- package/dist/client/_nuxt/haml.CAKsSe2e.js +1 -0
- package/dist/client/_nuxt/handlebars.W0zz18bm.js +1 -0
- package/dist/client/_nuxt/haskell.DAGYewaG.js +559 -0
- package/dist/client/_nuxt/hcl.qyqQxnfZ.js +1 -0
- package/dist/client/_nuxt/hjson.DZqG9GXz.js +50 -0
- package/dist/client/_nuxt/hlsl.DmDrTTlz.js +1 -0
- package/dist/client/_nuxt/html-derivative.fiapQfxX.js +1 -0
- package/dist/client/_nuxt/html.CuK0VrWf.js +74 -0
- package/dist/client/_nuxt/http.BZ0kU-IF.js +1 -0
- package/dist/client/_nuxt/imba.DxX1Vuw3.js +223 -0
- package/dist/client/_nuxt/index.DKzsDYrr.js +1 -0
- package/dist/client/_nuxt/ini.DeVv6D4_.js +1 -0
- package/dist/client/_nuxt/java.ClXEvkw9.js +68 -0
- package/dist/client/_nuxt/javascript.Dch3xQiY.js +699 -0
- package/dist/client/_nuxt/jinja.DWD-OL5F.js +1 -0
- package/dist/client/_nuxt/jison.CHwQvgii.js +1 -0
- package/dist/client/_nuxt/json.CupVZNk8.js +25 -0
- package/dist/client/_nuxt/json5.Bh8mriwU.js +17 -0
- package/dist/client/_nuxt/jsonc.DYI1rfmx.js +25 -0
- package/dist/client/_nuxt/jsonl.BUpeXbsf.js +25 -0
- package/dist/client/_nuxt/jsonnet.C9d3aiqh.js +1 -0
- package/dist/client/_nuxt/jssm.Dble9ECP.js +1 -0
- package/dist/client/_nuxt/jsx.CsyrCbsw.js +699 -0
- package/dist/client/_nuxt/julia.CO0c-z84.js +9 -0
- package/dist/client/_nuxt/kotlin.BIxS-Weu.js +1 -0
- package/dist/client/_nuxt/kusto.DIr-ordK.js +1 -0
- package/dist/client/_nuxt/latex.DZUj4xYJ.js +3 -0
- package/dist/client/_nuxt/less.DywwDckn.js +159 -0
- package/dist/client/_nuxt/light-plus.BsvsQ1iS.js +1 -0
- package/dist/client/_nuxt/liquid.Cp8214eI.js +14 -0
- package/dist/client/_nuxt/lisp.D4LhxNOI.js +1 -0
- package/dist/client/_nuxt/logo.DdacRhvC.js +1 -0
- package/dist/client/_nuxt/lua.0ontURQf.js +1 -0
- package/dist/client/_nuxt/make.B9S9BZZh.js +1 -0
- package/dist/client/_nuxt/markdown.CRQpHayV.js +129 -0
- package/dist/client/_nuxt/marko.Dg8Ifwb-.js +8 -0
- package/dist/client/_nuxt/material-theme-darker.BrGg7AAd.js +1 -0
- package/dist/client/_nuxt/material-theme-lighter.DDRuGeQH.js +1 -0
- package/dist/client/_nuxt/material-theme-ocean.CBL0qBdF.js +1 -0
- package/dist/client/_nuxt/material-theme-palenight.D7gg1Usp.js +1 -0
- package/dist/client/_nuxt/material-theme.B2BuIiKK.js +1 -0
- package/dist/client/_nuxt/matlab.Btshr8M_.js +70 -0
- package/dist/client/_nuxt/mdc.CdZ-F1IA.js +76 -0
- package/dist/client/_nuxt/mdx.CBPJd_fO.js +1 -0
- package/dist/client/_nuxt/mermaid.BSyl5yf0.js +1 -0
- package/dist/client/_nuxt/min-dark.iSbrOpM4.js +1 -0
- package/dist/client/_nuxt/min-light.BITGhEdf.js +1 -0
- package/dist/client/_nuxt/mojo.Cr5EkBff.js +519 -0
- package/dist/client/_nuxt/monokai.sMI-pExk.js +1 -0
- package/dist/client/_nuxt/move.Dl0g34Y3.js +1 -0
- package/dist/client/_nuxt/narrat.B9CT-1u6.js +7 -0
- package/dist/client/_nuxt/nextflow.DBxHOdLe.js +1 -0
- package/dist/client/_nuxt/nginx.DGQ8U8YC.js +1 -0
- package/dist/client/_nuxt/night-owl.BeocmOPF.js +1 -0
- package/dist/client/_nuxt/nim.By3iP3OP.js +1 -0
- package/dist/client/_nuxt/nix.Dszwcx0o.js +1 -0
- package/dist/client/_nuxt/nord.CsyjKwr8.js +1 -0
- package/dist/client/_nuxt/nushell.C56EW6Ky.js +1 -0
- package/dist/client/_nuxt/objective-c.DHmGyzbM.js +109 -0
- package/dist/client/_nuxt/objective-cpp.BWKJ1FCf.js +239 -0
- package/dist/client/_nuxt/ocaml.RqY_Nz63.js +1 -0
- package/dist/client/_nuxt/one-dark-pro.BC6PHXLE.js +1 -0
- package/dist/client/_nuxt/onig.BbrMXqi_.js +1 -0
- package/dist/client/_nuxt/pascal.Bz4xi2rU.js +1 -0
- package/dist/client/_nuxt/perl.Czv4QcIx.js +1 -0
- package/dist/client/_nuxt/php.DEqKwr-6.js +771 -0
- package/dist/client/_nuxt/plsql.BbJj1K1w.js +1 -0
- package/dist/client/_nuxt/poimandres.Cda-MJFk.js +1 -0
- package/dist/client/_nuxt/postcss.DXT9h7v2.js +1 -0
- package/dist/client/_nuxt/powerquery.CApMHEaB.js +1 -0
- package/dist/client/_nuxt/powershell.9ZOzOPqN.js +1 -0
- package/dist/client/_nuxt/prisma.BBJYjQ0k.js +1 -0
- package/dist/client/_nuxt/prolog.BH_RS3WO.js +1 -0
- package/dist/client/_nuxt/proto.DOtRmeXT.js +1 -0
- package/dist/client/_nuxt/pug.BWq4yR4F.js +1 -0
- package/dist/client/_nuxt/puppet.37ic6j3l.js +1 -0
- package/dist/client/_nuxt/purescript.CfPQhs6g.js +7 -0
- package/dist/client/_nuxt/python.DwuVtWc2.js +518 -0
- package/dist/client/_nuxt/r.BXfENWL6.js +1 -0
- package/dist/client/_nuxt/raku.D384ylkT.js +1 -0
- package/dist/client/_nuxt/razor.Cstpb-uc.js +40 -0
- package/dist/client/_nuxt/red.jaXbsbtS.js +1 -0
- package/dist/client/_nuxt/reg.CrhH3_Og.js +1 -0
- package/dist/client/_nuxt/rel.6Kuza3Wr.js +1 -0
- package/dist/client/_nuxt/riscv.AgnqFTPX.js +13 -0
- package/dist/client/_nuxt/rose-pine-dawn.Bj5xdiaE.js +1 -0
- package/dist/client/_nuxt/rose-pine-moon.CdedUr_-.js +1 -0
- package/dist/client/_nuxt/rose-pine.CX_FIdg1.js +1 -0
- package/dist/client/_nuxt/rst.CXc8L5wR.js +1 -0
- package/dist/client/_nuxt/ruby.D5H8ZR7S.js +80 -0
- package/dist/client/_nuxt/rust.j8KhMG0x.js +1 -0
- package/dist/client/_nuxt/sas.2Dj3KWk-.js +1 -0
- package/dist/client/_nuxt/sass.CMDmr8et.js +2 -0
- package/dist/client/_nuxt/scala.vMsNTMhM.js +5 -0
- package/dist/client/_nuxt/scheme.1Je9_Reo.js +136 -0
- package/dist/client/_nuxt/scss.Dr-_CcBd.js +90 -0
- package/dist/client/_nuxt/shaderlab.D_C8j_yu.js +1 -0
- package/dist/client/_nuxt/shellscript.BVYSsK7b.js +1 -0
- package/dist/client/_nuxt/shellsession.BgTI27pK.js +1 -0
- package/dist/client/_nuxt/slack-dark.C7oZ9nno.js +1 -0
- package/dist/client/_nuxt/slack-ochin.hXH8Gyq8.js +1 -0
- package/dist/client/_nuxt/smalltalk.DSsji4Hu.js +1 -0
- package/dist/client/_nuxt/solarized-dark.C86elO-m.js +1 -0
- package/dist/client/_nuxt/solarized-light.xPNGhBYe.js +1 -0
- package/dist/client/_nuxt/solidity.CThH5sBG.js +1 -0
- package/dist/client/_nuxt/sparql.DJ46LgWq.js +1 -0
- package/dist/client/_nuxt/splunk.6XBPEST2.js +1 -0
- package/dist/client/_nuxt/sql.DbK06e1c.js +21 -0
- package/dist/client/_nuxt/ssh-config.BH1M7C1g.js +1 -0
- package/dist/client/_nuxt/stata.DCIeX9IZ.js +3 -0
- package/dist/client/_nuxt/stylus.DSrLtGYv.js +15 -0
- package/dist/client/_nuxt/svelte.DPVrELNy.js +1 -0
- package/dist/client/_nuxt/swift.Dez-Qvcc.js +544 -0
- package/dist/client/_nuxt/synthwave-84.BBDuFDsq.js +1 -0
- package/dist/client/_nuxt/system-verilog.DzPyIVdT.js +9 -0
- package/dist/client/_nuxt/tasl.BxwAa5i0.js +1 -0
- package/dist/client/_nuxt/tcl.C_8Fx7bH.js +1 -0
- package/dist/client/_nuxt/terraform.CdYS7vZw.js +1 -0
- package/dist/client/_nuxt/tex.BKGhwytq.js +1 -0
- package/dist/client/_nuxt/tokyo-night.eJfcURhx.js +1 -0
- package/dist/client/_nuxt/toml.BT9ZzGyQ.js +69 -0
- package/dist/client/_nuxt/tsx.BlxWTfDV.js +699 -0
- package/dist/client/_nuxt/turtle.C15OxdQ5.js +1 -0
- package/dist/client/_nuxt/twig.BOpxGNkQ.js +40 -0
- package/dist/client/_nuxt/typescript.DC8MraHL.js +666 -0
- package/dist/client/_nuxt/typst.I4qd5QHW.js +10 -0
- package/dist/client/_nuxt/v.C2TBxDwV.js +1 -0
- package/dist/client/_nuxt/vb.beD-FUib.js +1 -0
- package/dist/client/_nuxt/verilog.DVfdqzEq.js +1 -0
- package/dist/client/_nuxt/vesper.BSB_bK09.js +1 -0
- package/dist/client/_nuxt/vhdl.QZ3jNtnE.js +515 -0
- package/dist/client/_nuxt/viml.BLluXI4E.js +1 -0
- package/dist/client/_nuxt/vitesse-black.BO-UM1Vz.js +1 -0
- package/dist/client/_nuxt/vitesse-dark.CHrOy2Zl.js +1 -0
- package/dist/client/_nuxt/vitesse-light.BXgTKZPQ.js +1 -0
- package/dist/client/_nuxt/vue-html.CONbZieF.js +1 -0
- package/dist/client/_nuxt/vue.BIFGmPSe.js +6 -0
- package/dist/client/_nuxt/vue.f36acd1f.DH8ulvYW.js +1 -0
- package/dist/client/_nuxt/vyper.o-cPXEvd.js +575 -0
- package/dist/client/_nuxt/wasm.Cicx_DS6.js +1 -0
- package/dist/client/_nuxt/wenyan.D3VXSfF0.js +1 -0
- package/dist/client/_nuxt/wgsl.BZz1Hhek.js +1 -0
- package/dist/client/_nuxt/wolfram.BICIrM8O.js +1 -0
- package/dist/client/_nuxt/xml.BzTcx3OS.js +1 -0
- package/dist/client/_nuxt/xsl.lJB8dDLf.js +1 -0
- package/dist/client/_nuxt/yaml.C5gCGmDW.js +200 -0
- package/dist/client/_nuxt/zenscript.B1nm99XP.js +2 -0
- package/dist/client/_nuxt/zig.BEeHvBXh.js +1 -0
- package/dist/client/index.html +235 -0
- package/dist/module.cjs +5 -0
- package/dist/module.d.mts +44 -0
- package/dist/module.d.ts +44 -0
- package/dist/module.json +9 -0
- package/dist/module.mjs +77 -0
- package/dist/runtime/composables/isDoNotTrackEnabled.d.ts +1 -0
- package/dist/runtime/composables/isDoNotTrackEnabled.mjs +15 -0
- package/dist/runtime/composables/useScript.d.ts +4 -0
- package/dist/runtime/composables/useScript.mjs +60 -0
- package/dist/runtime/composables/useTrackingScript.d.ts +5 -0
- package/dist/runtime/composables/useTrackingScript.mjs +32 -0
- package/dist/runtime/types.d.ts +9 -0
- package/dist/types.d.mts +18 -0
- package/dist/types.d.ts +18 -0
- package/package.json +69 -3
- /package/dist/{.gitkeep → runtime/types.mjs} +0 -0
package/dist/module.mjs
ADDED
|
@@ -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,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
|
+
};
|
package/dist/types.d.mts
ADDED
|
@@ -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'
|
package/dist/types.d.ts
ADDED
|
@@ -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
|
-
"
|
|
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
|
-
"
|
|
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
|