Skip to content

Commit cb8add9

Browse files
fixed stack name
1 parent e815111 commit cb8add9

File tree

5 files changed

+1909
-1428
lines changed

5 files changed

+1909
-1428
lines changed

‎lib/index.ts‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { join } from 'path';
33
import { Provider, ServerlessClasses, ServerlessLogger } from './specs'
44

55
interface ServerlessProvider {
6+
stackName: string;
67
naming: {
78
getCompiledTemplateFileName: () => string;
8-
getStackName: () => string;
9-
},
9+
}
1010
}
1111

1212
interface DiffCommon {
@@ -38,7 +38,6 @@ interface Serverless {
3838
class ServerlessPlugin {
3939
protected serverless: Serverless;
4040
protected newTemplateFile: string;
41-
protected specName: string;
4241
protected _specProvider: Provider;
4342
protected providerName: string;
4443
protected log: ServerlessLogger;
@@ -82,7 +81,6 @@ class ServerlessPlugin {
8281
'.serverless',
8382
newTemplateName,
8483
);
85-
this.specName = provider.naming.getStackName();
8684
}
8785

8886
public get specProvider() {
@@ -111,7 +109,8 @@ class ServerlessPlugin {
111109
try {
112110
const data = await readFile(this.newTemplateFile, 'utf8');
113111
const newTemplate = JSON.parse(data);
114-
return this._specProvider.diff(this.specName, newTemplate);
112+
const stackName = this.serverless.service.provider.stackName;
113+
return this._specProvider.diff(stackName, newTemplate);
115114
} catch (err) {
116115
if (err.code === 'ENOENT') {
117116
const errorPrefix = `${this.newTemplateFile} could not be found`;

‎lib/providers/aws.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ export class SpecProvider extends SpecProviderBase<AWSProvider, AWSConfig> {
5959
return report;
6060
}
6161

62-
async diff(specName: string, newTemplate: Template) {
62+
async diff(stackName: string, newTemplate: Template) {
6363
const command = new GetTemplateCommand({
64-
StackName: specName,
64+
StackName: stackName,
6565
TemplateStage: 'Processed',
6666
});
6767
try {

‎lib/specs.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface ConfigBase {
1111
}
1212

1313
export interface Provider {
14-
diff: (specName: string, newTemplate: Template) => void;
14+
diff: (stackName: string, newTemplate: Template) => void;
1515
}
1616

1717
type ErrorClass = { new(msg: string): void; }
@@ -30,7 +30,7 @@ export abstract class SpecProviderBase<ServerlessProvider, Config extends Config
3030
protected log: ServerlessLogger;
3131
protected classes: ServerlessClasses;
3232

33-
abstract diff(specName: string, newTemplate: Template): void;
33+
abstract diff(stackName: string, newTemplate: Template): void;
3434
protected abstract setup();
3535

3636
constructor(provider: ServerlessProvider, config: Config, log: ServerlessLogger, classes: ServerlessClasses) {

‎test/index.test.ts‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ beforeEach(async () => {
5151
name: `provider-${suffix}`,
5252
stage: `stage-${suffix}`,
5353
region: 'eu-west-1',
54+
stackName: `stack-${suffix}`,
5455
naming: {
55-
getStackName: () => `stack-${suffix}`,
5656
getCompiledTemplateFileName: () => `template-${suffix}.json`,
5757
},
5858
},
@@ -108,9 +108,9 @@ describe('serverless-plugin-diff', () => {
108108
setup() {
109109
this.log.info('inside provider setup()');
110110
}
111-
async diff(specName: string, newTpl: Template) {
112-
this.log.info(`${specName}-${newTpl}`);
113-
return { specName: specName };
111+
async diff(stackName: string, newTpl: Template) {
112+
this.log.info(`${stackName}-${newTpl}`);
113+
return { stackName: stackName };
114114
}
115115
}
116116
}
@@ -134,7 +134,7 @@ describe('serverless-plugin-diff', () => {
134134
test('generate valid diff', async () => {
135135
await plugin.load();
136136
expect(await plugin.diff()).toMatchObject({
137-
specName: serverless.service.provider.naming.getStackName(),
137+
stackName: serverless.service.provider.stackName,
138138
});
139139
});
140140
test('unknown error during diff generation', async () => {
@@ -188,8 +188,8 @@ describe('serverless-plugin-diff', () => {
188188
setup() {
189189
this.log.info('inside provider setup()');
190190
}
191-
diff(specName: string, newTpl: Template) {
192-
this.log.info(`${specName}-${newTpl}`);
191+
diff(stackName: string, newTpl: Template) {
192+
this.log.info(`${stackName}-${newTpl}`);
193193
throw new Error('Error');
194194
}
195195
}

0 commit comments

Comments
 (0)