Skip to content

Commit

Permalink
Some things work except json-docs aren't copying
Browse files Browse the repository at this point in the history
  • Loading branch information
jenweber committed Oct 16, 2020
1 parent 937f72b commit 679b07d
Show file tree
Hide file tree
Showing 10 changed files with 200 additions and 176 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,16 @@ yarn start --project ember-data --version <VERSION_TO_REPLACE> --ignorePreviousl
yarn start --clean --max_old_space_size=8192
```

## Running from GitHub

```
git clone [email protected]:ember-learn/ember-api-docs-data.git
git clone [email protected]:emberjs/ember.js.git && cd ember.js && yarn install
git clone [email protected]:ember-learn/ember-jsonapi-docs.git && cd ember-jsonapi-docs.git && yarn install
yarn gen --project ember --version "3.24.0"
yarn start --project ember --version "3.24.0"
```

## Backing Up Docs

If you plan to run a major migration, back up all the content to a timestamped folder in the Amazon S3 bucket.
Expand Down
12 changes: 0 additions & 12 deletions app.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,4 @@
{
"env": {
"AWS_ACCESS_KEY_ID": {
"required": true
},
"AWS_SECRET_ACCESS_KEY": {
"required": true
},
"AWS_SHOULD_PUBLISH": {
"required": true,
"default": "yes"
}
},
"buildpacks": [
{
"url": "heroku/nodejs"
Expand Down
14 changes: 7 additions & 7 deletions backup.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { backupExistingFolders } from './lib/s3-sync'
import 'hard-rejection/register'
;(async () => {
await backupExistingFolders()
console.log('\n\n')
console.log('Done!')
})()
// import { backupExistingFolders } from './lib/s3-sync'
// import 'hard-rejection/register'
// ;(async () => {
// await backupExistingFolders()
// console.log('\n\n')
// console.log('Done!')
// })()
8 changes: 6 additions & 2 deletions generate-local.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import chalk from 'chalk'
import commandExists from 'command-exists'
import execa from 'execa'
import { copyFileSync, existsSync, mkdirpSync, removeSync } from 'fs-extra'
import { copyFileSync, ensureDirSync, ensureFileSync, existsSync, mkdirpSync, removeSync } from 'fs-extra'
import minimist from 'minimist'
import path from 'path'
import 'hard-rejection/register'

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

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

const { project, version } = argv
Expand Down Expand Up @@ -61,7 +63,9 @@ const runCmd = async (cmd, path) => {

await runCmd(project === 'ember' ? 'yarn docs' : 'yarn workspace ember-data docs', projDirPath)

const projYuiDocFile = `tmp/s3-docs/v${version}/${project}-docs.json`
let destination = `${docsPath}/s3-docs/v${version}/${project}-docs.json`
ensureFileSync(destination)
const projYuiDocFile = destination;
removeSync(projYuiDocFile)
removeSync(`tmp/json-docs/${project}/${version}`)

Expand Down
72 changes: 37 additions & 35 deletions lib/fetch-yui-docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import mkdirp from 'mkdirp'
import pkgVersions from 'pkg-versions'
import { all, resolve } from 'rsvp'

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

let filterValidVersions = (specificDocsVersion, ignorePreviouslyIndexedDoc) => version => {
let isCompatibleVersion =
// compareVersions(version, '3.4.1') !== -1 &&
Expand All @@ -18,48 +20,48 @@ let filterValidVersions = (specificDocsVersion, ignorePreviouslyIndexedDoc) => v
}
}

async function fetchYuiDocsFromNpm(projects, projectName, filterValidVersionsForRequestedDocs) {
if (!projects.includes(projectName)) {
return resolve()
}
// async function fetchYuiDocsFromNpm(projects, projectName, filterValidVersionsForRequestedDocs) {
// if (!projects.includes(projectName)) {
// return resolve()
// }

let projectPkgMap = {
ember: 'ember-source',
'ember-data': 'ember-data',
}
let versions = await pkgVersions(projectPkgMap[projectName])
let versionsToProcess = [...versions].filter(filterValidVersionsForRequestedDocs)
// let projectPkgMap = {
// ember: 'ember-source',
// 'ember-data': 'ember-data',
// }
// let versions = await pkgVersions(projectPkgMap[projectName])
// let versionsToProcess = [...versions].filter(filterValidVersionsForRequestedDocs)

let getProjectFileUrl
// let getProjectFileUrl

if (projectName === 'ember') {
getProjectFileUrl = v => `https://unpkg.com/ember-source@${v}/docs/data.json`
} else {
getProjectFileUrl = v => `https://unpkg.com/ember-data@${v}/dist/docs/data.json`
}
// if (projectName === 'ember') {
// getProjectFileUrl = v => `https://unpkg.com/ember-source@${v}/docs/data.json`
// } else {
// getProjectFileUrl = v => `https://unpkg.com/ember-data@${v}/dist/docs/data.json`
// }

