Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions generate-plugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ const pluginTemplate = {
main: 'index.js',
types: 'index.d.ts',
scripts: {
lint: 'standard && npm run lint:typescript',
'lint:typescript': 'ts-standard',
lint: 'eslint',
test: 'npm run lint && npm run unit && npm run test:typescript',
'test:typescript': 'tstyche',
unit: 'node --test'
Expand All @@ -32,8 +31,8 @@ const pluginTemplate = {
'@types/node': cliPkg.devDependencies['@types/node'],
fastify: cliPkg.devDependencies.fastify,
'fastify-tsconfig': cliPkg.devDependencies['fastify-tsconfig'],
standard: cliPkg.devDependencies.standard,
'ts-standard': cliPkg.devDependencies['ts-standard'],
eslint: cliPkg.devDependencies.eslint,
neostandard: cliPkg.devDependencies.neostandard,
tstyche: cliPkg.devDependencies.tstyche,
typescript: cliPkg.devDependencies.typescript
},
Expand Down
16 changes: 13 additions & 3 deletions generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
const {
readFile,
writeFile,
writeFileSync,
existsSync
} = require('node:fs')
const path = require('node:path')
Expand Down Expand Up @@ -96,6 +97,10 @@ function generate (dir, template) {
}

process.chdir(dir)
if (template.lintConfig) {
const configFile = template.type === 'module' ? 'eslint.config.mjs' : 'eslint.config.js'
writeFileSync(configFile, template.lintConfig)
}
try {
execSync('npm init -y')
} catch (err) {
Expand Down Expand Up @@ -192,14 +197,19 @@ function cli (args) {
if (opts.standardlint) {
template.scripts = {
...template.scripts,
pretest: 'standard',
lint: 'standard --fix'
pretest: 'eslint',
lint: 'eslint --fix'
}

template.devDependencies = {
...template.devDependencies,
standard: cliPkg.devDependencies.standard
eslint: cliPkg.devDependencies.eslint,
neostandard: cliPkg.devDependencies.neostandard
}

template.lintConfig = template.type === 'module'
? 'import neostandard from \'neostandard\'\n\nexport default neostandard()'
: '\'use strict\'\n\nmodule.exports = require(\'neostandard\')()'
}
}

Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
"sinon": "^22.0.0",
"strip-ansi": "^6.0.1",
"ts-node": "^10.4.0",
"ts-standard": "^12.0.1",
"tstyche": "^7.0.0",
"typescript": "~6.0.2",
"walker": "^1.0.8"
Expand Down
2 changes: 1 addition & 1 deletion templates/plugin/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# __MY_PLUGIN__

[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://standardjs.com/) ![CI workflow](__MY_PLUGIN_URL__
[![neostandard javascript style](https://img.shields.io/badge/code%20style-neostandard-brightgreen?style=flat)](https://github.com/neostandard/neostandard) ![CI workflow](__MY_PLUGIN_URL__
/workflows/CI%20workflow/badge.svg)

Supports Fastify versions `4.x`
Expand Down
8 changes: 8 additions & 0 deletions templates/plugin/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict'

const neostandard = require('neostandard')

module.exports = neostandard({
ts: true,
ignores: neostandard.resolveIgnoresFromGitignore()
})
9 changes: 5 additions & 4 deletions test/generate-esm.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ function define (t) {
}
})

test('--standardlint option will add standard lint dependencies and scripts to javascript template', async (t) => {
test('--standardlint option will add neostandard lint dependencies and scripts to javascript template', async (t) => {
const dir = path.join(__dirname, 'workdir-with-lint')
const cwd = path.join(dir, '..')
const bin = path.join('..', 'generate')
Expand All @@ -148,9 +148,10 @@ function define (t) {

const data = await fsPromises.readFile(path.join(dir, 'package.json'))
const pkg = JSON.parse(data)
t.assert.strictEqual(pkg.scripts.pretest, 'standard')
t.assert.strictEqual(pkg.scripts.lint, 'standard --fix')
t.assert.strictEqual(pkg.devDependencies.standard, cliPkg.devDependencies.standard)
t.assert.strictEqual(pkg.scripts.pretest, 'eslint')
t.assert.strictEqual(pkg.scripts.lint, 'eslint --fix')
t.assert.strictEqual(pkg.devDependencies.eslint, cliPkg.devDependencies.eslint)
t.assert.strictEqual(pkg.devDependencies.neostandard, cliPkg.devDependencies.neostandard)
})

function verifyPkg (t, dir = workdir, pkgName = 'workdir') {
Expand Down
6 changes: 3 additions & 3 deletions test/generate-plugin.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,15 +144,15 @@ function define (t) {
t.assert.strictEqual(pkg.version, initVersion)
t.assert.strictEqual(pkg.description, '')
t.assert.ok(pkg.license === 'MIT')
t.assert.strictEqual(pkg.scripts.lint, 'standard && npm run lint:typescript')
t.assert.strictEqual(pkg.scripts['lint:typescript'], 'ts-standard')
t.assert.strictEqual(pkg.scripts.lint, 'eslint')
t.assert.strictEqual(pkg.scripts.test, 'npm run lint && npm run unit && npm run test:typescript')
t.assert.strictEqual(pkg.scripts['test:typescript'], 'tstyche')
t.assert.strictEqual(pkg.scripts.unit, 'node --test')
t.assert.strictEqual(pkg.dependencies['fastify-plugin'], cliPkg.dependencies['fastify-plugin'])
t.assert.strictEqual(pkg.devDependencies['@types/node'], cliPkg.devDependencies['@types/node'])
t.assert.strictEqual(pkg.devDependencies.fastify, cliPkg.devDependencies.fastify)
t.assert.strictEqual(pkg.devDependencies.standard, cliPkg.devDependencies.standard)
t.assert.strictEqual(pkg.devDependencies.eslint, cliPkg.devDependencies.eslint)
t.assert.strictEqual(pkg.devDependencies.neostandard, cliPkg.devDependencies.neostandard)
t.assert.strictEqual(pkg.devDependencies.tstyche, cliPkg.devDependencies.tstyche)
t.assert.strictEqual(pkg.devDependencies.typescript, cliPkg.devDependencies.typescript)
t.assert.deepStrictEqual(pkg.tstyche, pluginTemplate.tstyche)
Expand Down
9 changes: 5 additions & 4 deletions test/generate.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ function define (t) {
}
})

test('--standardlint option will add standard lint dependencies and scripts to javascript template', async (t) => {
test('--standardlint option will add neostandard lint dependencies and scripts to javascript template', async (t) => {
const dir = path.join(__dirname, 'workdir-with-lint')
const cwd = path.join(dir, '..')
const bin = path.join('..', 'generate')
Expand All @@ -143,9 +143,10 @@ function define (t) {

const data = await fsPromises.readFile(path.join(dir, 'package.json'))
const pkg = JSON.parse(data)
t.assert.strictEqual(pkg.scripts.pretest, 'standard')
t.assert.strictEqual(pkg.scripts.lint, 'standard --fix')
t.assert.strictEqual(pkg.devDependencies.standard, cliPkg.devDependencies.standard)
t.assert.strictEqual(pkg.scripts.pretest, 'eslint')
t.assert.strictEqual(pkg.scripts.lint, 'eslint --fix')
t.assert.strictEqual(pkg.devDependencies.eslint, cliPkg.devDependencies.eslint)
t.assert.strictEqual(pkg.devDependencies.neostandard, cliPkg.devDependencies.neostandard)
})

function verifyPkg (t, dir = workdir, pkgName = 'workdir') {
Expand Down
Loading