Skip to content
This repository has been archived by the owner on Mar 11, 2024. It is now read-only.

Sample/website #25

Open
wants to merge 3 commits into
base: new-site
Choose a base branch
from
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
15 changes: 15 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
test/assets/modernizr.js
third_party/*
utils/browser/puppeteer-web.js
utils/doclint/check_public_api/test/
node6/*
node6-test/*
experimental/
lib/
/index.d.ts
# We ignore this file because it uses ES imports which we don't yet use
# in the Puppeteer src, so it trips up the ESLint-TypeScript parser.
utils/doclint/generate_types/test/test.ts
vendor/
web-test-runner.config.mjs
test-ts-types/
185 changes: 185 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
module.exports = {
root: true,
env: {
node: true,
es6: true,
},

parser: '@typescript-eslint/parser',

plugins: ['mocha', '@typescript-eslint', 'unicorn', 'import'],

extends: ['plugin:prettier/recommended'],

rules: {
// Error if files are not formatted with Prettier correctly.
'prettier/prettier': 2,
// syntax preferences
quotes: [
2,
'single',
{
avoidEscape: true,
allowTemplateLiterals: true,
},
],
'spaced-comment': [
2,
'always',
{
markers: ['*'],
},
],
eqeqeq: [2],
'accessor-pairs': [
2,
{
getWithoutSet: false,
setWithoutGet: false,
},
],
'new-parens': 2,
'func-call-spacing': 2,
'prefer-const': 2,

'max-len': [
2,
{
/* this setting doesn't impact things as we use Prettier to format
* our code and hence dictate the line length.
* Prettier aims for 80 but sometimes makes the decision to go just
* over 80 chars as it decides that's better than wrapping. ESLint's
* rule defaults to 80 but therefore conflicts with Prettier. So we
* set it to something far higher than Prettier would allow to avoid
* it causing issues and conflicting with Prettier.
*/
code: 200,
comments: 90,
ignoreTemplateLiterals: true,
ignoreUrls: true,
ignoreStrings: true,
ignoreRegExpLiterals: true,
},
],
// anti-patterns
'no-var': 2,
'no-with': 2,
'no-multi-str': 2,
'no-caller': 2,
'no-implied-eval': 2,
'no-labels': 2,
'no-new-object': 2,
'no-octal-escape': 2,
'no-self-compare': 2,
'no-shadow-restricted-names': 2,
'no-cond-assign': 2,
'no-debugger': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty-character-class': 2,
'no-unreachable': 2,
'no-unsafe-negation': 2,
radix: 2,
'valid-typeof': 2,
'no-unused-vars': [
2,
{
args: 'none',
vars: 'local',
varsIgnorePattern:
'([fx]?describe|[fx]?it|beforeAll|beforeEach|afterAll|afterEach)',
},
],
'no-implicit-globals': [2],

// es2015 features
'require-yield': 2,
'template-curly-spacing': [2, 'never'],

// ensure we don't have any it.only or describe.only in prod
'mocha/no-exclusive-tests': 'error',

// enforce the variable in a catch block is named error
'unicorn/catch-error-name': 'error',

'no-restricted-imports': [
'error',
{
patterns: ['*Events'],
paths: [
{
name: 'mitt',
message:
'Import Mitt from the vendored location: vendor/mitt/src/index.js',
},
],
},
],
'import/extensions': ['error', 'ignorePackages'],
},
overrides: [
{
files: ['*.ts'],
extends: [
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
],
rules: {
'no-unused-vars': 0,
'@typescript-eslint/no-unused-vars': 2,
'func-call-spacing': 0,
'@typescript-eslint/func-call-spacing': 2,
semi: 0,
'@typescript-eslint/semi': 2,
'@typescript-eslint/no-empty-function': 0,
'@typescript-eslint/no-use-before-define': 0,
// We have to use any on some types so the warning isn't valuable.
'@typescript-eslint/no-explicit-any': 0,
// We don't require explicit return types on basic functions or
// dummy functions in tests, for example
'@typescript-eslint/explicit-function-return-type': 0,
// We know it's bad and use it very sparingly but it's needed :(
'@typescript-eslint/ban-ts-ignore': 0,
/**
* This is the default options (as per
* https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/ban-types.md),
*
* Unfortunately there's no way to
*/
'@typescript-eslint/ban-types': [
'error',
{
extendDefaults: true,
types: {
/*
* Puppeteer's API accepts generic functions in many places so it's
* not a useful linting rule to ban the `Function` type. This turns off
* the banning of the `Function` type which is a default rule.
*/
Function: false,
},
},
],
'@typescript-eslint/array-type': [
2,
{
default: 'array-simple',
},
],
// By default this is a warning but we want it to error.
'@typescript-eslint/explicit-module-boundary-types': 2,
},
},
{
files: ['test-browser/**/*.js'],
parserOptions: {
sourceType: 'module',
},
env: {
es6: true,
browser: true,
es2020: true,
},
},
],
};
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Declare files that will always have LF line endings on checkout.
*.txt eol=lf
13 changes: 11 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
/node_modules/
/test/output
test-ts-types/**/node_modules
test-ts-types/**/dist/
/test/output-chromium
/test/output-firefox
/test/test-user-data-dir*
/.local-chromium/
/.local-firefox/
/.dev_profile*
.DS_Store
*.swp
Expand All @@ -10,4 +14,9 @@
package-lock.json
yarn.lock
/node6
/lib/protocol.d.ts
/utils/browser/puppeteer-web.js
/lib
test/coverage.json
temp/
new-docs/
puppeteer.tgz
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
access=public
8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
node_modules/
lib/
third_party/
vendor/

package-lock.json
yarn.lock
package.json
26 changes: 26 additions & 0 deletions .versionrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* Copyright 2020 Google Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

module.exports = {
releaseCommitMessageFormat: 'chore(release): mark v{{currentTag}}',
skip: {
tag: true,
},
scripts: {
prerelease: 'node utils/remove_version_suffix.js',
postbump: 'IS_RELEASE=true npm run doc && git add --update',
},
};
Loading