Socket
Book a DemoInstallSign in
Socket

@serverless/enterprise-plugin

Package Overview
Dependencies
Maintainers
2
Versions
497
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@serverless/enterprise-plugin - npm Package Compare versions

Comparing version

to
4.5.0-3fbcdb1c

lib/clientUtils.js

@@ -5,2 +5,16 @@ # Changelog

### [4.5.0](https://github.com/serverless/enterprise-plugin/compare/v4.4.3...v4.5.0) (2021-03-04)
### Features
- Support `--use-local-credentials` flag to skip provider resolution ([#539](https://github.com/serverless/enterprise-plugin/pull/539)) ([c6048d1](https://github.com/serverless/enterprise-plugin/commit/c6048d162597441f0ad3e2c35509a3f00805c20e)) ([AJ Stuyvenberg](https://github.com/astuyve))
### Bug fixes
- Properly use namespaced `events` module ([#548](https://github.com/serverless/enterprise-plugin/pull/548)) ([72019bd](https://github.com/serverless/enterprise-plugin/commit/72019bd3d2657f3a558972d37772d0fc4379d9fa)) ([AJ Stuyvenberg](https://github.com/astuyve))
### Maintenance
- Drop dependency on `@serverless/platform-sdk` by replacing it with corresponding `@serverless/platform-client` methods ([#546](https://github.com/serverless/enterprise-plugin/pull/546)) ([924360f](https://github.com/serverless/enterprise-plugin/pull/546/commits/924360f7067d713bb6678af58709ee0cc1a4d9ab)) ([Piotr Grzesik](https://github.com/pgrzesik))
### [4.4.3](https://github.com/serverless/enterprise-plugin/compare/v4.4.2...v4.4.3) (2021-02-09)

@@ -7,0 +21,0 @@

5

index.js
'use strict';
const { version } = require('@serverless/platform-sdk/package.json');
const platformClientVersion = require('@serverless/platform-client/package').version;
module.exports = require('./lib/plugin');
module.exports.sdkVersion = version;
module.exports.sdkVersion = 'n/a';
module.exports.platformClientVersion = platformClientVersion;

8

lib/appUids.js
'use strict';
const { getApp } = require('@serverless/platform-sdk');
const { getPlatformClientWithAccessKey } = require('./clientUtils');
module.exports = async function (orgName, appName) {
const app = await getApp({
tenant: orgName,
app: appName,
});
const sdk = await getPlatformClientWithAccessKey(orgName);
const app = await sdk.apps.get({ orgName, appName });

@@ -11,0 +9,0 @@ return {

@@ -0,1 +1,3 @@

// TODO: Remove this util with next major release
'use strict';

@@ -2,0 +4,0 @@

@@ -6,4 +6,3 @@ 'use strict';

saveDeployment: require('./save'),
getServerlessFilePath: require('./getServerlessFilePath'),
createAndSetDeploymentUid: require('./createAndSetUid'),
};

@@ -10,6 +10,6 @@ 'use strict';

const _ = require('lodash');
const SDK = require('@serverless/platform-sdk');
const getServerlessFilePath = require('./getServerlessFilePath');
const simpleGit = require('simple-git');
const { version: packageJsonVersion } = require('../../package');
const Deployment = require('./deployment');

@@ -25,9 +25,12 @@ const git = simpleGit();

const { service } = ctx.sls;
const deployment = new SDK.Deployment();
const deployment = new Deployment();
const accountId = await ctx.provider.getAccountId();
const serverlessFileName = await getServerlessFilePath(
ctx.sls.processedInput.options.config,
ctx.sls.config.servicePath
);
// TODO: With next major release remove getServerlessFilePath fallback
const serverlessFileName =
ctx.sls.configurationPath ||
(await getServerlessFilePath(
ctx.sls.processedInput.options.config,
ctx.sls.config.servicePath
));
const serverlessFile = (await fs.readFile(serverlessFileName)).toString();

@@ -34,0 +37,0 @@ /*

'use strict';
const { getAccessKeyForTenant, getDeployProfile } = require('@serverless/platform-sdk');
const { ServerlessSDK } = require('@serverless/platform-client');
const { serviceSlug, instanceSlug } = require('./utils');
const { getDashboardUrl } = require('./dashboard');
const { getPlatformClientWithAccessKey } = require('./clientUtils');
module.exports.configureDeployProfile = async (ctx) => {
const accessKey = await getAccessKeyForTenant(ctx.sls.service.org);
let deploymentProfile;

@@ -18,2 +17,8 @@ const {

if (cliOptions['use-local-credentials']) {
if (process.env.SLS_DEBUG) {
ctx.sls.cli.log('Skipping provider resolution, use-local-credentials option present');
}
return;
}
const stage = cliOptions.stage || provider.getStage();

@@ -42,13 +47,14 @@ const region = cliOptions.region || provider.getRegion();

}
const sdk = await getPlatformClientWithAccessKey(org);
try {
deploymentProfile = await getDeployProfile({
accessKey,
stage,
app,
tenant: org,
deploymentProfile = await sdk.deploymentProfiles.get({
orgName: org,
appName: app,
stageName: stage,
});
} catch (e) {
if (process.env.SLS_DEBUG) {
// eslint-disable-next-line no-console
console.log('ignoring profile fetch error', e);
ctx.sls.cli.log('ignoring profile fetch error', e);
}

@@ -61,12 +67,9 @@ }

if (!parameterizedArgs.length) {
const sdkV2 = new ServerlessSDK({
accessKey,
});
let providerCredentials = {};
try {
if (!ctx.sls.service.orgUid) {
const { orgUid } = await sdkV2.getOrgByName(ctx.sls.service.org);
const { orgUid } = await sdk.getOrgByName(ctx.sls.service.org);
ctx.sls.service.orgUid = orgUid;
}
providerCredentials = await sdkV2.getProvidersByOrgServiceInstance(
providerCredentials = await sdk.getProvidersByOrgServiceInstance(
ctx.sls.service.orgUid,

@@ -83,6 +86,6 @@ serviceSlug({ app, service }),

if (process.env.SLS_DEBUG) {
// eslint-disable-next-line no-console
console.log('ignoring provider credentials error');
ctx.sls.cli.log('ignoring provider credentials error');
}
}
const providersConfigUrl = `${getDashboardUrl(ctx)}/providers`;

@@ -94,2 +97,5 @@ if (providerCredentials.result) {

if (awsCredentials) {
ctx.sls.cli.log(
`Using provider credentials, configured via dashboard: ${providersConfigUrl}`
);
ctx.provider.cachedCredentials = {

@@ -102,4 +108,8 @@ accessKeyId: awsCredentials.providerDetails.accessKeyId,

}
} else {
ctx.sls.cli.log(
`Using local credentials. Add provider credentials via dashboard: ${providersConfigUrl}`
);
}
}
};
'use strict';
const { getAccessKeyForTenant, getMetadata } = require('@serverless/platform-sdk');
const { ServerlessSDK } = require('@serverless/platform-client');
const { entries, values } = require('lodash');

@@ -24,4 +24,2 @@

const accessKey = await getAccessKeyForTenant(ctx.sls.service.org);
if (

@@ -35,3 +33,4 @@ ctx.sls.service.custom &&

const { awsAccountId } = await getMetadata(accessKey);
const sdk = new ServerlessSDK();
const { awsAccountId } = await sdk.metadata.get();
ctx.sls.service.provider.compiledCloudFormationTemplate.Resources.EnterpriseLogAccessIamRole = {

@@ -38,0 +37,0 @@ Type: 'AWS::IAM::Role',

@@ -6,3 +6,3 @@ 'use strict';

const { getMetadata } = require('@serverless/platform-sdk');
const { ServerlessSDK } = require('@serverless/platform-client');
const { configureDeployProfile } = require('../deployProfile');

@@ -19,3 +19,4 @@ const register = require('./register');

if (ctx.sls.processedInput.options.org || ctx.sls.processedInput.options.app) {
const { supportedRuntimes, supportedRegions } = await getMetadata();
const sdk = new ServerlessSDK();
const { supportedRuntimes, supportedRegions } = await sdk.metadata.get();
if (ctx.sls.service.provider.name !== 'aws') {

@@ -22,0 +23,0 @@ throw new ctx.sls.classes.Error(

'use strict';
const chalk = require('chalk');
const { createApp, getMetadata, register: sdkRegister } = require('@serverless/platform-sdk');
const sdkVersion = require('@serverless/platform-sdk/package').version;
const { ServerlessSDK } = require('@serverless/platform-client');
const enableConfirm = require('./enableConfirm');

@@ -23,4 +22,5 @@ const writeOrgAndApp = require('./writeOrgAndApp');

const register = async (...args) => {
const result = await sdkRegister(...args);
const register = async (email, password, userName, orgName) => {
const sdk = new ServerlessSDK();
const result = await sdk.organizations.create({ orgName, username: userName, email, password });
result.orgName = result.tenantName;

@@ -72,3 +72,3 @@ delete result.tenantName;

try {
return await register(email, password, userName, orgName, orgName);
return await register(email, password, userName, orgName);
} catch (error) {

@@ -177,3 +177,2 @@ const errorData = (() => {

enterprise: {
versionSDK: sdkVersion,
timeLastLogin: Math.round(Date.now() / 1000),

@@ -193,6 +192,6 @@ },

const { appName } = await createApp({
tenant: orgName,
app: `${ctx.sls.service.service}-app`,
token: ownerAccessKey,
const sdk = new ServerlessSDK({ accessKey: ownerAccessKey });
const { appName } = await sdk.apps.create({
orgName,
app: { name: `${ctx.sls.service.service}-app` },
});

@@ -210,3 +209,4 @@

}
const { supportedRegions, supportedRuntimes } = await getMetadata();
const sdk = new ServerlessSDK();
const { supportedRegions, supportedRuntimes } = await sdk.metadata.get();
if (!supportedRuntimes.includes(ctx.sls.service.provider.runtime || 'nodejs10.x')) {

@@ -213,0 +213,0 @@ return false;

@@ -8,14 +8,5 @@ 'use strict';

const { ServerlessSDK } = require('@serverless/platform-client');
const {
createApp,
createDeployProfile,
getApps,
getDeployProfiles,
getMetadata,
listTenants,
setDefaultDeploymentProfile,
} = require('@serverless/platform-sdk');
const enableConfirm = require('./enableConfirm');
const writeOrgAndApp = require('./writeOrgAndApp');
const { resolveAccessKey } = require('./utils');
const { getPlatformClientWithAccessKey, getOrCreateAccessKeyForOrg } = require('../clientUtils');

@@ -110,10 +101,10 @@ const isValidAppName = RegExp.prototype.test.bind(/^[a-z0-9](?:[a-z0-9-]{0,126}[a-z0-9])?$/);

const createAppWithDeploymentProfile = async (inquirer, orgName, accessKey, newAppName) => {
const { appName } = await createApp({ tenant: orgName, app: newAppName, token: accessKey });
const createAppWithDeploymentProfile = async (sdk, inquirer, orgName, newAppName) => {
const { appName } = await sdk.apps.create({ orgName, app: { name: newAppName } });
let deployProfiles = await getDeployProfiles({ tenant: orgName, accessKey });
let deployProfiles = await sdk.deploymentProfiles.list({ orgName });
let deploymentProfile;
if (deployProfiles.length === 0) {
await createDeployProfile({ name: 'default', tenant: orgName, accessKey });
deployProfiles = await getDeployProfiles({ tenant: orgName });
await sdk.deploymentProfiles.create({ profileName: 'default', orgName });
deployProfiles = await sdk.deploymentProfiles.list({ orgName });
}

@@ -130,8 +121,3 @@ if (deployProfiles.length === 1) {

}
await setDefaultDeploymentProfile({
accessKey,
app: appName,
tenant: orgName,
deploymentProfile,
});
await sdk.deploymentProfiles.setDefault({ appName, orgName, profileUid: deploymentProfile });
return appName;

@@ -151,8 +137,8 @@ };

} else {
await accountUtils.refreshToken(new ServerlessSDK());
const sdk = new ServerlessSDK();
await accountUtils.refreshToken(sdk);
user = configUtils.getLoggedInUser();
sdk.config({ accessKey: user.idToken });
orgs = new Set(
(await listTenants({ username: user.username, idToken: user.idToken })).map(
(org) => org.tenantName
)
(await sdk.organizations.list({ username: user.username })).map((org) => org.tenantName)
);

@@ -162,3 +148,3 @@ }

},
setOrgAndApp: async (serverless, { user, orgNames, orgName, apps, appName, newAppName }) => {
setOrgAndApp: async (serverless, { orgNames, orgName, apps, appName, newAppName }) => {
const { inquirer } = serverless.interactiveCli;

@@ -172,5 +158,5 @@ if (!orgName) {

const accessKey = await resolveAccessKey(user, orgName);
const sdk = await getPlatformClientWithAccessKey(orgName);
if (!newAppName && !appName) {
if (!apps) apps = await getApps({ tenant: orgName, token: accessKey });
if (!apps) apps = await sdk.apps.list({ orgName });

@@ -182,3 +168,3 @@ const appNames = apps.map((app) => app.appName);

if (newAppName) {
appName = await createAppWithDeploymentProfile(inquirer, orgName, accessKey, newAppName);
appName = await createAppWithDeploymentProfile(sdk, inquirer, orgName, newAppName);
}

@@ -211,3 +197,4 @@ if (

if (serverless.service.provider.name !== 'aws') return false;
const { supportedRegions, supportedRuntimes } = await getMetadata();
const sdk = new ServerlessSDK();
const { supportedRegions, supportedRuntimes } = await sdk.metadata.get();
if (!supportedRuntimes.includes(serverless.service.provider.runtime || 'nodejs12.x')) {

@@ -228,5 +215,8 @@ return false;

if (orgName && orgNames.has(orgName)) {
const accessKey = await resolveAccessKey(user, orgName);
if (!isValidAppName(appName)) return { user, orgName };
const apps = await getApps({ tenant: orgName, token: accessKey });
const accessKey = await getOrCreateAccessKeyForOrg(orgName);
sdk.config({ accessKey });
const apps = await sdk.apps.list({ orgName });
if (serverless.processedInput.options.org || serverless.processedInput.options.app) {

@@ -233,0 +223,0 @@ if (apps.some((app) => app.appName === appName)) {

'use strict';
const { createAccessKeyForTenant } = require('@serverless/platform-sdk');
const configUtils = require('@serverless/utils/config');
module.exports = {
resolveAccessKey: async (user, orgName) => {
if (user.accessKeys && user.accessKeys[orgName]) return user.accessKeys[orgName];
const token = await createAccessKeyForTenant(orgName);
configUtils.set({
users: { [user.userId]: { dashboard: { accessKeys: { [orgName]: token } } } },
});
return token;
},
sleep: (timeout) => new Promise((resolve) => setTimeout(resolve, timeout)),
};

@@ -13,6 +13,9 @@ 'use strict';

module.exports = async (serverless, orgName, appName) => {
const serverlessFileName = await getServerlessFilePath(
serverless.processedInput.options.config,
serverless.config.servicePath
);
// TODO: With next major release remove getServerlessFilePath fallback
const serverlessFileName =
serverless.configurationPath ||
(await getServerlessFilePath(
serverless.processedInput.options.config,
serverless.config.servicePath
));

@@ -19,0 +22,0 @@ let ymlString = await (async () => {

@@ -5,3 +5,2 @@ 'use strict';

const { ServerlessSDK } = require('@serverless/platform-client');
const { urls } = require('@serverless/platform-sdk');
const configUtils = require('@serverless/utils/config');

@@ -14,8 +13,4 @@

const loginConfig = {
...urls,
};
const { loginUrl, loginData: loginDataDeferred } = await sdk.login();
const { loginUrl, loginData: loginDataDeferred } = await sdk.login(loginConfig);
open(loginUrl);

@@ -22,0 +17,0 @@

@@ -20,3 +20,3 @@ 'use strict';

const { getAccessKeyForTenant, getLogDestination } = require('@serverless/platform-sdk');
const { getPlatformClientWithAccessKey } = require('./clientUtils');

@@ -50,8 +50,6 @@ module.exports = async (ctx) => {

const accessKey = await getAccessKeyForTenant(ctx.sls.service.org);
const { Account } = await ctx.provider.request('STS', 'getCallerIdentity', {});
const destinationOpts = {
accessKey,
appUid: ctx.sls.service.appUid,
tenantUid: ctx.sls.service.orgUid,
orgUid: ctx.sls.service.orgUid,
serviceName: ctx.sls.service.getServiceName(),

@@ -66,3 +64,4 @@ stageName: ctx.provider.getStage(),

try {
({ destinationArn } = await getLogDestination(destinationOpts));
const sdk = await getPlatformClientWithAccessKey(ctx.sls.service.org);
({ destinationArn } = await sdk.logDestinations.getOrCreate(destinationOpts));
} catch (e) {

@@ -69,0 +68,0 @@ if (e.message && e.message.includes('not supported in region')) {

@@ -5,7 +5,3 @@ 'use strict';

const _ = require('lodash');
const {
configureFetchDefaults,
getAccessKeyForTenant,
getMetadata,
} = require('@serverless/platform-sdk');
const { ServerlessSDK } = require('@serverless/platform-client');
const open = require('open');

@@ -121,4 +117,2 @@ const errorHandler = require('./errorHandler');

configureFetchDefaults();
// Configure commands available to logged out users

@@ -388,4 +382,4 @@ this.commands = {

case 'before:package:createDeploymentArtifacts': {
const accessKey = await getAccessKeyForTenant(this.sls.service.org);
const { supportedRegions } = await getMetadata(accessKey);
const sdk = new ServerlessSDK();
const { supportedRegions } = await sdk.metadata.get();
const region = this.provider.getRegion();

@@ -392,0 +386,0 @@ if (!supportedRegions.includes(region)) {

'use strict';
const { getAccessKeyForTenant, removeLogDestination } = require('@serverless/platform-sdk');
const { getPlatformClientWithAccessKey } = require('./clientUtils');

@@ -13,14 +13,10 @@ module.exports = async (ctx) => {

}
const accessKey = await getAccessKeyForTenant(ctx.sls.service.org);
const destinationOpts = {
accessKey,
const sdk = await getPlatformClientWithAccessKey(ctx.sls.service.org);
await sdk.logDestinations.remove({
appUid: ctx.sls.service.appUid,
tenantUid: ctx.sls.service.orgUid,
orgUid: ctx.sls.service.orgUid,
serviceName: ctx.sls.service.getServiceName(),
stageName: ctx.provider.getStage(),
regionName: ctx.provider.getRegion(),
};
await removeLogDestination(destinationOpts);
return;
});
};
'use strict';
const { getAccessKeyForTenant, getStateVariable } = require('@serverless/platform-sdk');
const { getPlatformClientWithAccessKey } = require('./clientUtils');
module.exports = async (outputName, { org, app, service, stage, region }) => {
return (
await getStateVariable({
outputName,
accessKey: await getAccessKeyForTenant(org),
tenant: org,
app,
service,
stage,
region,
})
).value;
const sdk = await getPlatformClientWithAccessKey(org);
const result = await sdk.services.getStateVariable({
variableName: outputName,
orgName: org,
appName: app,
serviceName: service,
stageName: stage,
regionName: region,
});
return result.value;
};
'use strict';
const { getAccessKeyForTenant, getService } = require('@serverless/platform-sdk');
const { getPlatformClientWithAccessKey } = require('./clientUtils');
module.exports = async ({ org, app, service, stage, region }) => {
const serviceData = await getService({
accessKey: await getAccessKeyForTenant(org),
tenant: org,
app,
service,
const sdk = await getPlatformClientWithAccessKey(org);
const serviceData = await sdk.services.get({
orgName: org,
appName: app,
serviceName: service,
});

@@ -12,0 +12,0 @@

'use strict';
const memoizee = require('memoizee');
const { getAccessKeyForTenant, getDeployProfile } = require('@serverless/platform-sdk');
const { ServerlessSDK } = require('@serverless/platform-client');
const { serviceSlug, instanceSlug } = require('./utils');
const { getPlatformClientWithAccessKey } = require('./clientUtils');
module.exports = memoizee(
async ({ org, app, service, stage, region }) => {
const accessKey = await getAccessKeyForTenant(org);
const sdk = await getPlatformClientWithAccessKey(org);
const sdkV2 = new ServerlessSDK({
accessKey,
});
const { orgUid } = await sdkV2.getOrgByName(org);
const parametersResponse = await sdkV2.getParamsByOrgServiceInstance(
const { orgUid } = await sdk.getOrgByName(org);
const parametersResponse = await sdk.getParamsByOrgServiceInstance(
orgUid,

@@ -27,7 +23,6 @@ serviceSlug({ app, service }),

} else {
const deploymentProfile = await getDeployProfile({
accessKey,
stage,
app,
tenant: org,
const deploymentProfile = await sdk.deploymentProfiles.get({
orgName: org,
appName: app,
stageName: stage,
});

@@ -34,0 +29,0 @@ for (const {

@@ -5,5 +5,4 @@ 'use strict';

const chokidar = require('chokidar');
const { ServerlessSDK } = require('@serverless/platform-client');
const { getAccessKeyForTenant } = require('@serverless/platform-sdk');
const { isEqual } = require('lodash');
const { getPlatformClientWithAccessKey } = require('./clientUtils');

@@ -29,2 +28,3 @@ const isAuthenticated = require('./isAuthenticated');

// TODO: Remove 'studio' command with next major
module.exports = async function (ctx) {

@@ -92,2 +92,3 @@ const {

sls.cli.log('Starting Serverless Studio...');
sls.logDeprecation('STUDIO_COMMAND', '"studio" command will be removed with next major release');

@@ -102,9 +103,5 @@ /**

const accessKey = await getAccessKeyForTenant(sls.service.org);
const sdk = await getPlatformClientWithAccessKey(sls.service.org);
sdk.config({ platformStage: process.env.SERVERLESS_PLATFORM_STAGE || 'prod' });
const sdk = new ServerlessSDK({
platformStage: process.env.SERVERLESS_PLATFORM_STAGE || 'prod',
accessKey,
});
const studio = new Studio({ sdk, sls, serverlessExec });

@@ -111,0 +108,0 @@

@@ -12,6 +12,6 @@ 'use strict';

if (!ctx.sls.enterpriseEnabled) {
throw new this.sls.classes.Error('Run "serverless" to configure your service for testing.');
throw new ctx.sls.classes.Error('Run "serverless" to configure your service for testing.');
}
if (!fse.exists('serverless.test.yml')) {
throw new this.sls.classes.Error('No serverless.test.yml file found');
throw new ctx.sls.classes.Error('No serverless.test.yml file found');
}

@@ -18,0 +18,0 @@ let tests = yaml.safeLoad(await fse.readFile('serverless.test.yml'));

@@ -14,3 +14,3 @@ 'use strict';

const JSZip = require('jszip');
const { getAccessKeyForTenant } = require('@serverless/platform-sdk');
const { getOrCreateAccessKeyForOrg } = require('./clientUtils');
const { addTree, writeZip } = require('./zipTree');

@@ -380,3 +380,3 @@ const { version } = require('../package.json');

if (isDevMode) {
accessKey = await getAccessKeyForTenant(ctx.sls.service.org);
accessKey = await getOrCreateAccessKeyForOrg(ctx.sls.service.org);
}

@@ -383,0 +383,0 @@

{
"name": "@serverless/enterprise-plugin",
"version": "4.4.3",
"version": "4.5.0-3fbcdb1c",
"description": "The Serverless Dashboard plugin",

@@ -9,4 +9,3 @@ "author": "serverless.com",

"@serverless/event-mocks": "^1.1.1",
"@serverless/platform-client": "^3.11.0",
"@serverless/platform-sdk": "^2.3.2",
"@serverless/platform-client": "^4.2.0",
"@serverless/utils": "^3.1.0",

@@ -20,4 +19,4 @@ "chalk": "^4.1.0",

"js-yaml": "^3.14.1",
"jszip": "^3.5.0",
"lodash": "^4.17.20",
"jszip": "^3.6.0",
"lodash": "^4.17.21",
"memoizee": "^0.4.15",

@@ -27,5 +26,5 @@ "ncjsm": "^4.1.0",

"node-fetch": "^2.6.1",
"open": "^7.4.0",
"open": "^7.4.2",
"semver": "^7.3.4",
"simple-git": "^2.34.2",
"simple-git": "^2.36.1",
"uuid": "^8.3.2",

@@ -36,6 +35,7 @@ "yamljs": "^0.3.0"

"@serverless/eslint-config": "^3.0.0",
"@serverless/test": "^7.7.0",
"aws-sdk": "^2.840.0",
"chai": "^4.3.0",
"eslint": "^7.19.0",
"@serverless/test": "^7.10.0",
"aws-sdk": "^2.859.0",
"chai": "^4.3.3",
"chai-as-promised": "^7.1.1",
"eslint": "^7.21.0",
"eslint-plugin-import": "^2.22.1",

@@ -45,7 +45,7 @@ "essentials": "^1.1.1",

"github-release-from-cc-changelog": "^2.2.0",
"husky": "^4.3.7",
"husky": "^4.3.8",
"lint-staged": "^10.5.4",
"log": "^6.0.0",
"log-node": "^7.0.0",
"mocha": "^8.2.1",
"mocha": "^8.3.1",
"nyc": "^15.1.0",

@@ -57,3 +57,4 @@ "prettier": "^2.2.1",

"strip-ansi": "^6.0.0",
"tar": "^6.1.0"
"tar": "^6.1.0",
"timers-ext": "^0.1.7"
},

@@ -60,0 +61,0 @@ "eslintConfig": {

@@ -17,3 +17,3 @@ # Serverless Framework Enterprise Plugin

### Install dependencies
### Install dependencies and build SDK JS

@@ -24,13 +24,6 @@ ```

npm i
npm run build
cd -
```
### Build
`sdk-js` needs to be compile, & tests use the `dist` build for integration purposes.
```
npm run build
```
### Test

@@ -43,33 +36,14 @@

cd -
npm run integration-test
```
### Using your checked out version of the plugin for test/dev purposes:
#### Integration tests
First build & link your plugin globally:
For integration tests run you need an access to `integration` dashboard organization, and generated for it access key.
```
npm run build
npm link
```
Then tests can be run as:
Then clone & link sls & link the plugin into sls:
```
git clone https://github.com/serverless/serverless
cd serverless
npm i
npm link
npm link @serverless/enterprise-plugin
SERVERLESS_ACCESS_KEY=xxx npm run integration-test
```
If you need to work with a development version of the platform SDK too, in the sdk, run:
```
npm run build
npm link
```
and then in both serverless & this plugin, run `npm link @serverless/platform-sdk`
### Release process

@@ -79,4 +53,2 @@

- Create a draft release on github with a change log
- Have it approved & merge
- Publish the release, Travis CI will publish it to NPM
- Verify the release is in the versions tab of NPM
- Have it approved & merge (Release is automatically published via CI)

@@ -10,18 +10,18 @@ {

"dependencies": {
"@serverless/platform-client": "^1.1.10",
"@serverless/platform-client": "^4.2.0",
"after-all-results": "^2.0.0",
"flat": "^5.0.2",
"lodash": "^4.17.20",
"lodash": "^4.17.21",
"require-in-the-middle": "^5.1.0",
"stackman": "^4.0.1",
"type": "^2.1.0",
"type": "^2.3.0",
"uuid": "^8.3.2"
},
"devDependencies": {
"@serverless/test": "^7.0.0",
"chai": "^4.2.0",
"@serverless/test": "^7.10.0",
"chai": "^4.3.3",
"git-list-updated": "^1.2.1",
"mocha": "^8.2.1",
"mocha": "^8.3.0",
"nyc": "^15.1.0",
"webpack": "^4.44.2",
"webpack": "^4.46.0",
"webpack-cli": "^3.3.12"

@@ -28,0 +28,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.