@nuxt/scripts 0.1.6 → 0.1.7

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 (32) hide show
  1. package/dist/client/200.html +7 -6
  2. package/dist/client/404.html +7 -6
  3. package/dist/client/_nuxt/BG_OyJVq.js +1 -0
  4. package/dist/client/_nuxt/{ZXwHJetA.js → BVIyUFBp.js} +3 -3
  5. package/dist/client/_nuxt/{7b-muJBz.js → CV_REd8b.js} +1 -1
  6. package/dist/client/_nuxt/{CFDTW01f.js → D1ek2jBE.js} +1 -1
  7. package/dist/client/_nuxt/DnLUQrgA.js +1 -0
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/b5db882d-dfbd-4edf-87b5-38d1f0a456e3.json +1 -0
  10. package/dist/client/_nuxt/{LZrVsJnT.js → vqIOxd68.js} +1 -1
  11. package/dist/client/index.html +7 -6
  12. package/dist/module.d.mts +3 -6
  13. package/dist/module.d.ts +3 -6
  14. package/dist/module.json +1 -1
  15. package/dist/module.mjs +112 -44
  16. package/dist/runtime/composables/validateScriptInputSchema.d.ts +0 -5
  17. package/dist/runtime/composables/validateScriptInputSchema.mjs +9 -7
  18. package/dist/runtime/registry/cloudflare-web-analytics.mjs +3 -5
  19. package/dist/runtime/registry/facebook-pixel.mjs +3 -4
  20. package/dist/runtime/registry/fathom-analytics.mjs +3 -6
  21. package/dist/runtime/registry/hotjar.d.ts +3 -3
  22. package/dist/runtime/registry/hotjar.mjs +2 -3
  23. package/dist/runtime/registry/intercom.d.ts +4 -3
  24. package/dist/runtime/registry/intercom.mjs +3 -3
  25. package/dist/runtime/registry/npm.d.ts +3 -3
  26. package/dist/runtime/registry/npm.mjs +4 -8
  27. package/dist/runtime/registry/segment.d.ts +3 -3
  28. package/dist/runtime/registry/segment.mjs +2 -3
  29. package/dist/runtime/types.d.ts +12 -1
  30. package/package.json +6 -6
  31. package/dist/client/_nuxt/CkMwVfOK.js +0 -1
  32. package/dist/client/_nuxt/builds/meta/f0a0fb88-29eb-404a-b0c9-7ad64c942608.json +0 -1
