main repo

This commit is contained in:
Basilosaurusrex
2025-11-24 18:09:40 +01:00
parent b636ee5e70
commit f027651f9b
34146 changed files with 4436636 additions and 0 deletions

3
node_modules/@next/env/README.md generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# `@next/env`
Next.js' util for loading dotenv files in with the proper priorities

20
node_modules/@next/env/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,20 @@
export type Env = {
[key: string]: string | undefined;
};
export type LoadedEnvFiles = Array<{
path: string;
contents: string;
}>;
export declare let initialEnv: Env | undefined;
export declare function updateInitialEnv(newEnv: Env): void;
type Log = {
info: (...args: any[]) => void;
error: (...args: any[]) => void;
};
export declare function processEnv(loadedEnvFiles: LoadedEnvFiles, dir?: string, log?: Log, forceReload?: boolean, onReload?: (envFilePath: string) => void): Env;
export declare function resetEnv(): void;
export declare function loadEnvConfig(dir: string, dev?: boolean, log?: Log, forceReload?: boolean, onReload?: (envFilePath: string) => void): {
combinedEnv: Env;
loadedEnvFiles: LoadedEnvFiles;
};
export {};

1
node_modules/@next/env/dist/index.js generated vendored Normal file

File diff suppressed because one or more lines are too long

36
node_modules/@next/env/package.json generated vendored Normal file
View File

@@ -0,0 +1,36 @@
{
"name": "@next/env",
"version": "13.5.1",
"keywords": [
"react",
"next",
"next.js",
"dotenv"
],
"description": "Next.js dotenv file loading",
"repository": {
"type": "git",
"url": "https://github.com/vercel/next.js",
"directory": "packages/next-env"
},
"author": "Next.js Team <support@vercel.com>",
"license": "MIT",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"dev": "ncc build ./index.ts -w -o dist/",
"prerelease": "node ../../scripts/rm.mjs dist",
"types": "tsc index.ts --declaration --emitDeclarationOnly --declarationDir dist --esModuleInterop",
"release": "ncc build ./index.ts -o ./dist/ --minify --no-cache --no-source-map-register",
"build": "pnpm release && pnpm types",
"prepublishOnly": "cd ../../ && turbo run build"
},
"devDependencies": {
"@vercel/ncc": "0.34.0",
"dotenv": "10.0.0",
"dotenv-expand": "8.0.1"
}
}

4
node_modules/@next/eslint-plugin-next/README.md generated vendored Normal file
View File

@@ -0,0 +1,4 @@
# `@next/eslint-plugin-next`
Documentation for `@next/eslint-plugin-next` can be found at:
https://nextjs.org/docs/basic-features/eslint#eslint-plugin

70
node_modules/@next/eslint-plugin-next/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,70 @@
"use strict";
module.exports = {
rules: {
"google-font-display": require("./rules/google-font-display"),
"google-font-preconnect": require("./rules/google-font-preconnect"),
"inline-script-id": require("./rules/inline-script-id"),
"next-script-for-ga": require("./rules/next-script-for-ga"),
"no-assign-module-variable": require("./rules/no-assign-module-variable"),
"no-async-client-component": require("./rules/no-async-client-component"),
"no-before-interactive-script-outside-document": require("./rules/no-before-interactive-script-outside-document"),
"no-css-tags": require("./rules/no-css-tags"),
"no-document-import-in-page": require("./rules/no-document-import-in-page"),
"no-duplicate-head": require("./rules/no-duplicate-head"),
"no-head-element": require("./rules/no-head-element"),
"no-head-import-in-document": require("./rules/no-head-import-in-document"),
"no-html-link-for-pages": require("./rules/no-html-link-for-pages"),
"no-img-element": require("./rules/no-img-element"),
"no-page-custom-font": require("./rules/no-page-custom-font"),
"no-script-component-in-head": require("./rules/no-script-component-in-head"),
"no-styled-jsx-in-document": require("./rules/no-styled-jsx-in-document"),
"no-sync-scripts": require("./rules/no-sync-scripts"),
"no-title-in-document-head": require("./rules/no-title-in-document-head"),
"no-typos": require("./rules/no-typos"),
"no-unwanted-polyfillio": require("./rules/no-unwanted-polyfillio")
},
configs: {
recommended: {
plugins: [
"@next/next"
],
rules: {
// warnings
"@next/next/google-font-display": "warn",
"@next/next/google-font-preconnect": "warn",
"@next/next/next-script-for-ga": "warn",
"@next/next/no-async-client-component": "warn",
"@next/next/no-before-interactive-script-outside-document": "warn",
"@next/next/no-css-tags": "warn",
"@next/next/no-head-element": "warn",
"@next/next/no-html-link-for-pages": "warn",
"@next/next/no-img-element": "warn",
"@next/next/no-page-custom-font": "warn",
"@next/next/no-styled-jsx-in-document": "warn",
"@next/next/no-sync-scripts": "warn",
"@next/next/no-title-in-document-head": "warn",
"@next/next/no-typos": "warn",
"@next/next/no-unwanted-polyfillio": "warn",
// errors
"@next/next/inline-script-id": "error",
"@next/next/no-assign-module-variable": "error",
"@next/next/no-document-import-in-page": "error",
"@next/next/no-duplicate-head": "error",
"@next/next/no-head-import-in-document": "error",
"@next/next/no-script-component-in-head": "error"
}
},
"core-web-vitals": {
plugins: [
"@next/next"
],
extends: [
"plugin:@next/next/recommended"
],
rules: {
"@next/next/no-html-link-for-pages": "error",
"@next/next/no-sync-scripts": "error"
}
}
}
};

View File

@@ -0,0 +1,51 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _nodeattributes = /*#__PURE__*/ _interop_require_default(require("../utils/node-attributes"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var url = "https://nextjs.org/docs/messages/google-font-display";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Enforce font-display behavior with Google Fonts.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
var message;
if (node.name.name !== "link") {
return;
}
var attributes = new _nodeattributes.default(node);
if (!attributes.has("href") || !attributes.hasValue("href")) {
return;
}
var hrefValue = attributes.value("href");
var isGoogleFont = typeof hrefValue === "string" && hrefValue.startsWith("https://fonts.googleapis.com/css");
if (isGoogleFont) {
var params = new URLSearchParams(hrefValue.split("?")[1]);
var displayValue = params.get("display");
if (!params.has("display")) {
message = "A font-display parameter is missing (adding `&display=optional` is recommended).";
} else if (displayValue === "auto" || displayValue === "block" || displayValue === "fallback") {
message = "".concat(displayValue[0].toUpperCase() + displayValue.slice(1), " is not recommended.");
}
}
if (message) {
context.report({
node: node,
message: "".concat(message, " See: ").concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,41 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _nodeattributes = /*#__PURE__*/ _interop_require_default(require("../utils/node-attributes"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var url = "https://nextjs.org/docs/messages/google-font-preconnect";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Ensure `preconnect` is used with Google Fonts.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "link") {
return;
}
var attributes = new _nodeattributes.default(node);
if (!attributes.has("href") || !attributes.hasValue("href")) {
return;
}
var hrefValue = attributes.value("href");
var preconnectMissing = !attributes.has("rel") || !attributes.hasValue("rel") || attributes.value("rel") !== "preconnect";
if (typeof hrefValue === "string" && hrefValue.startsWith("https://fonts.gstatic.com") && preconnectMissing) {
context.report({
node: node,
message: '`rel="preconnect"` is missing from Google Font. See: '.concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,59 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/inline-script-id";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Enforce `id` attribute on `next/script` components with inline content.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var nextScriptImportName = null;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value === "next/script") {
nextScriptImportName = node.specifiers[0].local.name;
}
},
JSXElement: function JSXElement(node) {
if (nextScriptImportName == null) return;
if (node.openingElement && node.openingElement.name && node.openingElement.name.name !== nextScriptImportName) {
return;
}
var attributeNames = new Set();
var hasNonCheckableSpreadAttribute = false;
node.openingElement.attributes.forEach(function(attribute) {
// Early return if we already have a non-checkable spread attribute, for better performance
if (hasNonCheckableSpreadAttribute) return;
if (attribute.type === "JSXAttribute") {
attributeNames.add(attribute.name.name);
} else if (attribute.type === "JSXSpreadAttribute") {
if (attribute.argument && attribute.argument.properties) {
attribute.argument.properties.forEach(function(property) {
attributeNames.add(property.key.name);
});
} else {
// JSXSpreadAttribute without properties is not checkable
hasNonCheckableSpreadAttribute = true;
}
}
});
// https://github.com/vercel/next.js/issues/34030
// If there is a non-checkable spread attribute, we simply ignore them
if (hasNonCheckableSpreadAttribute) return;
if (node.children.length > 0 || attributeNames.has("dangerouslySetInnerHTML")) {
if (!attributeNames.has("id")) {
context.report({
node: node,
message: "`next/script` components with inline content must specify an `id` attribute. See: ".concat(url)
});
}
}
}
};
}
});

View File

@@ -0,0 +1,70 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _nodeattributes = /*#__PURE__*/ _interop_require_default(require("../utils/node-attributes"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var SUPPORTED_SRCS = [
"www.google-analytics.com/analytics.js",
"www.googletagmanager.com/gtag/js"
];
var SUPPORTED_HTML_CONTENT_URLS = [
"www.google-analytics.com/analytics.js",
"www.googletagmanager.com/gtm.js"
];
var description = "Prefer `next/script` component when using the inline script for Google Analytics.";
var url = "https://nextjs.org/docs/messages/next-script-for-ga";
var ERROR_MSG = "".concat(description, " See: ").concat(url);
// Check if one of the items in the list is a substring of the passed string
var containsStr = function(str, strList) {
return strList.some(function(s) {
return str.includes(s);
});
};
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: description,
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "script") {
return;
}
if (node.attributes.length === 0) {
return;
}
var attributes = new _nodeattributes.default(node);
// Check if the Alternative async tag is being used to add GA.
// https://developers.google.com/analytics/devguides/collection/analyticsjs#alternative_async_tag
// https://developers.google.com/analytics/devguides/collection/gtagjs
if (typeof attributes.value("src") === "string" && containsStr(attributes.value("src"), SUPPORTED_SRCS)) {
return context.report({
node: node,
message: ERROR_MSG
});
}
// Check if inline script is being used to add GA.
// https://developers.google.com/analytics/devguides/collection/analyticsjs#the_google_analytics_tag
// https://developers.google.com/tag-manager/quickstart
if (attributes.value("dangerouslySetInnerHTML") && attributes.value("dangerouslySetInnerHTML").length > 0) {
var htmlContent = attributes.value("dangerouslySetInnerHTML")[0].value.quasis && attributes.value("dangerouslySetInnerHTML")[0].value.quasis[0].value.raw;
if (htmlContent && containsStr(htmlContent, SUPPORTED_HTML_CONTENT_URLS)) {
context.report({
node: node,
message: ERROR_MSG
});
}
}
}
};
}
});

