Skip to content

Update eslint and prettier #129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Nov 3, 2023
Merged
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
27 changes: 14 additions & 13 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,23 @@ module.exports = {
es6: true,
node: true,
},
extends: 'eslint:recommended',
extends: ['eslint:recommended', 'plugin:prettier/recommended', 'plugin:n/recommended'],
parserOptions: {
ecmaVersion: 2018,
ecmaVersion: 2020,
sourceType: 'module',
},
rules: {
indent: ['error', 'tab'],
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'never'],
'no-console': ['off'],
},
globals: {
describe: true,
it: true,
beforeEach: true,
afterEach: true,
'n/no-process-exit': 0,
},
overrides: [
{
files: 'test/**/*',
env: {
mocha: true,
},
rules: {
'n/no-unpublished-import': 0,
},
},
],
}
3 changes: 1 addition & 2 deletions .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
"singleQuote": true,
"semi": false,
"printWidth": 100,
"useTabs": true,
"trailingComma": "es5"
"arrowParens": "avoid"
}
17 changes: 9 additions & 8 deletions generate-local.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import execa from 'execa'
import { copyFileSync, ensureFileSync, existsSync, removeSync } from 'fs-extra'
import minimist from 'minimist'
import path from 'path'
import 'hard-rejection/register'

const docsPath = '../ember-api-docs-data'

Expand All @@ -17,7 +16,7 @@ const exit = function exit() {
process.exit(1)
}