@@ -7,7 +7,7 @@ export const SegmentOptions = object({
7
7
  export function useScriptSegment(options, _scriptOptions) {
8
8
  const scriptOptions = _scriptOptions || {};
9
9
  scriptOptions.beforeInit = () => {
10
- validateScriptInputSchema(SegmentOptions, options);
10
+ import.meta.dev && validateScriptInputSchema(SegmentOptions, options);
11
11
  if (import.meta.client) {
12
12
  window.analytics = window.analytics || [];
13
13
  window.analytics.methods = ["track", "page", "identify", "group", "alias", "reset"];
@@ -30,8 +30,7 @@ export function useScriptSegment(options, _scriptOptions) {
30
30
  return useScript({
31
31
  "key": "segment",
32
32
  "data-global-segment-analytics-key": analyticsKey,
33
- "src": `https://cdn.segment.com/analytics.js/v1/${options?.writeKey}/analytics.min.js`,
34
- "defer": true
33
+ "src": options?.src || `https://cdn.segment.com/analytics.js/v1/${options?.writeKey}/analytics.min.js`
35
34
  }, {
36
35
  ...scriptOptions,
37
36
  use() {
@@ -2,6 +2,7 @@ import type { UseScriptOptions } from '@unhead/schema';
2
2
  import type { UseScriptInput, VueScriptInstance } from '@unhead/vue';
3
3
  import type { ComputedRef, Ref } from 'vue';
4
4
  import type { Input, ObjectSchema } from 'valibot';
5
+ import type { Import } from 'unimport';
5
6
  import type { CloudflareWebAnalyticsOptions } from '~/src/runtime/registry/cloudflare-web-analytics';
6
7
  import type { FacebookPixelOptions } from '~/src/runtime/registry/facebook-pixel';
7
8
  import type { FathomAnalyticsOptions } from '~/src/runtime/registry/fathom-analytics';
@@ -20,8 +21,10 @@ export type NuxtUseScriptOptions<T = any> = Omit<UseScriptOptions<T>, 'trigger'>
20
21
  * Should the script be bundled as an asset and loaded from your server. This is useful for improving the
21
22
  * performance by avoiding the extra DNS lookup and reducing the number of requests. It also
22
23
  * improves privacy by not sharing the user's IP address with third-party servers.
24
+ * - `bundle` - Bundle the script as an asset.
25
+ * - `null` - Do not bundle the script.
23
26
  */
24
- assetStrategy?: 'bundle';
27
+ assetStrategy?: null | 'bundle';
25
28
  /**
26
29
  * A hook to run when a script does not exist and will be initialized for the first time.
27
30
  */
@@ -67,3 +70,11 @@ export interface ScriptRegistry {
67
70
  segment?: ScriptRegistryEntry<typeof SegmentOptions>;
68
71
  intercom?: ScriptRegistryEntry<typeof IntercomOptions>;
69
72
  }
73
+ export type ScriptDynamicSrcInput<T extends ObjectSchema<any>> = Input<T> & {
74
+ src?: string;
75
+ };
76
+ export type RegistryScripts = (Import & {
77
+ src?: string;
78
+ key?: string;
79
+ transform?: (options: any) => string;
80
+ })[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
3
  "type": "module",
4
- "version": "0.1.6",
4
+ "version": "0.1.7",
5
5
  "packageManager": "pnpm@8.15.5",
6
6
  "description": "Next-gen Scripts for Nuxt",
7
7
  "author": {
@@ -51,16 +51,16 @@
51
51
  "ohash": "^1.1.3",
52
52
  "pathe": "^1.1.2",
53
53
  "pkg-types": "^1.0.3",
54
- "shiki": "^1.2.1",
54
+ "shiki": "^1.2.2",
55
55
  "sirv": "^2.0.4",
56
56
  "ufo": "^1.5.3",
57
- "unplugin": "^1.10.0",
57
+ "unimport": "^3.7.1",
58
+ "unplugin": "^1.10.1",
58
59
  "unstorage": "^1.10.2",
59
- "valibot": "^0.30.0",
60
- "unimport": "^3.7.1"
60
+ "valibot": "^0.30.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@antfu/eslint-config": "2.8.3",
63
+ "@antfu/eslint-config": "2.11.6",
64
64
  "@nuxt/devtools-ui-kit": "^1.1.5",
65
65
  "@nuxt/module-builder": "^0.5.5",
66
66
  "@nuxt/test-utils": "3.12.0",
@@ -1 +0,0 @@
1
- const e=Object.freeze({displayName:"HashiCorp HCL",fileTypes:["hcl"],name:"hcl",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#block"},{include:"#expressions"}],repository:{attribute_access:{begin:"\\.(?!\\*)",beginCaptures:{0:{name:"keyword.operator.accessor.hcl"}},comment:"Matches traversal attribute access such as .attr",end:"[[:alpha:]][\\w-]*|\\d*",endCaptures:{0:{patterns:[{comment:"Attribute name",match:"(?!null|false|true)[[:alpha:]][\\w-]*",name:"variable.other.member.hcl"},{comment:"Optional attribute index",match:"\\d+",name:"constant.numeric.integer.hcl"}]}}},attribute_definition:{captures:{1:{name:"punctuation.section.parens.begin.hcl"},2:{name:"variable.other.readwrite.hcl"},3:{name:"punctuation.section.parens.end.hcl"},4:{name:"keyword.operator.assignment.hcl"}},comment:'Identifier "=" with optional parens',match:"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*",name:"variable.declaration.hcl"},attribute_splat:{begin:"\\.",beginCaptures:{0:{name:"keyword.operator.accessor.hcl"}},comment:"Legacy attribute-only splat",end:"\\*",endCaptures:{0:{name:"keyword.operator.splat.hcl"}}},block:{begin:"([\\w][\\-\\w]*)([^{\\r\\n]*)(\\{)",beginCaptures:{1:{patterns:[{comment:"Block type",match:"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b",name:"entity.name.type.hcl"}]},2:{patterns:[{comment:"Block label (String Literal)",match:'\\"[^\\"\\r\\n]*\\"',name:"variable.other.enummember.hcl"},{comment:"Block label (Indentifier)",match:"[[:alpha:]][[:alnum:]_-]*",name:"variable.other.enummember.hcl"}]},3:{name:"punctuation.section.block.begin.hcl"}},comment:'This will match HCL blocks like `thing1 "one" "two" {` or `thing2 {`',end:"\\}",endCaptures:{0:{name:"punctuation.section.block.end.hcl"}},name:"meta.block.hcl",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#expressions"},{include:"#block"}]},block_inline_comments:{begin:"/\\*",captures:{0:{name:"punctuation.definition.comment.hcl"}},comment:"Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence",end:"\\*/",name:"comment.block.hcl"},brackets:{begin:"\\[",beginCaptures:{0:{name:"punctuation.section.brackets.begin.hcl"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.brackets.end.hcl"}},patterns:[{comment:"Splat operator",match:"\\*",name:"keyword.operator.splat.hcl"},{include:"#comma"},{include:"#comments"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{include:"#expressions"},{include:"#local_identifiers"}]},char_escapes:{comment:"Character Escapes",match:'\\\\[nrt"\\\\]|\\\\u(\\h{8}|\\h{4})',name:"constant.character.escape.hcl"},comma:{comment:"Commas - used in certain expressions",match:"\\,",name:"punctuation.separator.hcl"},comments:{patterns:[{include:"#hash_line_comments"},{include:"#double_slash_line_comments"},{include:"#block_inline_comments"}]},double_slash_line_comments:{begin:"//",captures:{0:{name:"punctuation.definition.comment.hcl"}},comment:"Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence",end:"$\\n?",name:"comment.line.double-slash.hcl"},expressions:{patterns:[{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#brackets"},{include:"#objects"},{include:"#attribute_access"},{include:"#attribute_splat"},{include:"#functions"},{include:"#parens"}]},for_expression_body:{patterns:[{comment:"in keyword",match:"\\bin\\b",name:"keyword.operator.word.hcl"},{comment:"if keyword",match:"\\bif\\b",name:"keyword.control.conditional.hcl"},{match:"\\:",name:"keyword.operator.hcl"},{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},functions:{begin:"([:\\-\\w]+)(\\()",beginCaptures:{1:{patterns:[{match:"\\b[[:alpha:]][\\w_-]*::([[:alpha:]][\\w_-]*::)?[[:alpha:]][\\w_-]*\\b",name:"support.function.namespaced.hcl"},{match:"\\b[[:alpha:]][\\w_-]*\\b",name:"support.function.builtin.hcl"}]},2:{name:"punctuation.section.parens.begin.hcl"}},comment:"Built-in function calls",end:"\\)",endCaptures:{0:{name:"punctuation.section.parens.end.hcl"}},name:"meta.function-call.hcl",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#comma"}]},hash_line_comments:{begin:"#",captures:{0:{name:"punctuation.definition.comment.hcl"}},comment:"Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence",end:"$\\n?",name:"comment.line.number-sign.hcl"},hcl_type_keywords:{comment:"Type keywords known to HCL.",match:"\\b(any|string|number|bool|list|set|map|tuple|object)\\b",name:"storage.type.hcl"},heredoc:{begin:"(\\<\\<\\-?)\\s*(\\w+)\\s*$",beginCaptures:{1:{name:"keyword.operator.heredoc.hcl"},2:{name:"keyword.control.heredoc.hcl"}},comment:"String Heredoc",end:"^\\s*\\2\\s*$",endCaptures:{0:{name:"keyword.control.heredoc.hcl"}},name:"string.unquoted.heredoc.hcl",patterns:[{include:"#string_interpolation"}]},inline_for_expression:{begin:"(for)\\b",beginCaptures:{1:{name:"keyword.control.hcl"}},end:"\\n",patterns:[{match:"\\=\\>",name:"storage.type.function.hcl"},{include:"#for_expression_body"}]},inline_if_expression:{begin:"(if)\\b",beginCaptures:{1:{name:"keyword.control.conditional.hcl"}},end:"\\n",patterns:[{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},language_constants:{comment:"Language Constants",match:"\\b(true|false|null)\\b",name:"constant.language.hcl"},literal_values:{patterns:[{include:"#numeric_literals"},{include:"#language_constants"},{include:"#string_literals"},{include:"#heredoc"},{include:"#hcl_type_keywords"}]},local_identifiers:{comment:"Local Identifiers",match:"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b",name:"variable.other.readwrite.hcl"},numeric_literals:{patterns:[{captures:{1:{name:"punctuation.separator.exponent.hcl"}},comment:"Integer, no fraction, optional exponent",match:"\\b\\d+([Ee][+-]?)\\d+\\b",name:"constant.numeric.float.hcl"},{captures:{1:{name:"punctuation.separator.decimal.hcl"},2:{name:"punctuation.separator.exponent.hcl"}},comment:"Integer, fraction, optional exponent",match:"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b",name:"constant.numeric.float.hcl"},{comment:"Integers",match:"\\b\\d+\\b",name:"constant.numeric.integer.hcl"}]},object_for_expression:{begin:"(\\{)\\s?(for)\\b",beginCaptures:{1:{name:"punctuation.section.braces.begin.hcl"},2:{name:"keyword.control.hcl"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.braces.end.hcl"}},patterns:[{match:"\\=\\>",name:"storage.type.function.hcl"},{include:"#for_expression_body"}]},object_key_values:{patterns:[{include:"#comments"},{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#heredoc"},{include:"#functions"}]},objects:{begin:"\\{",beginCaptures:{0:{name:"punctuation.section.braces.begin.hcl"}},end:"\\}",endCaptures:{0:{name:"punctuation.section.braces.end.hcl"}},name:"meta.braces.hcl",patterns:[{include:"#comments"},{include:"#objects"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{captures:{1:{name:"meta.mapping.key.hcl variable.other.readwrite.hcl"},2:{name:"keyword.operator.assignment.hcl"}},comment:"Literal, named object key",match:"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!=))\\s*"},{captures:{1:{name:"meta.mapping.key.hcl string.quoted.double.hcl"},2:{name:"punctuation.definition.string.begin.hcl"},3:{name:"punctuation.definition.string.end.hcl"},4:{name:"keyword.operator.hcl"}},comment:"String object key",match:'^\\s*((").*("))\\s*(\\=)\\s*'},{begin:"^\\s*\\(",beginCaptures:{0:{name:"punctuation.section.parens.begin.hcl"}},comment:"Computed object key (any expression between parens)",end:"(\\))\\s*(=|:)\\s*",endCaptures:{1:{name:"punctuation.section.parens.end.hcl"},2:{name:"keyword.operator.hcl"}},name:"meta.mapping.key.hcl",patterns:[{include:"#attribute_access"},{include:"#attribute_splat"}]},{include:"#object_key_values"}]},operators:{patterns:[{match:"\\>\\=",name:"keyword.operator.hcl"},{match:"\\<\\=",name:"keyword.operator.hcl"},{match:"\\=\\=",name:"keyword.operator.hcl"},{match:"\\!\\=",name:"keyword.operator.hcl"},{match:"\\+",name:"keyword.operator.arithmetic.hcl"},{match:"\\-",name:"keyword.operator.arithmetic.hcl"},{match:"\\*",name:"keyword.operator.arithmetic.hcl"},{match:"\\/",name:"keyword.operator.arithmetic.hcl"},{match:"\\%",name:"keyword.operator.arithmetic.hcl"},{match:"\\&\\&",name:"keyword.operator.logical.hcl"},{match:"\\|\\|",name:"keyword.operator.logical.hcl"},{match:"\\!",name:"keyword.operator.logical.hcl"},{match:"\\>",name:"keyword.operator.hcl"},{match:"\\<",name:"keyword.operator.hcl"},{match:"\\?",name:"keyword.operator.hcl"},{match:"\\.\\.\\.",name:"keyword.operator.hcl"},{match:"\\:",name:"keyword.operator.hcl"},{match:"\\=\\>",name:"keyword.operator.hcl"}]},parens:{begin:"\\(",beginCaptures:{0:{name:"punctuation.section.parens.begin.hcl"}},comment:"Parens - matched *after* function syntax",end:"\\)",endCaptures:{0:{name:"punctuation.section.parens.end.hcl"}},patterns:[{include:"#comments"},{include:"#expressions"}]},string_interpolation:{begin:"(?<![%$])([%$]{)",beginCaptures:{1:{name:"keyword.other.interpolation.begin.hcl"}},comment:"String interpolation",end:"\\}",endCaptures:{0:{name:"keyword.other.interpolation.end.hcl"}},name:"meta.interpolation.hcl",patterns:[{comment:"Trim left whitespace",match:"\\~\\s",name:"keyword.operator.template.left.trim.hcl"},{comment:"Trim right whitespace",match:"\\s\\~",name:"keyword.operator.template.right.trim.hcl"},{comment:"if/else/endif and for/in/endfor directives",match:"\\b(if|else|endif|for|in|endfor)\\b",name:"keyword.control.hcl"},{include:"#expressions"},{include:"#local_identifiers"}]},string_literals:{begin:'"',beginCaptures:{0:{name:"punctuation.definition.string.begin.hcl"}},comment:"Strings",end:'"',endCaptures:{0:{name:"punctuation.definition.string.end.hcl"}},name:"string.quoted.double.hcl",patterns:[{include:"#string_interpolation"},{include:"#char_escapes"}]},tuple_for_expression:{begin:"(\\[)\\s?(for)\\b",beginCaptures:{1:{name:"punctuation.section.brackets.begin.hcl"},2:{name:"keyword.control.hcl"}},end:"\\]",endCaptures:{0:{name:"punctuation.section.brackets.end.hcl"}},patterns:[{include:"#for_expression_body"}]}},scopeName:"source.hcl"});var n=[e];export{n as default};
@@ -1 +0,0 @@
1
- {"id":"f0a0fb88-29eb-404a-b0c9-7ad64c942608","timestamp":1711884560577,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}