View File

@@ -0,0 +1,35 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-assign-module-variable";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent assignment to the `module` variable.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
VariableDeclaration: function VariableDeclaration(node) {
// Checks node.declarations array for variable with id.name of `module`
var moduleVariableFound = node.declarations.some(function(declaration) {
if ("name" in declaration.id) {
return declaration.id.name === "module";
}
return false;
});
// Return early if no `module` variable is found
if (!moduleVariableFound) {
return;
}
context.report({
node: node,
message: "Do not assign to the variable `module`. See: ".concat(url)
});
}
};
}
});

View File

@@ -0,0 +1,90 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-async-client-component";
var description = "Prevent client components from being async functions.";
var message = "".concat(description, " See: ").concat(url);
function isCapitalized(str) {
return /[A-Z]/.test(str === null || str === void 0 ? void 0 : str[0]);
}
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: description,
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
Program: function Program(node) {
var isClientComponent = false;
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
try {
var _loop = function() {
var block = _step.value;
if (block.type === "ExpressionStatement" && block.expression.type === "Literal" && block.expression.value === "use client") {
isClientComponent = true;
}
if (block.type === "ExportDefaultDeclaration" && isClientComponent) {
var _block_declaration;
// export default async function MyComponent() {...}
if (((_block_declaration = block.declaration) === null || _block_declaration === void 0 ? void 0 : _block_declaration.type) === "FunctionDeclaration" && block.declaration.async && isCapitalized(block.declaration.id.name)) {
context.report({
node: block,
message: message
});
}
// async function MyComponent() {...}; export default MyComponent;
if (block.declaration.type === "Identifier" && isCapitalized(block.declaration.name)) {
var targetName = block.declaration.name;
var functionDeclaration = node.body.find(function(localBlock) {
if (localBlock.type === "FunctionDeclaration" && localBlock.id.name === targetName) return true;
if (localBlock.type === "VariableDeclaration" && localBlock.declarations.find(function(declaration) {
var _declaration_id;
return ((_declaration_id = declaration.id) === null || _declaration_id === void 0 ? void 0 : _declaration_id.type) === "Identifier" && declaration.id.name === targetName;
})) return true;
return false;
});
if ((functionDeclaration === null || functionDeclaration === void 0 ? void 0 : functionDeclaration.type) === "FunctionDeclaration" && functionDeclaration.async) {
context.report({
node: functionDeclaration,
message: message
});
}
if ((functionDeclaration === null || functionDeclaration === void 0 ? void 0 : functionDeclaration.type) === "VariableDeclaration") {
var _varDeclarator_init;
var varDeclarator = functionDeclaration.declarations.find(function(declaration) {
var _declaration_id;
return ((_declaration_id = declaration.id) === null || _declaration_id === void 0 ? void 0 : _declaration_id.type) === "Identifier" && declaration.id.name === targetName;
});
if ((varDeclarator === null || varDeclarator === void 0 ? void 0 : (_varDeclarator_init = varDeclarator.init) === null || _varDeclarator_init === void 0 ? void 0 : _varDeclarator_init.type) === "ArrowFunctionExpression" && varDeclarator.init.async) {
context.report({
node: functionDeclaration,
message: message
});
}
}
}
}
};
for(var _iterator = node.body[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally{
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally{
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
};
}
});

View File

@@ -0,0 +1,102 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var url = "https://nextjs.org/docs/messages/no-before-interactive-script-outside-document";
var startsWithUsingCorrectSeparators = function(str, start) {
return [
_path.sep,
_path.posix.sep
].some(function(sep) {
return str.startsWith(start.replace(/\//g, sep));
});
};
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var scriptImportName = null;
return {
'ImportDeclaration[source.value="next/script"] > ImportDefaultSpecifier': function(node) {
scriptImportName = node.local.name;
},
JSXOpeningElement: function JSXOpeningElement(node) {
var pathname = context.getFilename();
if (startsWithUsingCorrectSeparators(pathname, "src/")) {
pathname = pathname.slice(4);
} else if (startsWithUsingCorrectSeparators(pathname, "/src/")) {
pathname = pathname.slice(5);
}
// This rule shouldn't fire in `app/`
if (startsWithUsingCorrectSeparators(pathname, "app/") || startsWithUsingCorrectSeparators(pathname, "/app/")) {
return;
}
if (!scriptImportName) {
return;
}
if (node.name && node.name.name !== scriptImportName) {
return;
}
var strategy = node.attributes.find(function(child) {
return child.name && child.name.name === "strategy";
});
if (!strategy || !strategy.value || strategy.value.value !== "beforeInteractive") {
return;
}
var document = context.getFilename().split("pages")[1];
if (document && _path.parse(document).name.startsWith("_document")) {
return;
}
context.report({
node: node,
message: "`next/script`'s `beforeInteractive` strategy should not be used outside of `pages/_document.js`. See: ".concat(url)
});
}
};
}
});

View File

@@ -0,0 +1,39 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-css-tags";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent manual stylesheet tags.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "link") {
return;
}
if (node.attributes.length === 0) {
return;
}
var attributes = node.attributes.filter(function(attr) {
return attr.type === "JSXAttribute";
});
if (attributes.find(function(attr) {
return attr.name.name === "rel" && attr.value.value === "stylesheet";
}) && attributes.find(function(attr) {
return attr.name.name === "href" && attr.value.type === "Literal" && !/^https?/.test(attr.value.value);
})) {
context.report({
node: node,
message: "Do not include stylesheets manually. See: ".concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,72 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var url = "https://nextjs.org/docs/messages/no-document-import-in-page";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent importing `next/document` outside of `pages/_document.js`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value !== "next/document") {
return;
}
var paths = context.getFilename().split("pages");
var page = paths[paths.length - 1];
if (!page || page.startsWith("".concat(_path.sep, "_document")) || page.startsWith("".concat(_path.posix.sep, "_document"))) {
return;
}
context.report({
node: node,
message: "`<Document />` from `next/document` should not be imported outside of `pages/_document.js`. See: ".concat(url)
});
}
};
}
});