async function runCmd (cmd, path, args = []) {
async function runCmd(cmd, path, args = []) {
console.log(chalk.underline(`Running '${chalk.green(cmd)}' in ${path}`))
const executedCmd = await execa(cmd, args, { cwd: path, shell: true, stdio: 'inherit' })

Expand All @@ -30,11 +29,11 @@ async function runCmd (cmd, path, args = []) {
console.log(executedCmd.stdout + '\n')
}

(async () => {
;(async () => {
if (!project || !version) {
exit(
chalk.red('Both project and version args are required.\n'),
chalk.yellow(' e.g., yarn gen --project ember --version 3.10.1')
chalk.yellow(' e.g., yarn gen --project ember --version 3.10.1'),
)
}

Expand Down Expand Up @@ -66,13 +65,15 @@ async function runCmd (cmd, path, args = []) {
await runCmd('corepack', projDirPath, ['pnpm', 'install'])
}


if (install) {
await runCmd(project === 'ember' ? 'yarn' : 'pnpm install', projDirPath)
console.log('\n\n')
}

await runCmd(project === 'ember' ? 'volta run yarn docs' : 'corepack pnpm run build:docs', projDirPath)
await runCmd(
project === 'ember' ? 'volta run yarn docs' : 'corepack pnpm run build:docs',
projDirPath,
)

let destination = `${docsPath}/s3-docs/v${version}/${project}-docs.json`
ensureFileSync(destination)
Expand All @@ -82,7 +83,7 @@ async function runCmd (cmd, path, args = []) {

const yuiDocFile = path.join(
projDirPath,
project === 'ember' ? 'docs/data.json' : 'packages/-ember-data/dist/docs/data.json'
project === 'ember' ? 'docs/data.json' : 'packages/-ember-data/dist/docs/data.json',
)
copyFileSync(yuiDocFile, projYuiDocFile)
}
Expand All @@ -102,6 +103,6 @@ async function runCmd (cmd, path, args = []) {
project,
'--version',
version,
'--no-sync'
'--no-sync',
]).stdout.pipe(process.stdout)
})()
1 change: 0 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
// eslint-disable-next-line
require = require('esm')(module /*, options*/)
require('hard-rejection')()

const argv = require('minimist')(process.argv.slice(2))

Expand Down
4 changes: 2 additions & 2 deletions lib/add-since-tags.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ function sortVersionIndex(versionIndex) {
let keys = Object.keys(versionIndex)

keys.forEach(key =>
Object.keys(versionIndex[key]).forEach(item => versionIndex[key][item].sort())
Object.keys(versionIndex[key]).forEach(item => versionIndex[key][item].sort()),
)
}

Expand All @@ -63,5 +63,5 @@ const createMethodEntry = (versionIndex, method, itemType, version) => {
const classItemsWithItemType = versions =>
versions.reduce(
(memo, { data }) => memo.concat(data.classitems.filter(({ itemtype }) => itemtype)),
[]
[],
)
2 changes: 1 addition & 1 deletion lib/create-classes.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import saveDoc from './save-document'
import saveDoc from './save-document.js'

export default async function (document, projectName, projectVersion) {
let things = document.data
Expand Down
5 changes: 3 additions & 2 deletions lib/create-project-versions.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// eslint-disable-next-line n/no-missing-import
import tojsonapi from 'yuidoc-to-jsonapi/lib/converter'
import saveDoc from './save-document'
import updateIDs from './update-with-versions-and-project'
import saveDoc from './save-document.js'
import updateIDs from './update-with-versions-and-project.js'

export default async function createProjectVersions(versions, projectName) {
const results = []
Expand Down
6 changes: 3 additions & 3 deletions lib/fix-borked-yuidoc-files.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import fs from 'fs-extra'
import semverCompare from 'semver-compare'
import { normalizeYuiDocClassItem } from './yuidoc-fixer/normalize-yui-doc-class-item'
import { yuiDocClassItemKeys } from './yuidoc-fixer/yui-doc-class-item-keys'
import { normalizeYuiDocClass } from './yuidoc-fixer/normalize-yui-doc-class'
import { normalizeYuiDocClassItem } from './yuidoc-fixer/normalize-yui-doc-class-item.js'
import { yuiDocClassItemKeys } from './yuidoc-fixer/yui-doc-class-item-keys.js'
import { normalizeYuiDocClass } from './yuidoc-fixer/normalize-yui-doc-class.js'

/**
* In ember 3.10 and above we introduced decorators.
Expand Down
2 changes: 1 addition & 1 deletion lib/get-latest-patch-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import semverUtils from 'semver-utils'
export function getLatestPatchVersions(versions) {
let groupedVersions = groupBy(
versions.sort(semverCompare).map(semverUtils.parse),
v => `${v.major}.${v.minor}`
v => `${v.major}.${v.minor}`,
)
return Object.values(groupedVersions).map(verGroup => verGroup.pop().version)
}
2 changes: 1 addition & 1 deletion lib/get-version-index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { byType } from './filter-jsonapi-doc'
import { byType } from './filter-jsonapi-doc.js'

export default function getVersionIndex(doc, projectName) {
return {
Expand Down
20 changes: 10 additions & 10 deletions lib/markup.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ function replaceDescriptionFor(items) {

function highlight(description) {
if (description) {
description = description.replace(/&#(\d+);/g, function(match, dec) {
description = description.replace(/&#(\d+);/g, function (match, dec) {
return String.fromCharCode(dec)
})
}
Expand Down Expand Up @@ -109,15 +109,15 @@ function highlight(description) {
function determineLanguage(maybeFileName) {
const lang = maybeFileName.split('.').pop()
switch (lang) {
case 'js':
case 'javascript':
return 'javascript'
case 'ts':
return 'typescript'
case 'hbs':
return 'handlebars'
default:
return lang
case 'js':
case 'javascript':
return 'javascript'
case 'ts':
return 'typescript'
case 'hbs':
return 'handlebars'
default:
return lang
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/modules-transform.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ function isStaticMethod(item) {
}

function separateByClassName(result, value) {
(result[value.class] || (result[value.class] = [])).push(value)
;(result[value.class] || (result[value.class] = [])).push(value)
return result
}

Expand Down
2 changes: 1 addition & 1 deletion lib/normalize-ember-dependencies.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import _ from 'lodash'
import { byType } from './filter-jsonapi-doc'
import { byType } from './filter-jsonapi-doc.js'

const missingDoc = ({ id, version }) => {
return {
Expand Down
10 changes: 5 additions & 5 deletions lib/normalize-ids.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import _ from 'lodash'
import saveDoc from './save-document'
import tojsonapi from 'yuidoc-to-jsonapi/lib/converter'
import updateIDs from './update-with-versions-and-project'
import { byType as findType } from './filter-jsonapi-doc'
import saveDoc from './save-document.js'
import tojsonapi from 'yuidoc-to-jsonapi/lib/converter.js'
import updateIDs from './update-with-versions-and-project.js'
import { byType as findType } from './filter-jsonapi-doc.js'

function removeLongDocsBecauseEmber1HasWeirdDocs({ id }) {
let str = 'A Suite can'
Expand Down Expand Up @@ -61,7 +61,7 @@ async function normalizeIDs(pVersions, projectName) {

let namespaces = classes.filter(({ attributes }) => attributes.static === 1)
classes = classes.filter(
({ attributes }) => attributes.static !== 1 && _.has(attributes, 'file')
({ attributes }) => attributes.static !== 1 && _.has(attributes, 'file'),
)

namespaces.forEach(ns => (ns.type = 'namespace'))
Expand Down
23 changes: 11 additions & 12 deletions lib/read-docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,11 @@ import fs from 'fs-extra'
import glob from 'glob'
import { dasherize } from 'inflected'
import { get as deepGet } from 'lodash'
import { getLatestPatchVersions } from './get-latest-patch-versions'
import { getLatestPatchVersions } from './get-latest-patch-versions.js'

const docsPath = '../ember-api-docs-data'

export default function readDocs(
projects,
specificVersion = '',
runClean = false
) {
export default function readDocs(projects, specificVersion = '', runClean = false) {
return projects.reduce(async (prevPromise, projectName) => {
let prevValue = await prevPromise
let prevIndexedVersions = []
Expand All @@ -23,23 +19,26 @@ export default function readDocs(
projectFile = await fs.readJson(projectFile)

prevIndexedVersions = deepGet(projectFile, 'data.relationships.project-versions.data').map(
({ id }) => id.replace(`${projectName}-`, '')
({ id }) => id.replace(`${projectName}-`, ''),
)
}

let folders = glob.sync(`${docsPath}/s3-docs/v${specificVersion}*/${dasherize(projectName)}-docs.json`)
let folders = glob.sync(
`${docsPath}/s3-docs/v${specificVersion}*/${dasherize(projectName)}-docs.json`,
)

let availableSourceVersions = folders.map(x =>
x.replace(`${docsPath}/s3-docs/v`, '').replace(`/${projectName}-docs.json`, '')
x.replace(`${docsPath}/s3-docs/v`, '').replace(`/${projectName}-docs.json`, ''),
)

if (!runClean) {

folders = folders.filter(f => {
if (!prevIndexedVersions.includes(f)) {
return f
} else {
let version = f.replace(`${docsPath}/s3-docs/v`, '').replace(`/${projectName}-docs.json`, '')
let version = f
.replace(`${docsPath}/s3-docs/v`, '')
.replace(`/${projectName}-docs.json`, '')
console.log(`${projectName}-${version} has already been indexed in json-docs`)
}
})
Expand All @@ -59,7 +58,7 @@ export default function readDocs(
console.error(e.stack)
process.exit(1)
}
})
}),
)

return { ...prevValue, [projectName]: docs }
Expand Down
15 changes: 6 additions & 9 deletions lib/rev-docs.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import fs from 'fs-extra'
import ora from 'ora'
import { basename as getFileName } from 'path'
import { isArray } from 'lodash/lang'
import { singularize } from 'inflected'
import path from 'path'
const glob = require('glob')
Expand All @@ -16,10 +15,7 @@ function revProjVersionFiles(project, ver) {
fs.mkdirpSync(revIndexFolder)
const destination = `${revIndexFolder}/${project}-${ver}.json`

fs.copySync(
`${projDocsDir}/${ver}/project-versions/${project}-${ver}.json`,
destination
)
fs.copySync(`${projDocsDir}/${ver}/project-versions/${project}-${ver}.json`, destination)

opProgress.text = `Revving ${project}:${ver}`

Expand All @@ -28,7 +24,7 @@ function revProjVersionFiles(project, ver) {
projVerRevContent.meta = {}

Object.keys(projVerRevContent.data.relationships).forEach(k => {
if (isArray(projVerRevContent.data.relationships[k].data)) {
if (Array.isArray(projVerRevContent.data.relationships[k].data)) {
projVerRevContent.data.relationships[k].data.forEach(({ type, id }) => {
if (!projVerRevContent.meta[type]) {
projVerRevContent.meta[type] = {}
Expand All @@ -53,9 +49,10 @@ function revProjVersionFiles(project, ver) {
let fileShortName = f.replace(`${projVerDir}/`, '').replace('.json', '')
let [fileObjType, entityName] = fileShortName.split('/')

projVerRevContent.meta[singularize(fileObjType)][entityName] = getFileName(
f
).replace('.json', '')
projVerRevContent.meta[singularize(fileObjType)][entityName] = getFileName(f).replace(
'.json',
'',
)
})

fs.writeJsonSync(projVerRevFile, projVerRevContent)
Expand Down
10 changes: 8 additions & 2 deletions lib/save-document.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,20 @@ export default async function saveDoc(document, projectName, version = '') {
projectName,
version,
pluralize(document.data.type),
encodeURIComponent(`${document.data.id}.json`)
encodeURIComponent(`${document.data.id}.json`),
)

let json = JSON.stringify(document, null, 2)

return new Promise((resolve, reject) => {
if ((version.startsWith('1.') || version.startsWith('0.')) && document.data.id.length > 50) {
console.log(chalk.red(`\n\n⚠️ Skipping writing document with id ${chalk.yellow(document.data.id)} because it's too long\n\n`))
console.log(
chalk.red(
`\n\n⚠️ Skipping writing document with id ${chalk.yellow(
document.data.id,
)} because it's too long\n\n`,
),
)
// wtf ember 1.0 docs??
return resolve()
}
Expand Down
6 changes: 3 additions & 3 deletions lib/transform-yui-object.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import transformModules from './modules-transform'
import addInheritedItems from './add-inherited-items'
import normalizeIDs from './normalize-ids'
import transformModules from './modules-transform.js'
import addInheritedItems from './add-inherited-items.js'
import normalizeIDs from './normalize-ids.js'

export default async function transformYuiObject(docs, projName) {
let d = await transformModules(docs)
Expand Down
Loading