Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": false,
"jsxSingleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"bracketSameLine": false,
"arrowParens": "always",
"endOfLine": "lf",
"quoteProps": "as-needed",
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"embeddedLanguageFormatting": "auto",
"insertFinalNewline": true,
"sortPackageJson": false,
"ignorePatterns": [
"pnpm-lock.yaml",
"README.md",
"**/*.json",
"docs/",
".github/",
"dist/",
"node_modules/",
"lib/dom/build/",
"lib/v3/dom/build/",
"packages/core/dist/",
"packages/core/lib/dom/build/",
"packages/core/lib/v3/dom/build/",
"packages/cli/dist/",
"packages/evals/dist/",
"packages/docs/",
"*.min.js",
".browserbase/",
".browserbase/**",
"**/.browserbase/",
"**/.browserbase/**",
"stainless.yml",
"openapi.*.yaml"
]
}
191 changes: 191 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript"],
"jsPlugins": [
"eslint-plugin-security",
{ "name": "eslint-js", "specifier": "oxlint-plugin-eslint" }
],
"categories": {
"correctness": "off"
},
"env": {
"browser": true
},
"ignorePatterns": [
"**/dist/**",
"**/node_modules/**",
"packages/core/lib/dom/build/**",
"packages/core/lib/v3/dom/build/**",
"packages/core/lib/v4/dom/build/**",
"packages/core/scripts/prepare.js",
"**/*.config.js",
"**/*.config.mjs",
".browserbase/**",
"**/.browserbase/**",
"**/*.json",
"stainless.yml",
"packages/server-v3/openapi.v3.yaml",
"packages/server-v4/openapi.v4.yaml"
],
"rules": {
"constructor-super": "error",
"for-direction": "error",
"getter-return": "error",
"no-async-promise-executor": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": "error",
"no-const-assign": "error",
"no-constant-binary-expression": "error",
"no-constant-condition": "error",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-dupe-class-members": "error",
"no-dupe-else-if": "error",
"no-dupe-keys": "error",
"no-duplicate-case": "error",
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-pattern": "error",
"no-empty-static-block": "error",
"no-ex-assign": "error",
"no-extra-boolean-cast": "error",
"no-fallthrough": "error",
"no-func-assign": "error",
"no-global-assign": "error",
"no-import-assign": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-loss-of-precision": "error",
"no-misleading-character-class": "error",
"no-new-native-nonconstructor": "error",
"no-nonoctal-decimal-escape": "error",
"no-obj-calls": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-self-assign": "error",
"no-setter-return": "error",
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-this-before-super": "error",
"no-unassigned-vars": "error",
"no-undef": "error",
"no-unexpected-multiline": "error",
"no-unreachable": "error",
"no-unsafe-finally": "error",
"no-unsafe-negation": "error",
"no-unsafe-optional-chaining": "error",
"no-unused-labels": "error",
"no-unused-private-class-members": "error",
"no-unused-vars": "off",
"no-useless-assignment": "error",
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-escape": "error",
"no-with": "error",
"preserve-caught-error": "error",
"require-yield": "error",
"use-isnan": "error",
"valid-typeof": "error",
"no-array-constructor": "off",
"no-unused-expressions": "off",
"no-eval": "error",
"no-implied-eval": "error",
"no-new-func": "error",
"security/detect-eval-with-expression": "error",
"typescript/no-array-constructor": "error",
"typescript/no-unused-expressions": "error",
"typescript/no-unused-vars": "error",
"typescript/ban-ts-comment": "error",
"typescript/no-duplicate-enum-values": "error",
"typescript/no-empty-object-type": "error",
"typescript/no-explicit-any": "error",
"typescript/no-extra-non-null-assertion": "error",
"typescript/no-misused-new": "error",
"typescript/no-namespace": "error",
"typescript/no-non-null-asserted-optional-chain": "error",
"typescript/no-require-imports": "error",
"typescript/no-this-alias": "error",
"typescript/no-unnecessary-type-constraint": "error",
"typescript/no-unsafe-declaration-merging": "error",
"typescript/no-unsafe-function-type": "error",
"typescript/no-wrapper-object-types": "error",
"typescript/prefer-as-const": "error",
"typescript/prefer-namespace-keyword": "error",
"typescript/triple-slash-reference": "error",
"eslint-js/no-restricted-syntax": [
"error",
{
"selector": "CallExpression[callee.name='Function']",
"message": "Dynamic function construction is prohibited."
},
{
"selector": "NewExpression[callee.name='Function']",
"message": "Dynamic function construction is prohibited."
},
{
"selector": "CallExpression[callee.object.name='window'][callee.property.name='Function']",
"message": "Dynamic function construction via window.Function is prohibited."
},
{
"selector": "CallExpression[callee.object.name='globalThis'][callee.property.name='Function']",
"message": "Dynamic function construction via globalThis.Function is prohibited."
}
]
},
"overrides": [
{
"files": [
"packages/core/scripts/**/*.{js,cjs,mjs}",
"packages/server-v3/scripts/**/*.{js,cjs,mjs,ts}",
"packages/server-v4/scripts/**/*.{js,cjs,mjs,ts}",
"packages/cli/**/*.{js,cjs,mjs,ts}"
],
"env": {
"node": true,
"browser": false
}
},
{
"files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
"rules": {
"constructor-super": "off",
"getter-return": "off",
"no-class-assign": "off",
"no-const-assign": "off",
"no-dupe-class-members": "off",
"no-dupe-keys": "off",
"no-func-assign": "off",
"no-import-assign": "off",
"no-new-native-nonconstructor": "off",
"no-obj-calls": "off",
"no-redeclare": "off",
"no-setter-return": "off",
"no-this-before-super": "off",
"no-undef": "off",
"no-unreachable": "off",
"no-unsafe-negation": "off",
"no-unsafe-optional-chaining": "off",
"no-var": "error",
"no-with": "off",
"prefer-const": "error",
"prefer-rest-params": "error",
"prefer-spread": "error"
}
},
{
"files": ["packages/cli/**/*.{js,cjs,mjs,ts}"],
"rules": {
"no-empty": [
"error",
{
"allowEmptyCatch": true
}
]
}
}
]
}
22 changes: 0 additions & 22 deletions .prettierignore