View File

@@ -0,0 +1,54 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-duplicate-head";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent duplicate usage of `<Head>` in `pages/_document.js`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var documentImportName;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value === "next/document") {
var documentImport = node.specifiers.find(function(param) {
var type = param.type;
return type === "ImportDefaultSpecifier";
});
if (documentImport && documentImport.local) {
documentImportName = documentImport.local.name;
}
}
},
ReturnStatement: function ReturnStatement(node) {
var ancestors = context.getAncestors();
var documentClass = ancestors.find(function(ancestorNode) {
return ancestorNode.type === "ClassDeclaration" && ancestorNode.superClass && "name" in ancestorNode.superClass && ancestorNode.superClass.name === documentImportName;
});
if (!documentClass) {
return;
}
// @ts-expect-error - `node.argument` could be a `JSXElement` which has property `children`
if (node.argument && "children" in node.argument && node.argument.children) {
// @ts-expect-error - `node.argument` could be a `JSXElement` which has property `children`
var headComponents = node.argument.children.filter(function(childrenNode) {
return childrenNode.openingElement && childrenNode.openingElement.name && childrenNode.openingElement.name.name === "Head";
});
if (headComponents.length > 1) {
for(var i = 1; i < headComponents.length; i++){
context.report({
node: headComponents[i],
message: "Do not include multiple instances of `<Head/>`. See: ".concat(url)
});
}
}
}
}
};
}
});

View File

@@ -0,0 +1,34 @@
"use strict";
var _definerule = require("../utils/define-rule");
var path = require("path");
var url = "https://nextjs.org/docs/messages/no-head-element";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `<head>` element.",
category: "HTML",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
var paths = context.getFilename();
var isInAppDir = function() {
return paths.includes("app".concat(path.sep)) || paths.includes("app".concat(path.posix.sep));
};
// Only lint the <head> element in pages directory
if (node.name.name !== "head" || isInAppDir()) {
return;
}
context.report({
node: node,
message: "Do not use `<head>` element. Use `<Head />` from `next/head` instead. See: ".concat(url)
});
}
};
}
});

View File

@@ -0,0 +1,74 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var url = "https://nextjs.org/docs/messages/no-head-import-in-document";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `next/head` in `pages/_document.js`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value !== "next/head") {
return;
}
var document = context.getFilename().split("pages")[1];
if (!document) {
return;
}
var _path_parse = _path.parse(document), name = _path_parse.name, dir = _path_parse.dir;
if (name.startsWith("_document") || dir === "/_document" && name === "index") {
context.report({
node: node,
message: "`next/head` should not be imported in `pages".concat(document, "`. Use `<Head />` from `next/document` instead. See: ").concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,205 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
var _fs = /*#__PURE__*/ _interop_require_wildcard(require("fs"));
var _getrootdirs = require("../utils/get-root-dirs");
var _url = require("../utils/url");
function _array_like_to_array(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
return arr2;
}
function _array_with_holes(arr) {
if (Array.isArray(arr)) return arr;
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
function _iterable_to_array_limit(arr, i) {
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
if (_i == null) return;
var _arr = [];
var _n = true;
var _d = false;
var _s, _e;
try {
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally{
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally{
if (_d) throw _e;
}
}
return _arr;
}
function _non_iterable_rest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _sliced_to_array(arr, i) {
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
}
function _unsupported_iterable_to_array(o, minLen) {
if (!o) return;
if (typeof o === "string") return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
var pagesDirWarning = (0, _url.execOnce)(function(pagesDirs) {
console.warn("Pages directory cannot be found at ".concat(pagesDirs.join(" or "), ". ") + "If using a custom path, please configure with the `no-html-link-for-pages` rule in your eslint config file.");
});
// Cache for fs.existsSync lookup.
// Prevent multiple blocking IO requests that have already been calculated.
var fsExistsSyncCache = {};
var url = "https://nextjs.org/docs/messages/no-html-link-for-pages";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `<a>` elements to navigate to internal Next.js pages.",
category: "HTML",
recommended: true,
url: url
},
type: "problem",
schema: [
{
oneOf: [
{
type: "string"
},
{
type: "array",
uniqueItems: true,
items: {
type: "string"
}
}
]
}
]
},
/**
* Creates an ESLint rule listener.
*/ create: function create(context) {
var ruleOptions = context.options;
var _ruleOptions = _sliced_to_array(ruleOptions, 1), customPagesDirectory = _ruleOptions[0];
var rootDirs = (0, _getrootdirs.getRootDirs)(context);
var pagesDirs = (customPagesDirectory ? [
customPagesDirectory
] : rootDirs.map(function(dir) {
return [
_path.join(dir, "pages"),
_path.join(dir, "src", "pages")
];
})).flat();
var foundPagesDirs = pagesDirs.filter(function(dir) {
if (fsExistsSyncCache[dir] === undefined) {
fsExistsSyncCache[dir] = _fs.existsSync(dir);
}
return fsExistsSyncCache[dir];
});
var appDirs = rootDirs.map(function(dir) {
return [
_path.join(dir, "app"),
_path.join(dir, "src", "app")
];
}).flat();
var foundAppDirs = appDirs.filter(function(dir) {
if (fsExistsSyncCache[dir] === undefined) {
fsExistsSyncCache[dir] = _fs.existsSync(dir);
}
return fsExistsSyncCache[dir];
});
// warn if there are no pages and app directories
if (foundPagesDirs.length === 0 && foundAppDirs.length === 0) {
pagesDirWarning(pagesDirs);
return {};
}
var pageUrls = (0, _url.getUrlFromPagesDirectories)("/", foundPagesDirs);
return {
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "a") {
return;
}
if (node.attributes.length === 0) {
return;
}
var target = node.attributes.find(function(attr) {
return attr.type === "JSXAttribute" && attr.name.name === "target";
});
if (target && target.value.value === "_blank") {
return;
}
var href = node.attributes.find(function(attr) {
return attr.type === "JSXAttribute" && attr.name.name === "href";
});
if (!href || href.value && href.value.type !== "Literal") {
return;
}
var hasDownloadAttr = node.attributes.find(function(attr) {
return attr.type === "JSXAttribute" && attr.name.name === "download";
});
if (hasDownloadAttr) {
return;
}
var hrefPath = (0, _url.normalizeURL)(href.value.value);
// Outgoing links are ignored
if (/^(https?:\/\/|\/\/)/.test(hrefPath)) {
return;
}
pageUrls.forEach(function(pageUrl) {
if (pageUrl.test((0, _url.normalizeURL)(hrefPath))) {
context.report({
node: node,
message: "Do not use an `<a>` element to navigate to `".concat(hrefPath, "`. Use `<Link />` from `next/link` instead. See: ").concat(url)
});
}
});
}
};
}
});

View File

@@ -0,0 +1,35 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-img-element";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `<img>` element due to slower LCP and higher bandwidth.",
category: "HTML",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
var _node_parent_parent_openingElement_name, _node_parent_parent_openingElement, _node_parent_parent, _node_parent;
if (node.name.name !== "img") {
return;
}
if (node.attributes.length === 0) {
return;
}
if (((_node_parent = node.parent) === null || _node_parent === void 0 ? void 0 : (_node_parent_parent = _node_parent.parent) === null || _node_parent_parent === void 0 ? void 0 : (_node_parent_parent_openingElement = _node_parent_parent.openingElement) === null || _node_parent_parent_openingElement === void 0 ? void 0 : (_node_parent_parent_openingElement_name = _node_parent_parent_openingElement.name) === null || _node_parent_parent_openingElement_name === void 0 ? void 0 : _node_parent_parent_openingElement_name.name) === "picture") {
return;
}
context.report({
node: node,
message: "Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: ".concat(url)
});
}
};
}
});

View File