return await all(
versionsToProcess.map(async v => {
let url = getProjectFileUrl(v)
let targetDir = `tmp/s3-docs/v${v}`
let targetFile = `${targetDir}/${projectName}-docs.json`
// return await all(
// versionsToProcess.map(async v => {
// let url = getProjectFileUrl(v)
// let targetDir = `${docsPath}/s3-docs/v${v}`
// let targetFile = `${targetDir}/${projectName}-docs.json`

try {
if (fs.existsSync(targetFile)) {
return targetFile
}
let data = await download(url)
// try {
// if (fs.existsSync(targetFile)) {
// return targetFile
// }
// let data = await download(url)

mkdirp.sync(targetDir)
fs.writeFileSync(targetFile, data)
// mkdirp.sync(targetDir)
// fs.writeFileSync(targetFile, data)

return targetFile
} catch (e) {
console.error(`Failed to download ${url} ${e}`)
}
})
)
}
// return targetFile
// } catch (e) {
// console.error(`Failed to download ${url} ${e}`)
// }
// })
// )
// }

export default async function fetchYuiDocs(
projects,
Expand Down
5 changes: 4 additions & 1 deletion lib/fix-borked-yuidoc-files.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,16 @@ import { normalizeYuiDocClass } from './yuidoc-fixer/normalize-yui-doc-class'
* fixing it here
* @param {*} file
*/

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

export default async function fixBorkedYuidocFiles(file) {
if (!file) {
return
}

const version = file
.replace('tmp/s3-docs/v', '')
.replace(`${docsPath}/s3-docs/v`, '')
.replace('/ember-docs.json', '')
.replace('/ember-data-docs.json', '')

Expand Down
10 changes: 6 additions & 4 deletions lib/read-docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { dasherize } from 'inflected'
import { get as deepGet } from 'lodash'
import { getLatestPatchVersions } from './get-latest-patch-versions'

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

export default function readDocs(
projects,
specificVersion = '',
Expand All @@ -26,10 +28,10 @@ export default function readDocs(
)
}

let folders = glob.sync(`tmp/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('tmp/s3-docs/v', '').replace(`/${projectName}-docs.json`, '')
x.replace(`${docsPath}/s3-docs/v`, '').replace(`/${projectName}-docs.json`, '')
)

if (!runClean) {
Expand All @@ -43,7 +45,7 @@ export default function readDocs(
if (!prevIndexedVersions.includes(f) || ignorePreviouslyIndexedDoc) {
return f
} else {
let version = f.replace('tmp/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 @@ -56,7 +58,7 @@ export default function readDocs(
let data

try {
data = await fs.readJSON(`tmp/s3-docs/v${version}/${projectName}-docs.json`)
data = await fs.readJSON(`${docsPath}/s3-docs/v${version}/${projectName}-docs.json`)
return { project: projectName, version, data }
} catch (e) {
console.error(version)
Expand Down
10 changes: 7 additions & 3 deletions lib/rev-docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@ import { Promise } from 'rsvp'
import { basename as getFileName } from 'path'
import { isArray } from 'lodash/lang'
import { singularize } from 'inflected'
import path from 'path';
const glob = require('glob')

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

function revProjVersionFiles(project, ver) {
let opProgress = ora(`Revving ${project}:${ver} files`).start()
const projDocsDir = `tmp/json-docs/${project}`
const revIndexFolder = 'tmp/rev-index'
const projDocsDir = path.resolve(`tmp/json-docs/${project}`)
const revIndexFolder = path.resolve(`${docsPath}/rev-index`);

fs.mkdirpSync(revIndexFolder)
const destination = `${revIndexFolder}/${project}-${ver}.json`

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

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

0 comments on commit 679b07d

Please sign in to comment.