fix(core): update
This commit is contained in:
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -15,8 +15,6 @@ node_modules/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# builds
 | 
					# builds
 | 
				
			||||||
dist/
 | 
					dist/
 | 
				
			||||||
dist_web/
 | 
					dist_*/
 | 
				
			||||||
dist_serve/
 | 
					 | 
				
			||||||
dist_ts_web/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# custom
 | 
					# custom
 | 
				
			||||||
@@ -19,22 +19,35 @@ mirror:
 | 
				
			|||||||
  stage: security
 | 
					  stage: security
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci git mirror
 | 
					    - npmci git mirror
 | 
				
			||||||
 | 
					  only:
 | 
				
			||||||
 | 
					    - tags
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					    - lossless
 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					    - notpriv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snyk:
 | 
					auditProductionDependencies:
 | 
				
			||||||
 | 
					  image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
 | 
				
			||||||
  stage: security
 | 
					  stage: security
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci npm prepare
 | 
					    - npmci npm prepare
 | 
				
			||||||
    - npmci command npm install -g snyk
 | 
					    - npmci command npm install --production --ignore-scripts
 | 
				
			||||||
    - npmci command npm install --ignore-scripts
 | 
					    - npmci command npm config set registry https://registry.npmjs.org
 | 
				
			||||||
    - npmci command snyk test
 | 
					    - npmci command npm audit --audit-level=high --only=prod --production
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					
 | 
				
			||||||
 | 
					auditDevDependencies:
 | 
				
			||||||
 | 
					  image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
 | 
				
			||||||
 | 
					  stage: security
 | 
				
			||||||
 | 
					  script:
 | 
				
			||||||
 | 
					    - npmci npm prepare
 | 
				
			||||||
 | 
					    - npmci command npm install --ignore-scripts
 | 
				
			||||||
 | 
					    - npmci command npm config set registry https://registry.npmjs.org
 | 
				
			||||||
 | 
					    - npmci command npm audit --audit-level=high --only=dev
 | 
				
			||||||
 | 
					  tags:
 | 
				
			||||||
 | 
					    - docker
 | 
				
			||||||
 | 
					  allow_failure: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ====================
 | 
					# ====================
 | 
				
			||||||
# test stage
 | 
					# test stage
 | 
				
			||||||
@@ -49,9 +62,7 @@ testStable:
 | 
				
			|||||||
    - npmci npm test
 | 
					    - npmci npm test
 | 
				
			||||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
					  coverage: /\d+.?\d+?\%\s*coverage/
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - priv
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
testBuild:
 | 
					testBuild:
 | 
				
			||||||
  stage: test
 | 
					  stage: test
 | 
				
			||||||
@@ -62,9 +73,7 @@ testBuild:
 | 
				
			|||||||
    - npmci command npm run build
 | 
					    - npmci command npm run build
 | 
				
			||||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
					  coverage: /\d+.?\d+?\%\s*coverage/
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
release:
 | 
					release:
 | 
				
			||||||
  stage: release
 | 
					  stage: release
 | 
				
			||||||
@@ -84,6 +93,8 @@ release:
 | 
				
			|||||||