@@ -0,0 +1,126 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _nodeattributes = /*#__PURE__*/ _interop_require_default(require("../utils/node-attributes"));
var _path = require("path");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var url = "https://nextjs.org/docs/messages/no-page-custom-font";
function isIdentifierMatch(id1, id2) {
return id1 === null && id2 === null || id1 && id2 && id1.name === id2.name;
}
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent page-only custom fonts.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var paths = context.getFilename().split("pages");
var page = paths[paths.length - 1];
// outside of a file within `pages`, bail
if (!page) {
return {};
}
var is_Document = page.startsWith("".concat(_path.sep, "_document")) || page.startsWith("".concat(_path.posix.sep, "_document"));
var documentImportName;
var localDefaultExportId;
var exportDeclarationType;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value === "next/document") {
var documentImport = node.specifiers.find(function(param) {
var type = param.type;
return type === "ImportDefaultSpecifier";
});
if (documentImport && documentImport.local) {
documentImportName = documentImport.local.name;
}
}
},
ExportDefaultDeclaration: function ExportDefaultDeclaration(node) {
exportDeclarationType = node.declaration.type;
if (node.declaration.type === "FunctionDeclaration") {
localDefaultExportId = node.declaration.id;
return;
}
if (node.declaration.type === "ClassDeclaration" && node.declaration.superClass && "name" in node.declaration.superClass && node.declaration.superClass.name === documentImportName) {
localDefaultExportId = node.declaration.id;
}
},
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "link") {
return;
}
var ancestors = context.getAncestors();
// if `export default <name>` is further down within the file after the
// currently traversed component, then `localDefaultExportName` will
// still be undefined
if (!localDefaultExportId) {
// find the top level of the module
var program = ancestors.find(function(ancestor) {
return ancestor.type === "Program";
});
// go over each token to find the combination of `export default <name>`
for(var i = 0; i <= program.tokens.length - 1; i++){
if (localDefaultExportId) {
break;
}
var token = program.tokens[i];
if (token.type === "Keyword" && token.value === "export") {
var nextToken = program.tokens[i + 1];
if (nextToken && nextToken.type === "Keyword" && nextToken.value === "default") {
var maybeIdentifier = program.tokens[i + 2];
if (maybeIdentifier && maybeIdentifier.type === "Identifier") {
localDefaultExportId = {
name: maybeIdentifier.value
};
}
}
}
}
}
var parentComponent = ancestors.find(function(ancestor) {
// export default class ... extends ...
if (exportDeclarationType === "ClassDeclaration") {
return ancestor.type === exportDeclarationType && "superClass" in ancestor && ancestor.superClass && "name" in ancestor.superClass && ancestor.superClass.name === documentImportName;
}
if ("id" in ancestor) {
// export default function ...
if (exportDeclarationType === "FunctionDeclaration") {
return ancestor.type === exportDeclarationType && isIdentifierMatch(ancestor.id, localDefaultExportId);
}
// function ...() {} export default ...
// class ... extends ...; export default ...
return isIdentifierMatch(ancestor.id, localDefaultExportId);
}
return false;
});
// file starts with _document and this <link /> is within the default export
if (is_Document && parentComponent) {
return;
}
var attributes = new _nodeattributes.default(node);
if (!attributes.has("href") || !attributes.hasValue("href")) {
return;
}
var hrefValue = attributes.value("href");
var isGoogleFont = typeof hrefValue === "string" && hrefValue.startsWith("https://fonts.googleapis.com/css");
if (isGoogleFont) {
var end = "This is discouraged. See: ".concat(url);
var message = is_Document ? "Using `<link />` outside of `<Head>` will disable automatic font optimization. ".concat(end) : "Custom fonts not added in `pages/_document.js` will only load for a single page. ".concat(end);
context.report({
node: node,
message: message
});
}
}
};
}
});

View File

@@ -0,0 +1,44 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-script-component-in-head";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `next/script` in `next/head` component.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var isNextHead = null;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value === "next/head") {
isNextHead = node.source.value;
}
if (node.source.value !== "next/script") {
return;
}
},
JSXElement: function JSXElement(node) {
if (!isNextHead) {
return;
}
if (node.openingElement && node.openingElement.name && node.openingElement.name.name !== "Head") {
return;
}
var scriptTag = node.children.find(function(child) {
return child.openingElement && child.openingElement.name && child.openingElement.name.name === "Script";
});
if (scriptTag) {
context.report({
node: node,
message: "`next/script` should not be used in `next/head` component. Move `<Script />` outside of `<Head>` instead. See: ".concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,76 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var url = "https://nextjs.org/docs/messages/no-styled-jsx-in-document";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `styled-jsx` in `pages/_document.js`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
var document = context.getFilename().split("pages")[1];
if (!document) {
return;
}
var _path_parse = _path.parse(document), name = _path_parse.name, dir = _path_parse.dir;
if (!(name.startsWith("_document") || dir === "/_document" && name === "index")) {
return;
}
if (node.name.name === "style" && node.attributes.find(function(attr) {
return attr.type === "JSXAttribute" && attr.name.name === "jsx";
})) {
context.report({
node: node,
message: "`styled-jsx` should not be used in `pages/_document.js`. See: ".concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,37 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-sync-scripts";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent synchronous scripts.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
return {
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name.name !== "script") {
return;
}
if (node.attributes.length === 0) {
return;
}
var attributeNames = node.attributes.filter(function(attr) {
return attr.type === "JSXAttribute";
}).map(function(attr) {
return attr.name.name;
});
if (attributeNames.includes("src") && !attributeNames.includes("async") && !attributeNames.includes("defer")) {
context.report({
node: node,
message: "Synchronous scripts should not be used. See: ".concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,46 @@
"use strict";
var _definerule = require("../utils/define-rule");
var url = "https://nextjs.org/docs/messages/no-title-in-document-head";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent usage of `<title>` with `Head` component from `next/document`.",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var headFromNextDocument = false;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source.value === "next/document") {
if (node.specifiers.some(function(param) {
var local = param.local;
return local.name === "Head";
})) {
headFromNextDocument = true;
}
}
},
JSXElement: function JSXElement(node) {
if (!headFromNextDocument) {
return;
}
if (node.openingElement && node.openingElement.name && node.openingElement.name.name !== "Head") {
return;
}
var titleTag = node.children.find(function(child) {
return child.openingElement && child.openingElement.name && child.openingElement.name.type === "JSXIdentifier" && child.openingElement.name.name === "title";
});
if (titleTag) {
context.report({
node: titleTag,
message: "Do not use `<title>` element with `<Head />` component from `next/document`. Titles should defined at the page-level using `<Head />` from `next/head` instead. See: ".concat(url)
});
}
}
};
}
});

View File

@@ -0,0 +1,148 @@
"use strict";
var _definerule = require("../utils/define-rule");
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
var NEXT_EXPORT_FUNCTIONS = [
"getStaticProps",
"getStaticPaths",
"getServerSideProps"
];
// 0 is the exact match
var THRESHOLD = 1;
// the minimum number of operations required to convert string a to string b.
function minDistance(a, b) {
var m = a.length;
var n = b.length;
if (m < n) {
return minDistance(b, a);
}
if (n === 0) {
return m;
}
var previousRow = Array.from({
length: n + 1
}, function(_, i) {
return i;
});
for(var i = 0; i < m; i++){
var s1 = a[i];
var currentRow = [
i + 1
];
for(var j = 0; j < n; j++){
var s2 = b[j];
var insertions = previousRow[j + 1] + 1;
var deletions = currentRow[j] + 1;
var substitutions = previousRow[j] + Number(s1 !== s2);
currentRow.push(Math.min(insertions, deletions, substitutions));
}
previousRow = currentRow;
}
return previousRow[previousRow.length - 1];
}
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent common typos in Next.js data fetching functions.",
recommended: true
},
type: "problem",
schema: []
},
create: function create(context) {
var checkTypos = function checkTypos(node, name) {
if (NEXT_EXPORT_FUNCTIONS.includes(name)) {
return;
}
var potentialTypos = NEXT_EXPORT_FUNCTIONS.map(function(o) {
return {
option: o,
distance: minDistance(o, name)
};
}).filter(function(param) {
var distance = param.distance;
return distance <= THRESHOLD && distance > 0;
}).sort(function(a, b) {
return a.distance - b.distance;
});
if (potentialTypos.length) {
context.report({
node: node,
message: "".concat(name, " may be a typo. Did you mean ").concat(potentialTypos[0].option, "?")
});
}
};
return {
ExportNamedDeclaration: function ExportNamedDeclaration(node) {
var page = context.getFilename().split("pages")[1];
if (!page || _path.parse(page).dir.startsWith("/api")) {
return;
}
var decl = node.declaration;
if (!decl) {
return;
}
switch(decl.type){
case "FunctionDeclaration":
{
checkTypos(node, decl.id.name);
break;
}
case "VariableDeclaration":
{
decl.declarations.forEach(function(d) {
if (d.id.type !== "Identifier") {
return;
}
checkTypos(node, d.id.name);
});
break;
}
default:
{
break;
}
}
return;
}
};
}
});