This file was deleted.

1 change: 0 additions & 1 deletion .prettierrc

This file was deleted.

3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["oxc.oxc-vscode"]
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "oxc.oxc-vscode",
"editor.formatOnSave": true
}
2 changes: 0 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,15 +254,13 @@ Check the [migration guide](https://docs.stagehand.dev/v3/migrations/v2) for mor
We're thrilled to announce the release of Stagehand 2.0, bringing significant improvements to make browser automation more powerful, faster, and easier to use than ever before.

### 🚀 New Features

- **Introducing `stagehand.agent`**: A powerful new way to integrate SOTA Computer use models or Browserbase's [Open Operator](https://operator.browserbase.com) into Stagehand with one line of code! Perfect for multi-step workflows and complex interactions. [Learn more](https://docs.stagehand.dev/concepts/agent)
- **Lightning-fast `act` and `extract`**: Major performance improvements to make your automations run significantly faster.
- **Enhanced Logging**: Better visibility into what's happening during automation with improved logging and debugging capabilities.
- **Comprehensive Documentation**: A completely revamped documentation site with better examples, guides, and best practices.
- **Improved Error Handling**: More descriptive errors and better error recovery to help you debug issues faster.

### 🛠️ Developer Experience

- **Better TypeScript Support**: Enhanced type definitions and better IDE integration
- **Better Error Messages**: Clearer, more actionable error messages to help you debug faster
- **Improved Caching**: More reliable action caching for better performance
Expand Down
86 changes: 0 additions & 86 deletions eslint.config.mjs

This file was deleted.

Loading
Loading