codequality:
 | 
					codequality:
 | 
				
			||||||
  stage: metadata
 | 
					  stage: metadata
 | 
				
			||||||
  allow_failure: true
 | 
					  allow_failure: true
 | 
				
			||||||
 | 
					  only:
 | 
				
			||||||
 | 
					    - tags
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci command npm install -g tslint typescript
 | 
					    - npmci command npm install -g tslint typescript
 | 
				
			||||||
    - npmci npm prepare
 | 
					    - npmci npm prepare
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "version": "0.2.0",
 | 
				
			||||||
 | 
					  "configurations": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "current file",
 | 
				
			||||||
 | 
					      "type": "node",
 | 
				
			||||||
 | 
					      "request": "launch",
 | 
				
			||||||
 | 
					      "args": [
 | 
				
			||||||
 | 
					        "${relativeFile}"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "runtimeArgs": ["-r", "@gitzone/tsrun"],
 | 
				
			||||||
 | 
					      "cwd": "${workspaceRoot}",
 | 
				
			||||||
 | 
					      "protocol": "inspector",
 | 
				
			||||||
 | 
					      "internalConsoleOptions": "openOnSessionStart"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "test.ts",
 | 
				
			||||||
 | 
					      "type": "node",
 | 
				
			||||||
 | 
					      "request": "launch",
 | 
				
			||||||
 | 
					      "args": [
 | 
				
			||||||
 | 
					        "test/test.ts"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "runtimeArgs": ["-r", "@gitzone/tsrun"],
 | 
				
			||||||
 | 
					      "cwd": "${workspaceRoot}",
 | 
				
			||||||
 | 
					      "protocol": "inspector",
 | 
				
			||||||
 | 
					      "internalConsoleOptions": "openOnSessionStart"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "json.schemas": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "fileMatch": ["/npmextra.json"],
 | 
				
			||||||
 | 
					      "schema": {
 | 
				
			||||||
 | 
					        "type": "object",
 | 
				
			||||||
 | 
					        "properties": {
 | 
				
			||||||
 | 
					          "npmci": {
 | 
				
			||||||
 | 
					            "type": "object",
 | 
				
			||||||
 | 
					            "description": "settings for npmci"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "gitzone": {
 | 
				
			||||||
 | 
					            "type": "object",
 | 
				
			||||||
 | 
					            "description": "settings for gitzone",
 | 
				
			||||||
 | 
					            "properties": {
 | 
				
			||||||
 | 
					              "projectType": {
 | 
				
			||||||
 | 
					                "type": "string",
 | 
				
			||||||
 | 
					                "enum": ["website", "element", "service", "npm", "wcc"]
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
									
									
									
									
								
							@@ -3,8 +3,8 @@
 | 
				
			|||||||
  "version": "1.0.16",
 | 
					  "version": "1.0.16",
 | 
				
			||||||
  "private": false,
 | 
					  "private": false,
 | 
				
			||||||
  "description": "simplified access to puppeteer",
 | 
					  "description": "simplified access to puppeteer",
 | 
				
			||||||
  "main": "dist/index.js",
 | 
					  "main": "dist_ts/index.js",
 | 
				
			||||||
  "typings": "dist/index.d.ts",
 | 
					  "typings": "dist_ts/index.d.ts",
 | 
				
			||||||
  "author": "Lossless GmbH",
 | 
					  "author": "Lossless GmbH",
 | 
				
			||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
@@ -30,11 +30,15 @@
 | 
				
			|||||||
    "ts/**/*",
 | 
					    "ts/**/*",
 | 
				
			||||||
    "ts_web/**/*",
 | 
					    "ts_web/**/*",
 | 
				
			||||||
    "dist/**/*",
 | 
					    "dist/**/*",
 | 
				
			||||||
    "dist_web/**/*",
 | 
					    "dist_*/**/*",
 | 
				
			||||||
 | 
					    "dist_ts/**/*",
 | 
				
			||||||
    "dist_ts_web/**/*",
 | 
					    "dist_ts_web/**/*",
 | 
				
			||||||
    "assets/**/*",
 | 
					    "assets/**/*",
 | 
				
			||||||
    "cli.js",
 | 
					    "cli.js",
 | 
				
			||||||
    "npmextra.json",
 | 
					    "npmextra.json",
 | 
				
			||||||
    "readme.md"
 | 
					    "readme.md"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "browserslist": [
 | 
				
			||||||
 | 
					    "last 1 chrome versions"
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								readme.md
									
									
									
									
									
								
							@@ -8,13 +8,20 @@ simplified access to puppeteer
 | 
				
			|||||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smartpuppeteer/)
 | 
					* [docs (typedoc)](https://pushrocks.gitlab.io/smartpuppeteer/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Status for master
 | 
					## Status for master
 | 
				
			||||||
[](https://gitlab.com/pushrocks/smartpuppeteer/commits/master)
 | 
					
 | 
				
			||||||
[](https://gitlab.com/pushrocks/smartpuppeteer/commits/master)
 | 
					Status Category | Status Badge
 | 
				
			||||||
[](https://www.npmjs.com/package/@pushrocks/smartpuppeteer)
 | 
					-- | --
 | 
				
			||||||
[](https://snyk.io/test/npm/@pushrocks/smartpuppeteer)
 | 
					GitLab Pipelines | [](https://lossless.cloud)
 | 
				
			||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
					GitLab Pipline Test Coverage | [](https://lossless.cloud)
 | 
				
			||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
					npm | [](https://lossless.cloud)
 | 
				
			||||||
[](https://prettier.io/)
 | 
					Snyk | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					TypeScript Support | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
				
			||||||
 | 
					Code Style | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					PackagePhobia (package size on registry) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					BundlePhobia (total size when bundled) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,7 +29,7 @@ Use TypeScript for best in class intellisense.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```typescript
 | 
					```typescript
 | 
				
			||||||
const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({
 | 
					const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({
 | 
				
			||||||
  forceNoSandbox: true // if you really want no sandbox, you can do this. Otherwise its starting things as necessary
 | 
					  forceNoSandbox: true, // if you really want no sandbox, you can do this. Otherwise its starting things as necessary
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
await headlessBrowser.close();
 | 
					await headlessBrowser.close();
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
import { expect, tap } from '@pushrocks/tapbundle';
 | 
					import { expect, tap } from '@pushrocks/tapbundle';
 | 
				
			||||||
import * as smartpuppeteer from '../ts/index';
 | 
					import * as smartpuppeteer from '../ts/index';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
tap.test('first test', async tools => {
 | 
					tap.test('first test', async (tools) => {
 | 
				
			||||||
  const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({
 | 
					  const headlessBrowser = await smartpuppeteer.getEnvAwareBrowserInstance({
 | 
				
			||||||
    forceNoSandbox: true
 | 
					    forceNoSandbox: true,
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  await headlessBrowser.close();
 | 
					  await headlessBrowser.close();
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,7 @@ export class IncognitoBrowser {
 | 
				
			|||||||
  public status: 'started' | 'stopped' = 'stopped';
 | 
					  public status: 'started' | 'stopped' = 'stopped';
 | 
				
			||||||
  public browser: plugins.puppeteer.Browser;
 | 
					  public browser: plugins.puppeteer.Browser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  constructor() {
 | 
					  constructor() {}
 | 
				
			||||||
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * starts the IncognitoBrowser
 | 
					   * starts the IncognitoBrowser
 | 
				
			||||||
@@ -15,14 +13,14 @@ export class IncognitoBrowser {
 | 
				
			|||||||
  public async start() {
 | 
					  public async start() {
 | 
				
			||||||
    this.status = 'started';
 | 
					    this.status = 'started';
 | 
				
			||||||
    this.browser = await getEnvAwareBrowserInstance();
 | 
					    this.browser = await getEnvAwareBrowserInstance();
 | 
				
			||||||
    this.browser.addListener('disconnected', async eventArg => {
 | 
					    this.browser.addListener('disconnected', async (eventArg) => {
 | 
				
			||||||
      try {
 | 
					      try {
 | 
				
			||||||
        this.browser.removeAllListeners();
 | 
					        this.browser.removeAllListeners();
 | 
				
			||||||
      } catch(err) {}
 | 
					      } catch (err) {}
 | 
				
			||||||
      if (this.status === 'started') {
 | 
					      if (this.status === 'started') {
 | 
				
			||||||
        this.browser = await getEnvAwareBrowserInstance();
 | 
					        this.browser = await getEnvAwareBrowserInstance();
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    })
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
@@ -39,4 +37,4 @@ export class IncognitoBrowser {
 | 
				
			|||||||
      throw new Error('you need to start the IncognitoBrowser instance first');
 | 
					      throw new Error('you need to start the IncognitoBrowser instance first');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,13 @@ export const getEnvAwareBrowserInstance = async (
 | 
				
			|||||||
  const smartenv = new plugins.smartenv.Smartenv();
 | 
					  const smartenv = new plugins.smartenv.Smartenv();
 | 
				
			||||||
  const options: IEnvAwareOptions = {
 | 
					  const options: IEnvAwareOptions = {
 | 
				
			||||||
    ...{
 | 
					    ...{
 | 
				
			||||||
      forceNoSandbox: false
 | 
					      forceNoSandbox: false,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    ...optionsArg
 | 
					    ...optionsArg,
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let chromeArgs: string[] = [];
 | 
					  let chromeArgs: string[] = [];
 | 
				
			||||||
  if ((process.env.CI || options.forceNoSandbox || plugins.os.userInfo().username === 'root')) {
 | 
					  if (process.env.CI || options.forceNoSandbox || plugins.os.userInfo().username === 'root') {
 | 
				
			||||||
    chromeArgs = chromeArgs.concat(['--no-sandbox', '--disable-setuid-sandbox']);
 | 
					    chromeArgs = chromeArgs.concat(['--no-sandbox', '--disable-setuid-sandbox']);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,7 +24,7 @@ export const getEnvAwareBrowserInstance = async (
 | 
				
			|||||||
  console.log('launching puppeteer bundled chrome with arguments:');
 | 
					  console.log('launching puppeteer bundled chrome with arguments:');
 | 
				
			||||||
  console.log(chromeArgs);
 | 
					  console.log(chromeArgs);
 | 
				
			||||||
  headlessBrowser = await plugins.puppeteer.launch({
 | 
					  headlessBrowser = await plugins.puppeteer.launch({
 | 
				
			||||||
    args: chromeArgs
 | 
					    args: chromeArgs,
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return headlessBrowser;
 | 
					  return headlessBrowser;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,7 @@
 | 
				
			|||||||
// node native scope
 | 
					// node native scope
 | 
				
			||||||
import * as os from 'os';
 | 
					import * as os from 'os';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export {
 | 
					export { os };
 | 
				
			||||||
  os
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// @pushrocks scope
 | 
					// @pushrocks scope
 | 
				
			||||||
import * as smartdelay from '@pushrocks/smartdelay';
 | 
					import * as smartdelay from '@pushrocks/smartdelay';
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user