View File

@@ -0,0 +1,119 @@
"use strict";
var _definerule = require("../utils/define-rule");
// Keep in sync with next.js polyfills file : https://github.com/vercel/next.js/blob/master/packages/next-polyfill-nomodule/src/index.js
var NEXT_POLYFILLED_FEATURES = [
"Array.prototype.@@iterator",
"Array.prototype.at",
"Array.prototype.copyWithin",
"Array.prototype.fill",
"Array.prototype.find",
"Array.prototype.findIndex",
"Array.prototype.flatMap",
"Array.prototype.flat",
"Array.from",
"Array.prototype.includes",
"Array.of",
"Function.prototype.name",
"fetch",
"Map",
"Number.EPSILON",
"Number.Epsilon",
"Number.isFinite",
"Number.isNaN",
"Number.isInteger",
"Number.isSafeInteger",
"Number.MAX_SAFE_INTEGER",
"Number.MIN_SAFE_INTEGER",
"Number.parseFloat",
"Number.parseInt",
"Object.assign",
"Object.entries",
"Object.fromEntries",
"Object.getOwnPropertyDescriptor",
"Object.getOwnPropertyDescriptors",
"Object.is",
"Object.keys",
"Object.values",
"Reflect",
"Set",
"Symbol",
"Symbol.asyncIterator",
"String.prototype.codePointAt",
"String.prototype.endsWith",
"String.fromCodePoint",
"String.prototype.includes",
"String.prototype.@@iterator",
"String.prototype.padEnd",
"String.prototype.padStart",
"String.prototype.repeat",
"String.raw",
"String.prototype.startsWith",
"String.prototype.trimEnd",
"String.prototype.trimStart",
"URL",
"URL.prototype.toJSON",
"URLSearchParams",
"WeakMap",
"WeakSet",
"Promise",
"Promise.prototype.finally",
"es2015",
"es2016",
"es2017",
"es2018",
"es2019",
"es5",
"es6",
"es7"
];
var url = "https://nextjs.org/docs/messages/no-unwanted-polyfillio";
module.exports = (0, _definerule.defineRule)({
meta: {
docs: {
description: "Prevent duplicate polyfills from Polyfill.io.",
category: "HTML",
recommended: true,
url: url
},
type: "problem",
schema: []
},
create: function create(context) {
var scriptImport = null;
return {
ImportDeclaration: function ImportDeclaration(node) {
if (node.source && node.source.value === "next/script") {
scriptImport = node.specifiers[0].local.name;
}
},
JSXOpeningElement: function JSXOpeningElement(node) {
if (node.name && node.name.name !== "script" && node.name.name !== scriptImport) {
return;
}
if (node.attributes.length === 0) {
return;
}
var srcNode = node.attributes.find(function(attr) {
return attr.type === "JSXAttribute" && attr.name.name === "src";
});
if (!srcNode || srcNode.value.type !== "Literal") {
return;
}
var src = srcNode.value.value;
if (src.startsWith("https://cdn.polyfill.io/v2/") || src.startsWith("https://polyfill.io/v3/")) {
var featureQueryString = new URL(src).searchParams.get("features");
var featuresRequested = (featureQueryString || "").split(",");
var unwantedFeatures = featuresRequested.filter(function(feature) {
return NEXT_POLYFILLED_FEATURES.includes(feature);
});
if (unwantedFeatures.length > 0) {
context.report({
node: node,
message: "No duplicate polyfills from Polyfill.io are allowed. ".concat(unwantedFeatures.join(", "), " ").concat(unwantedFeatures.length > 1 ? "are" : "is", " already shipped with Next.js. See: ").concat(url)
});
}
}
}
};
}
});

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "defineRule", {
enumerable: true,
get: function() {
return defineRule;
}
});
var defineRule = function(rule) {
return rule;
};

View File

@@ -0,0 +1,72 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "getRootDirs", {
enumerable: true,
get: function() {
return getRootDirs;
}
});
var _glob = /*#__PURE__*/ _interop_require_wildcard(require("glob"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
/**
* Process a Next.js root directory glob.
*/ var processRootDir = function(rootDir) {
// Ensures we only match folders.
if (!rootDir.endsWith("/")) rootDir += "/";
return _glob.sync(rootDir);
};
var getRootDirs = function(context) {
var rootDirs = [
context.getCwd()
];
var nextSettings = context.settings.next || {};
var rootDir = nextSettings.rootDir;
if (typeof rootDir === "string") {
rootDirs = processRootDir(rootDir);
} else if (Array.isArray(rootDir)) {
rootDirs = rootDir.map(function(dir) {
return typeof dir === "string" ? processRootDir(dir) : [];
}).flat();
}
return rootDirs;
};

View File

@@ -0,0 +1,114 @@
// Return attributes and values of a node in a convenient way:
/* example:
<ExampleElement attr1="15" attr2>
{ attr1: {
hasValue: true,
value: 15
},
attr2: {
hasValue: false
}
Inclusion of hasValue is in case an eslint rule cares about boolean values
explicitly assigned to attribute vs the attribute being used as a flag
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return NodeAttributes;
}
});
function _class_call_check(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _defineProperties(target, props) {
for(var i = 0; i < props.length; i++){
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _create_class(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
var NodeAttributes = /*#__PURE__*/ function() {
"use strict";
function NodeAttributes(ASTnode) {
var _this = this;
_class_call_check(this, NodeAttributes);
_define_property(this, "attributes", void 0);
this.attributes = {};
ASTnode.attributes.forEach(function(attribute) {
if (!attribute.type || attribute.type !== "JSXAttribute") {
return;
}
if (!!attribute.value) {
// hasValue
var value = typeof attribute.value.value === "string" ? attribute.value.value : typeof attribute.value.expression.value !== "undefined" ? attribute.value.expression.value : attribute.value.expression.properties;
_this.attributes[attribute.name.name] = {
hasValue: true,
value: value
};
} else {
_this.attributes[attribute.name.name] = {
hasValue: false
};
}
});
}
_create_class(NodeAttributes, [
{
key: "hasAny",
value: function hasAny() {
return !!Object.keys(this.attributes).length;
}
},
{
key: "has",
value: function has(attrName) {
return !!this.attributes[attrName];
}
},
{
key: "hasValue",
value: function hasValue(attrName) {
return !!this.attributes[attrName].hasValue;
}
},
{
key: "value",
value: function value(attrName) {
var attr = this.attributes[attrName];
if (!attr) {
return true;
}
if (attr.hasValue) {
return attr.value;
}
return undefined;
}
}
]);
return NodeAttributes;
}();

157
node_modules/@next/eslint-plugin-next/dist/utils/url.js generated vendored Normal file
View File

@@ -0,0 +1,157 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
normalizeURL: function() {
return normalizeURL;
},
getUrlFromPagesDirectories: function() {
return getUrlFromPagesDirectories;
},
execOnce: function() {
return execOnce;
}
});
var _path = /*#__PURE__*/ _interop_require_wildcard(require("path"));
var _fs = /*#__PURE__*/ _interop_require_wildcard(require("fs"));
function _array_like_to_array(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
return arr2;
}
function _array_without_holes(arr) {
if (Array.isArray(arr)) return _array_like_to_array(arr);
}
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
function _iterable_to_array(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _non_iterable_spread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _to_consumable_array(arr) {
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
}
function _unsupported_iterable_to_array(o, minLen) {
if (!o) return;
if (typeof o === "string") return _array_like_to_array(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(n);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
}
// Cache for fs.readdirSync lookup.
// Prevent multiple blocking IO requests that have already been calculated.
var fsReadDirSyncCache = {};
/**
* Recursively parse directory for page URLs.
*/ function parseUrlForPages(urlprefix, directory) {
var _fsReadDirSyncCache, _directory;
var _;
(_ = (_fsReadDirSyncCache = fsReadDirSyncCache)[_directory = directory]) !== null && _ !== void 0 ? _ : _fsReadDirSyncCache[_directory] = _fs.readdirSync(directory, {
withFileTypes: true
});
var res = [];
fsReadDirSyncCache[directory].forEach(function(dirent) {
// TODO: this should account for all page extensions
// not just js(x) and ts(x)
if (/(\.(j|t)sx?)$/.test(dirent.name)) {
if (/^index(\.(j|t)sx?)$/.test(dirent.name)) {
res.push("".concat(urlprefix).concat(dirent.name.replace(/^index(\.(j|t)sx?)$/, "")));
}
res.push("".concat(urlprefix).concat(dirent.name.replace(/(\.(j|t)sx?)$/, "")));
} else {
var dirPath = _path.join(directory, dirent.name);
if (dirent.isDirectory() && !dirent.isSymbolicLink()) {
var _res;
(_res = res).push.apply(_res, _to_consumable_array(parseUrlForPages(urlprefix + dirent.name + "/", dirPath)));
}
}
});
return res;
}
function normalizeURL(url) {
if (!url) {
return;
}
url = url.split("?")[0];
url = url.split("#")[0];
url = url = url.replace(/(\/index\.html)$/, "/");
// Empty URLs should not be trailed with `/`, e.g. `#heading`
if (url === "") {
return url;
}
url = url.endsWith("/") ? url : url + "/";
return url;
}
function getUrlFromPagesDirectories(urlPrefix, directories) {
return Array.from(// De-duplicate similar pages across multiple directories.
new Set(directories.flatMap(function(directory) {
return parseUrlForPages(urlPrefix, directory);
}).map(// Since the URLs are normalized we add `^` and `$` to the RegExp to make sure they match exactly.
function(url) {
return "^".concat(normalizeURL(url), "$");
}))).map(function(urlReg) {
urlReg = urlReg.replace(/\[.*\]/g, "((?!.+?\\..+?).*?)");
return new RegExp(urlReg);
});
}
function execOnce(fn) {
var used = false;
var result;
return function() {
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
args[_key] = arguments[_key];
}
if (!used) {
used = true;
result = fn.apply(void 0, _to_consumable_array(args));
}
return result;
};
}

25
node_modules/@next/eslint-plugin-next/package.json generated vendored Normal file
View File

@@ -0,0 +1,25 @@
{
"name": "@next/eslint-plugin-next",
"version": "13.5.1",
"description": "ESLint plugin for NextJS.",
"main": "dist/index.js",
"license": "MIT",
"repository": {
"url": "vercel/next.js",
"directory": "packages/eslint-plugin-next"
},
"files": [
"dist"
],
"dependencies": {
"glob": "7.1.7"
},
"devDependencies": {
"@types/glob": "7.1.1",
"eslint": "7.24.0"
},
"scripts": {
"build": "swc -d dist src",
"prepublishOnly": "cd ../../ && turbo run build"
}
}

3
node_modules/@next/swc-darwin-arm64/README.md generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# `@next/swc-darwin-arm64`
This is the **aarch64-apple-darwin** binary for `@next/swc`

Binary file not shown.

23
node_modules/@next/swc-darwin-arm64/package.json generated vendored Normal file
View File

@@ -0,0 +1,23 @@
{
"name": "@next/swc-darwin-arm64",
"version": "13.5.1",
"repository": {
"type": "git",
"url": "https://github.com/vercel/next.js",
"directory": "packages/next-swc/crates/napi/npm/darwin-arm64"
},
"os": [
"darwin"
],
"cpu": [
"arm64"
],
"main": "next-swc.darwin-arm64.node",
"files": [
"next-swc.darwin-arm64.node"
],
"license": "MIT",
"engines": {
"node": ">= 10"
}
}

3
node_modules/@next/swc-wasm-nodejs/README.md generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# `@next/swc-wasm`
This is the **wasm** binary for `@next/swc`

16
node_modules/@next/swc-wasm-nodejs/package.json generated vendored Normal file
View File

@@ -0,0 +1,16 @@
{
"name": "@next/swc-wasm-nodejs",
"version": "13.5.1",
"files": [
"wasm_bg.wasm",
"wasm.js",
"wasm.d.ts"
],
"main": "wasm.js",
"types": "wasm.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/vercel/next.js",
"directory": "packages/next-swc/crates/wasm"
}
}

