mirror of
https://github.com/sasjs/adapter.git
synced 2026-04-21 21:21:31 +00:00
fix(deps): bump follow-redirects
resolve moderate advisory (GHSA-r4q5-vmmm-2653) via npm audit fix; formatting via npm run lint:fix
This commit is contained in:
@@ -32,7 +32,7 @@ jobs:
|
|||||||
${{ runner.os }}-node-
|
${{ runner.os }}-node-
|
||||||
|
|
||||||
- name: Check npm audit
|
- name: Check npm audit
|
||||||
run: npm audit --production --audit-level=low
|
run: npm audit --omit=dev --audit-level=low
|
||||||
|
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|||||||
Generated
+3
-3
@@ -6135,9 +6135,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.11",
|
"version": "1.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
|
||||||
"integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
|
"integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
|
|||||||
+2
-2
@@ -7,9 +7,9 @@
|
|||||||
"build": "npm run nodeVersionMessage && npx rimraf build && npx rimraf node && mkdir node && copyfiles -u 1 \"./src/**/*\" ./node && webpack && npx rimraf build/src && npx rimraf node",
|
"build": "npm run nodeVersionMessage && npx rimraf build && npx rimraf node && mkdir node && copyfiles -u 1 \"./src/**/*\" ./node && webpack && npx rimraf build/src && npx rimraf node",
|
||||||
"package:lib": "npm run build && copyfiles ./package.json build && cd build && npm version \"5.0.0\" && npm pack",
|
"package:lib": "npm run build && copyfiles ./package.json build && cd build && npm version \"5.0.0\" && npm pack",
|
||||||
"publish:lib": "npm run build && cd build && npm publish",
|
"publish:lib": "npm run build && cd build && npm publish",
|
||||||
"lint:fix": "npx prettier --loglevel silent --write \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --loglevel silent --write \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --loglevel silent --write \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
"lint:fix": "npx prettier --log-level silent --write \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --log-level silent --write \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --log-level silent --write \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
||||||
"lint": "npx prettier --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --check \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --check \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
"lint": "npx prettier --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --check \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --check \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
||||||
"lint:silent": "npx prettier --loglevel silent --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --loglevel silent --check \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --loglevel silent --check \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
"lint:silent": "npx prettier --log-level silent --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --log-level silent --check \"sasjs-tests/src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\" && npx prettier --log-level silent --check \"cypress/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"",
|
||||||
"test": "jest --silent --coverage",
|
"test": "jest --silent --coverage",
|
||||||
"publishInit": "cp -r ./build/* . && rm -rf ./build",
|
"publishInit": "cp -r ./build/* . && rm -rf ./build",
|
||||||
"semantic-release": "semantic-release",
|
"semantic-release": "semantic-release",
|
||||||
|
|||||||
+16
-11
@@ -32,16 +32,18 @@ export class ContextManager {
|
|||||||
return this.defaultLauncherContexts
|
return this.defaultLauncherContexts
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(private serverUrl: string, private requestClient: RequestClient) {
|
constructor(
|
||||||
|
private serverUrl: string,
|
||||||
|
private requestClient: RequestClient
|
||||||
|
) {
|
||||||
if (serverUrl) isUrl(serverUrl)
|
if (serverUrl) isUrl(serverUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getComputeContexts(accessToken?: string) {
|
public async getComputeContexts(accessToken?: string) {
|
||||||
const { result: contexts } = await this.requestClient
|
const { result: contexts } = await this.requestClient
|
||||||
.get<{ items: Context[] }>(
|
.get<{
|
||||||
`${this.serverUrl}/compute/contexts?limit=10000`,
|
items: Context[]
|
||||||
accessToken
|
}>(`${this.serverUrl}/compute/contexts?limit=10000`, accessToken)
|
||||||
)
|
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
throw prefixMessage(err, 'Error while getting compute contexts. ')
|
throw prefixMessage(err, 'Error while getting compute contexts. ')
|
||||||
})
|
})
|
||||||
@@ -59,10 +61,9 @@ export class ContextManager {
|
|||||||
|
|
||||||
public async getLauncherContexts(accessToken?: string) {
|
public async getLauncherContexts(accessToken?: string) {
|
||||||
const { result: contexts } = await this.requestClient
|
const { result: contexts } = await this.requestClient
|
||||||
.get<{ items: Context[] }>(
|
.get<{
|
||||||
`${this.serverUrl}/launcher/contexts?limit=10000`,
|
items: Context[]
|
||||||
accessToken
|
}>(`${this.serverUrl}/launcher/contexts?limit=10000`, accessToken)
|
||||||
)
|
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
throw prefixMessage(err, 'Error while getting launcher contexts. ')
|
throw prefixMessage(err, 'Error while getting launcher contexts. ')
|
||||||
})
|
})
|
||||||
@@ -291,7 +292,9 @@ export class ContextManager {
|
|||||||
accessToken?: string
|
accessToken?: string
|
||||||
): Promise<Context> {
|
): Promise<Context> {
|
||||||
const { result: contexts } = await this.requestClient
|
const { result: contexts } = await this.requestClient
|
||||||
.get<{ items: Context[] }>(
|
.get<{
|
||||||
|
items: Context[]
|
||||||
|
}>(
|
||||||
`${this.serverUrl}/compute/contexts?filter=eq(name, "${contextName}")`,
|
`${this.serverUrl}/compute/contexts?filter=eq(name, "${contextName}")`,
|
||||||
accessToken
|
accessToken
|
||||||
)
|
)
|
||||||
@@ -332,7 +335,9 @@ export class ContextManager {
|
|||||||
authConfig?: AuthConfig
|
authConfig?: AuthConfig
|
||||||
) {
|
) {
|
||||||
const { result: contexts } = await this.requestClient
|
const { result: contexts } = await this.requestClient
|
||||||
.get<{ items: Context[] }>(
|
.get<{
|
||||||
|
items: Context[]
|
||||||
|
}>(
|
||||||
`${this.serverUrl}/compute/contexts?limit=10000`,
|
`${this.serverUrl}/compute/contexts?limit=10000`,
|
||||||
authConfig?.access_token
|
authConfig?.access_token
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1026,9 +1026,8 @@ export class SASViyaApiClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
files.forEach((fileInfo, index) => {
|
files.forEach((fileInfo, index) => {
|
||||||
jobArguments[
|
jobArguments[`_webin_fileuri${index + 1}`] =
|
||||||
`_webin_fileuri${index + 1}`
|
`/files/files/${fileInfo.file.id}`
|
||||||
] = `/files/files/${fileInfo.file.id}`
|
|
||||||
jobArguments[`_webin_name${index + 1}`] = fileInfo.tableName
|
jobArguments[`_webin_name${index + 1}`] = fileInfo.tableName
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -125,9 +125,8 @@ export async function executeOnComputeApi(
|
|||||||
jobVariables['_webin_file_count'] = files.length
|
jobVariables['_webin_file_count'] = files.length
|
||||||
|
|
||||||
files.forEach((fileInfo, index) => {
|
files.forEach((fileInfo, index) => {
|
||||||
jobVariables[
|
jobVariables[`_webin_fileuri${index + 1}`] =
|
||||||
`_webin_fileuri${index + 1}`
|
`/files/files/${fileInfo.file.id}`
|
||||||
] = `/files/files/${fileInfo.file.id}`
|
|
||||||
jobVariables[`_webin_name${index + 1}`] = fileInfo.tableName
|
jobVariables[`_webin_name${index + 1}`] = fileInfo.tableName
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ describe('openWebPage', () => {
|
|||||||
describe('window.open is not blocked', () => {
|
describe('window.open is not blocked', () => {
|
||||||
const mockedOpen = jest
|
const mockedOpen = jest
|
||||||
.fn()
|
.fn()
|
||||||
.mockImplementation(() => ({} as unknown as Window))
|
.mockImplementation(() => ({}) as unknown as Window)
|
||||||
const originalOpen = window.open
|
const originalOpen = window.open
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ import {
|
|||||||
import { BaseJobExecutor } from './JobExecutor'
|
import { BaseJobExecutor } from './JobExecutor'
|
||||||
|
|
||||||
export class ComputeJobExecutor extends BaseJobExecutor {
|
export class ComputeJobExecutor extends BaseJobExecutor {
|
||||||
constructor(serverUrl: string, private sasViyaApiClient: SASViyaApiClient) {
|
constructor(
|
||||||
|
serverUrl: string,
|
||||||
|
private sasViyaApiClient: SASViyaApiClient
|
||||||
|
) {
|
||||||
super(serverUrl, ServerType.SasViya)
|
super(serverUrl, ServerType.SasViya)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ import { BaseJobExecutor } from './JobExecutor'
|
|||||||
import { appendExtraResponseAttributes } from '../utils'
|
import { appendExtraResponseAttributes } from '../utils'
|
||||||
|
|
||||||
export class JesJobExecutor extends BaseJobExecutor {
|
export class JesJobExecutor extends BaseJobExecutor {
|
||||||
constructor(serverUrl: string, private sasViyaApiClient: SASViyaApiClient) {
|
constructor(
|
||||||
|
serverUrl: string,
|
||||||
|
private sasViyaApiClient: SASViyaApiClient
|
||||||
|
) {
|
||||||
super(serverUrl, ServerType.SasViya)
|
super(serverUrl, ServerType.SasViya)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,10 @@ export interface JobExecutor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export abstract class BaseJobExecutor implements JobExecutor {
|
export abstract class BaseJobExecutor implements JobExecutor {
|
||||||
constructor(protected serverUrl: string, protected serverType: ServerType) {}
|
constructor(
|
||||||
|
protected serverUrl: string,
|
||||||
|
protected serverType: ServerType
|
||||||
|
) {}
|
||||||
|
|
||||||
private waitingRequests: ExecuteFunction[] = []
|
private waitingRequests: ExecuteFunction[] = []
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
export class AuthorizeError extends Error {
|
export class AuthorizeError extends Error {
|
||||||
constructor(public message: string, public confirmUrl: string) {
|
constructor(
|
||||||
|
public message: string,
|
||||||
|
public confirmUrl: string
|
||||||
|
) {
|
||||||
super(message)
|
super(message)
|
||||||
this.name = 'AuthorizeError'
|
this.name = 'AuthorizeError'
|
||||||
Object.setPrototypeOf(this, AuthorizeError.prototype)
|
Object.setPrototypeOf(this, AuthorizeError.prototype)
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
import { Job } from '../Job'
|
import { Job } from '../Job'
|
||||||
|
|
||||||
export class ComputeJobExecutionError extends Error {
|
export class ComputeJobExecutionError extends Error {
|
||||||
constructor(public job: Job, public log: string) {
|
constructor(
|
||||||
|
public job: Job,
|
||||||
|
public log: string
|
||||||
|
) {
|
||||||
super('Error: Job execution failed')
|
super('Error: Job execution failed')
|
||||||
this.name = 'ComputeJobExecutionError'
|
this.name = 'ComputeJobExecutionError'
|
||||||
Object.setPrototypeOf(this, ComputeJobExecutionError.prototype)
|
Object.setPrototypeOf(this, ComputeJobExecutionError.prototype)
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
export class JobStatePollError extends Error {
|
export class JobStatePollError extends Error {
|
||||||
constructor(id: string, public originalError: Error) {
|
constructor(
|
||||||
|
id: string,
|
||||||
|
public originalError: Error
|
||||||
|
) {
|
||||||
super(
|
super(
|
||||||
`Error while polling job state for job ${id}: ${
|
`Error while polling job state for job ${id}: ${
|
||||||
originalError.message || originalError
|
originalError.message || originalError
|
||||||
|
|||||||
Reference in New Issue
Block a user