diff --git a/entrypoint.js b/entrypoint.js index f817fbf..c2cd2ad 100644 --- a/entrypoint.js +++ b/entrypoint.js @@ -1,6 +1,9 @@ const IssueCreator = require('.') +const Toolkit = require('actions-toolkit') -const issueCreator = new IssueCreator(process.argv[2]) -issueCreator.go().then(issue => { - console.log(`Created issue ${issue.data.title}#${issue.data.number}: ${issue.data.html_url}`) -}) +const tools = new Toolkit() +const issueCreator = new IssueCreator(tools) +issueCreator.go() + .then(issue => { + console.log(`Created issue ${issue.data.title}#${issue.data.number}: ${issue.data.html_url}`) + }) diff --git a/index.js b/index.js index 648b5cb..0554b89 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,14 @@ -const { Toolkit } = require('actions-toolkit') const fm = require('front-matter') const nunjucks = require('nunjucks') const dateFilter = require('nunjucks-date-filter') class IssueCreator { - constructor (template) { - this.template = template || '.github/ISSUE_TEMPLATE.md' - this.tools = new Toolkit() + /** + * @param {import('actions-toolkit').Toolkit} tools + */ + constructor (tools) { + this.tools = tools + this.template = this.tools.arguments._[0] || '.github/ISSUE_TEMPLATE.md' this.env = nunjucks.configure({ autoescape: false }) this.env.addFilter('date', dateFilter) } diff --git a/package-lock.json b/package-lock.json index 919b259..a71223b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -130,7 +130,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } @@ -2558,7 +2558,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { diff --git a/tests/index.test.js b/tests/index.test.js index 1c50133..9bdaa11 100644 --- a/tests/index.test.js +++ b/tests/index.test.js @@ -1,16 +1,19 @@ const path = require('path') const IssueCreator = require('..') +const { Toolkit } = require('actions-toolkit') describe('create-an-issue', () => { - let issueCreator, github + let issueCreator, tools, github beforeEach(() => { - issueCreator = new IssueCreator() + tools = new Toolkit() github = { issues: { create: jest.fn() } } - issueCreator.tools.workspace = path.join(__dirname, 'fixtures') - issueCreator.tools.context.payload = { repository: { owner: { login: 'JasonEtco' }, name: 'waddup' } } - issueCreator.tools.github = github + tools.workspace = path.join(__dirname, 'fixtures') + tools.context.payload = { repository: { owner: { login: 'JasonEtco' }, name: 'waddup' } } + tools.github = github + + issueCreator = new IssueCreator(tools) }) it('creates a new issue', async () => { @@ -20,7 +23,8 @@ describe('create-an-issue', () => { }) it('creates a new issue from a different template', async () => { - issueCreator = new IssueCreator('.github/different-template.md') + tools.arguments._ = ['.github/different-template.md'] + issueCreator = new IssueCreator(tools) issueCreator.tools.workspace = path.join(__dirname, 'fixtures') issueCreator.tools.context.payload = { repository: { owner: { login: 'JasonEtco' }, name: 'waddup' } } issueCreator.tools.github = github