56
node_modules/@next/swc-wasm-nodejs/wasm.d.ts generated vendored Normal file
View File

@@ -0,0 +1,56 @@
/* tslint:disable */
/* eslint-disable */
/**
* @param {string} query
* @param {any} opts
* @returns {any}
*/
export function browserslist(query: string, opts: any): any;
/**
* @param {string} value
* @param {any} opts
* @returns {any}
*/
export function mdxCompileSync(value: string, opts: any): any;
/**
* @param {string} value
* @param {any} opts
* @returns {Promise<any>}
*/
export function mdxCompile(value: string, opts: any): Promise<any>;
/**
* @param {string} s
* @param {any} opts
* @returns {any}
*/
export function minifySync(s: string, opts: any): any;
/**
* @param {string} s
* @param {any} opts
* @returns {Promise<any>}
*/
export function minify(s: string, opts: any): Promise<any>;
/**
* @param {any} s
* @param {any} opts
* @returns {any}
*/
export function transformSync(s: any, opts: any): any;
/**
* @param {any} s
* @param {any} opts
* @returns {Promise<any>}
*/
export function transform(s: any, opts: any): Promise<any>;
/**
* @param {string} s
* @param {any} opts
* @returns {any}
*/
export function parseSync(s: string, opts: any): any;
/**
* @param {string} s
* @param {any} opts
* @returns {Promise<any>}
*/
export function parse(s: string, opts: any): Promise<any>;

816
node_modules/@next/swc-wasm-nodejs/wasm.js generated vendored Normal file
View File

@@ -0,0 +1,816 @@
let imports = {};
imports['__wbindgen_placeholder__'] = module.exports;
let wasm;
const { TextDecoder, TextEncoder } = require(`util`);
const heap = new Array(128).fill(undefined);
heap.push(undefined, null, true, false);
function getObject(idx) { return heap[idx]; }
let heap_next = heap.length;
function dropObject(idx) {
if (idx < 132) return;
heap[idx] = heap_next;
heap_next = idx;
}
function takeObject(idx) {
const ret = getObject(idx);
dropObject(idx);
return ret;
}
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
cachedTextDecoder.decode();
let cachedUint8Memory0 = null;
function getUint8Memory0() {
if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
}
return cachedUint8Memory0;
}
function getStringFromWasm0(ptr, len) {
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
}
function addHeapObject(obj) {
if (heap_next === heap.length) heap.push(heap.length + 1);
const idx = heap_next;
heap_next = heap[idx];
heap[idx] = obj;
return idx;
}
let WASM_VECTOR_LEN = 0;
let cachedTextEncoder = new TextEncoder('utf-8');
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});
function passStringToWasm0(arg, malloc, realloc) {
if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length);
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}
let len = arg.length;
let ptr = malloc(len);
const mem = getUint8Memory0();
let offset = 0;
for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}
if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3);
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);
offset += ret.written;
}
WASM_VECTOR_LEN = offset;
return ptr;
}
function isLikeNone(x) {
return x === undefined || x === null;
}
let cachedInt32Memory0 = null;
function getInt32Memory0() {
if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
}
return cachedInt32Memory0;
}
function debugString(val) {
// primitive types
const type = typeof val;
if (type == 'number' || type == 'boolean' || val == null) {
return `${val}`;
}
if (type == 'string') {
return `"${val}"`;
}
if (type == 'symbol') {
const description = val.description;
if (description == null) {
return 'Symbol';
} else {
return `Symbol(${description})`;
}
}
if (type == 'function') {
const name = val.name;
if (typeof name == 'string' && name.length > 0) {
return `Function(${name})`;
} else {
return 'Function';
}
}
// objects
if (Array.isArray(val)) {
const length = val.length;
let debug = '[';
if (length > 0) {
debug += debugString(val[0]);
}
for(let i = 1; i < length; i++) {
debug += ', ' + debugString(val[i]);
}
debug += ']';
return debug;
}
// Test for built-in
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
let className;
if (builtInMatches.length > 1) {
className = builtInMatches[1];
} else {
// Failed to match the standard '[object ClassName]'
return toString.call(val);
}
if (className == 'Object') {
// we're a user defined class or Object
// JSON.stringify avoids problems with cycles, and is generally much
// easier than looping through ownProperties of `val`.
try {
return 'Object(' + JSON.stringify(val) + ')';
} catch (_) {
return 'Object';
}
}
// errors
if (val instanceof Error) {
return `${val.name}: ${val.message}\n${val.stack}`;
}
// TODO we could test for more things here, like `Set`s and `Map`s.
return className;
}
let cachedFloat64Memory0 = null;
function getFloat64Memory0() {
if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) {
cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer);
}
return cachedFloat64Memory0;
}
let cachedBigInt64Memory0 = null;
function getBigInt64Memory0() {
if (cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0) {
cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer);
}
return cachedBigInt64Memory0;
}
function makeMutClosure(arg0, arg1, dtor, f) {
const state = { a: arg0, b: arg1, cnt: 1, dtor };
const real = (...args) => {
// First up with a closure we increment the internal reference
// count. This ensures that the Rust closure environment won't
// be deallocated while we're invoking it.
state.cnt++;
const a = state.a;
state.a = 0;
try {
return f(a, state.b, ...args);
} finally {
if (--state.cnt === 0) {
wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
} else {
state.a = a;
}
}
};
real.original = state;
return real;
}
function __wbg_adapter_48(arg0, arg1, arg2) {
wasm.wasm_bindgen_73cd18f45dc52fc7___convert__closures__invoke1_mut___wasm_bindgen_73cd18f45dc52fc7___JsValue_____(arg0, arg1, addHeapObject(arg2));
}
/**
* @param {string} query
* @param {any} opts
* @returns {any}
*/
module.exports.browserslist = function(query, opts) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len0 = WASM_VECTOR_LEN;
wasm.browserslist(retptr, ptr0, len0, addHeapObject(opts));
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var r2 = getInt32Memory0()[retptr / 4 + 2];
if (r2) {
throw takeObject(r1);
}
return takeObject(r0);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
};
function getCachedStringFromWasm0(ptr, len) {
if (ptr === 0) {
return getObject(len);
} else {
return getStringFromWasm0(ptr, len);
}
}
function handleError(f, args) {
try {
return f.apply(this, args);
} catch (e) {
wasm.__wbindgen_exn_store(addHeapObject(e));
}
}
function __wbg_adapter_114(arg0, arg1, arg2, arg3) {
wasm.wasm_bindgen_73cd18f45dc52fc7___convert__closures__invoke2_mut___wasm_bindgen_73cd18f45dc52fc7___JsValue__wasm_bindgen_73cd18f45dc52fc7___JsValue_____(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
}
/**
* @param {string} value
* @param {any} opts
* @returns {any}
*/
module.exports.mdxCompileSync = function(value, opts) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.mdxCompileSync(retptr, addHeapObject(value), addHeapObject(opts));
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var r2 = getInt32Memory0()[retptr / 4 + 2];
if (r2) {
throw takeObject(r1);
}
return takeObject(r0);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
};
/**
* @param {string} value
* @param {any} opts
* @returns {Promise<any>}
*/
module.exports.mdxCompile = function(value, opts) {
const ret = wasm.mdxCompile(addHeapObject(value), addHeapObject(opts));
return takeObject(ret);
};
/**
* @param {string} s
* @param {any} opts
* @returns {any}
*/
module.exports.minifySync = function(s, opts) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.minifySync(retptr, addHeapObject(s), addHeapObject(opts));
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var r2 = getInt32Memory0()[retptr / 4 + 2];
if (r2) {
throw takeObject(r1);
}
return takeObject(r0);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
};
/**
* @param {string} s
* @param {any} opts
* @returns {Promise<any>}
*/
module.exports.minify = function(s, opts) {
const ret = wasm.minify(addHeapObject(s), addHeapObject(opts));
return takeObject(ret);
};
/**
* @param {any} s
* @param {any} opts
* @returns {any}
*/
module.exports.transformSync = function(s, opts) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.transformSync(retptr, addHeapObject(s), addHeapObject(opts));
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var r2 = getInt32Memory0()[retptr / 4 + 2];
if (r2) {
throw takeObject(r1);
}
return takeObject(r0);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
};
/**
* @param {any} s
* @param {any} opts
* @returns {Promise<any>}
*/
module.exports.transform = function(s, opts) {
const ret = wasm.transform(addHeapObject(s), addHeapObject(opts));
return takeObject(ret);
};
/**
* @param {string} s
* @param {any} opts
* @returns {any}
*/
module.exports.parseSync = function(s, opts) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.parseSync(retptr, addHeapObject(s), addHeapObject(opts));
var r0 = getInt32Memory0()[retptr / 4 + 0];
var r1 = getInt32Memory0()[retptr / 4 + 1];
var r2 = getInt32Memory0()[retptr / 4 + 2];
if (r2) {
throw takeObject(r1);
}
return takeObject(r0);
} finally {
wasm.__wbindgen_add_to_stack_pointer(16);
}
};
/**
* @param {string} s
* @param {any} opts
* @returns {Promise<any>}
*/
module.exports.parse = function(s, opts) {
const ret = wasm.parse(addHeapObject(s), addHeapObject(opts));
return takeObject(ret);
};
module.exports.__wbg_get_27fe3dac1c4d0224 = function(arg0, arg1) {
const ret = getObject(arg0)[arg1 >>> 0];
return addHeapObject(ret);
};
module.exports.__wbindgen_object_drop_ref = function(arg0) {
takeObject(arg0);
};
module.exports.__wbg_next_88560ec06a094dea = function() { return handleError(function (arg0) {
const ret = getObject(arg0).next();
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_done_1ebec03bbd919843 = function(arg0) {
const ret = getObject(arg0).done;
return ret;
};
module.exports.__wbg_value_6ac8da5cc5b3efda = function(arg0) {
const ret = getObject(arg0).value;
return addHeapObject(ret);
};
module.exports.__wbg_new0_25059e40b1c02766 = function() {
const ret = new Date();
return addHeapObject(ret);
};
module.exports.__wbindgen_string_new = function(arg0, arg1) {
const ret = getStringFromWasm0(arg0, arg1);
return addHeapObject(ret);
};
module.exports.__wbg_get_baf4855f9a986186 = function() { return handleError(function (arg0, arg1) {
const ret = Reflect.get(getObject(arg0), getObject(arg1));
return addHeapObject(ret);
}, arguments) };
module.exports.__wbindgen_string_get = function(arg0, arg1) {
const obj = getObject(arg1);
const ret = typeof(obj) === 'string' ? obj : undefined;
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
module.exports.__wbindgen_number_new = function(arg0) {
const ret = arg0;
return addHeapObject(ret);
};
module.exports.__wbg_new_f127e324c1313064 = function(arg0) {
const ret = new Date(getObject(arg0));
return addHeapObject(ret);
};
module.exports.__wbg_getTimezoneOffset_2a6b27fb18493a56 = function(arg0) {
const ret = getObject(arg0).getTimezoneOffset();
return ret;
};
module.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) {
const ret = getObject(arg0) == getObject(arg1);
return ret;
};
module.exports.__wbindgen_is_object = function(arg0) {
const val = getObject(arg0);
const ret = typeof(val) === 'object' && val !== null;
return ret;
};
module.exports.__wbindgen_boolean_get = function(arg0) {
const v = getObject(arg0);
const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
return ret;
};
module.exports.__wbg_new_b525de17f44a8943 = function() {
const ret = new Array();
return addHeapObject(ret);
};
module.exports.__wbg_set_17224bc548dd1d7b = function(arg0, arg1, arg2) {
getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
};
module.exports.__wbg_getwithrefkey_15c62c2b8546208d = function(arg0, arg1) {
const ret = getObject(arg0)[getObject(arg1)];
return addHeapObject(ret);
};
module.exports.__wbindgen_is_undefined = function(arg0) {
const ret = getObject(arg0) === undefined;
return ret;
};
module.exports.__wbindgen_in = function(arg0, arg1) {
const ret = getObject(arg0) in getObject(arg1);
return ret;
};
module.exports.__wbg_getTime_7c59072d1651a3cf = function(arg0) {
const ret = getObject(arg0).getTime();
return ret;
};
module.exports.__wbg_new_abda76e883ba8a5f = function() {
const ret = new Error();
return addHeapObject(ret);
};
module.exports.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {
const ret = getObject(arg1).stack;
const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
module.exports.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
var v0 = getCachedStringFromWasm0(arg0, arg1);
if (arg0 !== 0) { wasm.__wbindgen_free(arg0, arg1); }
console.error(v0);
};
module.exports.__wbindgen_memory = function() {
const ret = wasm.memory;
return addHeapObject(ret);
};
module.exports.__wbg_buffer_cf65c07de34b9a08 = function(arg0) {
const ret = getObject(arg0).buffer;
return addHeapObject(ret);
};
module.exports.__wbg_newwithbyteoffsetandlength_9fb2f11355ecadf5 = function(arg0, arg1, arg2) {
const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
return addHeapObject(ret);
};
module.exports.__wbg_randomFillSync_dc1e9a60c158336d = function() { return handleError(function (arg0, arg1) {
getObject(arg0).randomFillSync(takeObject(arg1));
}, arguments) };
module.exports.__wbg_subarray_7526649b91a252a6 = function(arg0, arg1, arg2) {
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
return addHeapObject(ret);
};
module.exports.__wbg_getRandomValues_37fa2ca9e4e07fab = function() { return handleError(function (arg0, arg1) {
getObject(arg0).getRandomValues(getObject(arg1));
}, arguments) };
module.exports.__wbg_new_537b7341ce90bb31 = function(arg0) {
const ret = new Uint8Array(getObject(arg0));
return addHeapObject(ret);
};
module.exports.__wbg_set_17499e8aa4003ebd = function(arg0, arg1, arg2) {
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
};
module.exports.__wbg_crypto_c48a774b022d20ac = function(arg0) {
const ret = getObject(arg0).crypto;
return addHeapObject(ret);
};
module.exports.__wbg_process_298734cf255a885d = function(arg0) {
const ret = getObject(arg0).process;
return addHeapObject(ret);
};
module.exports.__wbg_versions_e2e78e134e3e5d01 = function(arg0) {
const ret = getObject(arg0).versions;
return addHeapObject(ret);
};
module.exports.__wbg_node_1cd7a5d853dbea79 = function(arg0) {
const ret = getObject(arg0).node;
return addHeapObject(ret);
};
module.exports.__wbindgen_is_string = function(arg0) {
const ret = typeof(getObject(arg0)) === 'string';
return ret;
};
module.exports.__wbg_msCrypto_bcb970640f50a1e8 = function(arg0) {
const ret = getObject(arg0).msCrypto;
return addHeapObject(ret);
};
module.exports.__wbg_newwithlength_b56c882b57805732 = function(arg0) {
const ret = new Uint8Array(arg0 >>> 0);
return addHeapObject(ret);
};
module.exports.__wbg_require_8f08ceecec0f4fee = function() { return handleError(function () {
const ret = module.require;
return addHeapObject(ret);
}, arguments) };
module.exports.__wbindgen_is_function = function(arg0) {
const ret = typeof(getObject(arg0)) === 'function';
return ret;
};
module.exports.__wbg_call_9495de66fdbe016b = function() { return handleError(function (arg0, arg1, arg2) {
const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_iterator_55f114446221aa5a = function() {
const ret = Symbol.iterator;
return addHeapObject(ret);
};
module.exports.__wbg_call_95d1ea488d03e4e8 = function() { return handleError(function (arg0, arg1) {
const ret = getObject(arg0).call(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_next_b7d530c04fd8b217 = function(arg0) {
const ret = getObject(arg0).next;
return addHeapObject(ret);
};
module.exports.__wbg_self_e7c1f827057f6584 = function() { return handleError(function () {
const ret = self.self;
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_window_a09ec664e14b1b81 = function() { return handleError(function () {
const ret = window.window;
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_globalThis_87cbb8506fecf3a9 = function() { return handleError(function () {
const ret = globalThis.globalThis;
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_global_c85a9259e621f3db = function() { return handleError(function () {
const ret = global.global;
return addHeapObject(ret);
}, arguments) };
module.exports.__wbg_newnoargs_2b8b6bd7753c76ba = function(arg0, arg1) {
var v0 = getCachedStringFromWasm0(arg0, arg1);
const ret = new Function(v0);
return addHeapObject(ret);
};
module.exports.__wbindgen_object_clone_ref = function(arg0) {
const ret = getObject(arg0);
return addHeapObject(ret);
};
module.exports.__wbg_length_27a2afe8ab42b09f = function(arg0) {
const ret = getObject(arg0).length;
return ret;
};
module.exports.__wbindgen_debug_string = function(arg0, arg1) {
const ret = debugString(getObject(arg1));
const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
const len0 = WASM_VECTOR_LEN;
getInt32Memory0()[arg0 / 4 + 1] = len0;
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
};
module.exports.__wbindgen_error_new = function(arg0, arg1) {
const ret = new Error(getStringFromWasm0(arg0, arg1));
return addHeapObject(ret);
};
module.exports.__wbg_entries_4e1315b774245952 = function(arg0) {
const ret = Object.entries(getObject(arg0));
return addHeapObject(ret);
};
module.exports.__wbindgen_number_get = function(arg0, arg1) {
const obj = getObject(arg1);
const ret = typeof(obj) === 'number' ? obj : undefined;
getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret;
getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
};
module.exports.__wbg_instanceof_Uint8Array_01cebe79ca606cca = function(arg0) {
let result;
try {
result = getObject(arg0) instanceof Uint8Array;
} catch {
result = false;
}
const ret = result;
return ret;
};
module.exports.__wbg_instanceof_ArrayBuffer_a69f02ee4c4f5065 = function(arg0) {
let result;
try {
result = getObject(arg0) instanceof ArrayBuffer;
} catch {
result = false;
}
const ret = result;
return ret;
};
module.exports.__wbg_isArray_39d28997bf6b96b4 = function(arg0) {
const ret = Array.isArray(getObject(arg0));
return ret;
};
module.exports.__wbg_length_e498fbc24f9c1d4f = function(arg0) {
const ret = getObject(arg0).length;
return ret;
};
module.exports.__wbindgen_is_bigint = function(arg0) {
const ret = typeof(getObject(arg0)) === 'bigint';
return ret;
};
module.exports.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) {
const v = getObject(arg1);
const ret = typeof(v) === 'bigint' ? v : undefined;
getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret;
getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
};
module.exports.__wbindgen_bigint_from_i64 = function(arg0) {
const ret = arg0;
return addHeapObject(ret);
};
module.exports.__wbindgen_jsval_eq = function(arg0, arg1) {
const ret = getObject(arg0) === getObject(arg1);
return ret;
};
module.exports.__wbindgen_bigint_from_u64 = function(arg0) {
const ret = BigInt.asUintN(64, arg0);
return addHeapObject(ret);
};
module.exports.__wbg_isSafeInteger_8c4789029e885159 = function(arg0) {
const ret = Number.isSafeInteger(getObject(arg0));
return ret;
};
module.exports.__wbg_new_f9876326328f45ed = function() {
const ret = new Object();
return addHeapObject(ret);
};
module.exports.__wbg_set_20cbc34131e76824 = function(arg0, arg1, arg2) {
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
};
module.exports.__wbg_new_9d3a9ce4282a18a8 = function(arg0, arg1) {
try {
var state0 = {a: arg0, b: arg1};
var cb0 = (arg0, arg1) => {
const a = state0.a;
state0.a = 0;
try {
return __wbg_adapter_114(a, state0.b, arg0, arg1);
} finally {
state0.a = a;
}
};
const ret = new Promise(cb0);
return addHeapObject(ret);
} finally {
state0.a = state0.b = 0;
}
};
module.exports.__wbindgen_throw = function(arg0, arg1) {
throw new Error(getStringFromWasm0(arg0, arg1));
};
module.exports.__wbg_resolve_fd40f858d9db1a04 = function(arg0) {
const ret = Promise.resolve(getObject(arg0));
return addHeapObject(ret);
};
module.exports.__wbindgen_cb_drop = function(arg0) {
const obj = takeObject(arg0).original;
if (obj.cnt-- == 1) {
obj.a = 0;
return true;
}
const ret = false;
return ret;
};
module.exports.__wbg_then_ec5db6d509eb475f = function(arg0, arg1) {
const ret = getObject(arg0).then(getObject(arg1));
return addHeapObject(ret);
};
module.exports.__wbindgen_closure_wrapper22059 = function(arg0, arg1, arg2) {
const ret = makeMutClosure(arg0, arg1, 283, __wbg_adapter_48);
return addHeapObject(ret);
};
const path = require('path').join(__dirname, 'wasm_bg.wasm');
const bytes = require('fs').readFileSync(path);
const wasmModule = new WebAssembly.Module(bytes);
const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
wasm = wasmInstance.exports;
module.exports.__wasm = wasm;

BIN
node_modules/@next/swc-wasm-nodejs/wasm_bg.wasm generated vendored Normal file

Binary file not shown.