@form8ion/project 18.2.1 → 18.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/index.js +41 -26
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -236,7 +236,7 @@ $ npm test
|
|
|
236
236
|
|
|
237
237
|
[license-link]: LICENSE
|
|
238
238
|
|
|
239
|
-
[license-badge]: https://img.shields.io/github/license/form8ion/project.svg
|
|
239
|
+
[license-badge]: https://img.shields.io/github/license/form8ion/project.svg?logo=opensourceinitiative
|
|
240
240
|
|
|
241
241
|
[commit-convention-link]: https://conventionalcommits.org
|
|
242
242
|
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { questionsForBaseDetails, validateOptions, applyEnhancers, questionNames as questionNames$2 } from '@form8ion/core';
|
|
1
|
+
import { fileExists, questionsForBaseDetails, validateOptions, applyEnhancers, questionNames as questionNames$2 } from '@form8ion/core';
|
|
2
2
|
import deepmerge from 'deepmerge';
|
|
3
3
|
import execa from '@form8ion/execa-wrapper';
|
|
4
4
|
import { reportResults } from '@form8ion/results-reporter';
|
|
@@ -149,7 +149,7 @@ async function scaffold$1({projectRoot, origin}) {
|
|
|
149
149
|
return {nextSteps: [{summary: 'Commit scaffolded files'}, ...remoteOriginResults.nextSteps]};
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
async function scaffoldLicense ({projectRoot, license, copyright
|
|
152
|
+
async function scaffoldLicense ({projectRoot, license, copyright}) {
|
|
153
153
|
if (license) {
|
|
154
154
|
info('Generating License');
|
|
155
155
|
|
|
@@ -162,25 +162,42 @@ async function scaffoldLicense ({projectRoot, license, copyright, vcs}) {
|
|
|
162
162
|
{width: 80, indent: ''}
|
|
163
163
|
)}\n`
|
|
164
164
|
);
|
|
165
|
+
}
|
|
165
166
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
167
|
+
return {};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function tester ({projectRoot}) {
|
|
171
|
+
return fileExists(`${projectRoot}/LICENSE`);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function repositoryIsHostedOnGithub(vcs) {
|
|
175
|
+
return vcs && 'github' === vcs.host;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function lifter ({vcs}) {
|
|
179
|
+
return {
|
|
180
|
+
...repositoryIsHostedOnGithub(vcs) && {
|
|
181
|
+
badges: {
|
|
182
|
+
consumer: {
|
|
183
|
+
license: {
|
|
184
|
+
link: 'LICENSE',
|
|
185
|
+
img: `https://img.shields.io/github/license/${vcs.owner}/${vcs.name}.svg?logo=opensourceinitiative`,
|
|
186
|
+
text: 'license'
|
|
175
187
|
}
|
|
176
188
|
}
|
|
177
189
|
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return {};
|
|
190
|
+
}
|
|
191
|
+
};
|
|
182
192
|
}
|
|
183
193
|
|
|
194
|
+
var licensePlugin = /*#__PURE__*/Object.freeze({
|
|
195
|
+
__proto__: null,
|
|
196
|
+
lift: lifter,
|
|
197
|
+
scaffold: scaffoldLicense,
|
|
198
|
+
test: tester
|
|
199
|
+
});
|
|
200
|
+
|
|
184
201
|
function scaffoldVcsHost (hosts, options) {
|
|
185
202
|
const lowercasedHosts = Object.fromEntries(
|
|
186
203
|
Object.entries(hosts).map(([name, details]) => [name.toLowerCase(), details])
|
|
@@ -276,7 +293,7 @@ function scaffoldContributing ({visibility}) {
|
|
|
276
293
|
async function lift ({projectRoot, results, enhancers, vcs, dependencies}) {
|
|
277
294
|
const enhancerResults = await applyEnhancers({
|
|
278
295
|
results,
|
|
279
|
-
enhancers: {...enhancers, gitPlugin},
|
|
296
|
+
enhancers: {...enhancers, gitPlugin, licensePlugin},
|
|
280
297
|
options: {projectRoot, vcs},
|
|
281
298
|
dependencies
|
|
282
299
|
});
|
|
@@ -301,23 +318,21 @@ async function scaffold(options) {
|
|
|
301
318
|
} = await promptForBaseDetails(projectRoot, decisions);
|
|
302
319
|
const copyright = {year: copyrightYear, holder: copyHolder};
|
|
303
320
|
|
|
304
|
-
const [vcs] = await Promise.all([
|
|
321
|
+
const [vcs, contributing, license] = await Promise.all([
|
|
305
322
|
initialize(gitRepo, projectRoot, projectName, vcsHosts, visibility, decisions),
|
|
323
|
+
scaffoldContributing({visibility}),
|
|
324
|
+
scaffoldLicense({projectRoot, license: chosenLicense, copyright}),
|
|
306
325
|
scaffold$3({projectName, projectRoot, description}),
|
|
307
326
|
scaffoldEditorConfig({projectRoot})
|
|
308
327
|
]);
|
|
309
328
|
|
|
310
329
|
const {[questionNames$1.PROJECT_LANGUAGE]: projectLanguage} = await promptForLanguageDetails(languages, decisions);
|
|
311
330
|
|
|
312
|
-
const
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
{projectRoot, projectName, vcs, visibility, license: chosenLicense || 'UNLICENSED', description}
|
|
318
|
-
),
|
|
319
|
-
scaffoldContributing({visibility})
|
|
320
|
-
]);
|
|
331
|
+
const language = await scaffoldLanguage(
|
|
332
|
+
languages,
|
|
333
|
+
projectLanguage,
|
|
334
|
+
{projectRoot, projectName, vcs, visibility, license: chosenLicense || 'UNLICENSED', description}
|
|
335
|
+
);
|
|
321
336
|
|
|
322
337
|
const dependencyUpdaterResults = vcs && await scaffoldDependencyUpdater(
|
|
323
338
|
dependencyUpdaters,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/language/scaffolder.js","../src/language/prompt.js","../src/prompts/conditionals.js","../src/vcs/host/prompt.js","../src/vcs/git/git.js","../src/license/scaffolder.js","../src/vcs/host/scaffolder.js","../src/dependency-updater/prompt.js","../src/dependency-updater/scaffolder.js","../src/prompts/questions.js","../src/language/schema.js","../src/vcs/host/schema.js","../src/dependency-updater/schema.js","../src/options-schemas.js","../src/options-validator.js","../src/template-path.js","../src/editorconfig/scaffolder.js","../src/contributing/scaffolder.js","../src/lift.js","../src/scaffolder.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n GIT_REPO: 'gitRepo',\n REPO_HOST: 'repoHost',\n REPO_OWNER: 'repoOwner',\n PROJECT_LANGUAGE: 'projectLanguage',\n DEPENDENCY_UPDATER: 'dependencyUpdater'\n};\n","export default function (scaffolders, chosenLanguage, options) {\n const scaffolder = scaffolders[chosenLanguage];\n\n if (scaffolder) return scaffolder(options);\n\n return undefined;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default function (languages, decisions) {\n return prompt([{\n name: questionNames.PROJECT_LANGUAGE,\n type: 'list',\n message: 'What type of project is this?',\n choices: [...Object.keys(languages), 'Other']\n }], decisions);\n}\n","import {Separator} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from './question-names.js';\n\nexport function unlicensedConfirmationShouldBePresented(answers) {\n return 'Private' === answers[questionNames.VISIBILITY];\n}\n\nexport function licenseChoicesShouldBePresented(answers) {\n return 'Public' === answers[questionNames.VISIBILITY] || !answers[questionNames.UNLICENSED];\n}\n\nexport function copyrightInformationShouldBeRequested(answers) {\n return !!answers[questionNames.LICENSE];\n}\n\nexport function filterChoicesByVisibility(choices, visibility) {\n return [\n ...Object.entries(choices)\n .filter(([, choice]) => choice[visibility.toLowerCase()])\n .reduce((acc, [name]) => ([...acc, name]), []),\n new Separator(),\n 'Other'\n ];\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../prompts/question-names.js';\nimport {filterChoicesByVisibility} from '../../prompts/conditionals.js';\n\nexport default async function (hosts, visibility, decisions) {\n const answers = await prompt([{\n name: questionNames.REPO_HOST,\n type: 'list',\n message: 'Where will the repository be hosted?',\n choices: filterChoicesByVisibility(hosts, visibility)\n }], decisions);\n const host = hosts[answers[questionNames.REPO_HOST]];\n\n return {...answers, ...host && await host.prompt({decisions})};\n}\n","import {simpleGit} from 'simple-git';\nimport hostedGitInfo from 'hosted-git-info';\nimport {info, warn} from '@travi/cli-messages';\nimport {scaffold as scaffoldGit} from '@form8ion/git';\n\nimport promptForVcsHostDetails from '../host/prompt.js';\nimport {questionNames} from '../../prompts/question-names.js';\n\nasync function getExistingRemotes(git) {\n try {\n return await git.listRemote();\n } catch (e) {\n if ('fatal: No remote configured to list refs from.\\n' === e.message) {\n return [];\n }\n\n throw e;\n }\n}\n\nasync function defineRemoteOrigin(projectRoot, origin) {\n const git = simpleGit({baseDir: projectRoot});\n const existingRemotes = await getExistingRemotes(git);\n\n if (existingRemotes.includes('origin')) {\n warn('The `origin` remote is already defined for this repository');\n\n return {nextSteps: []};\n }\n\n if (origin.sshUrl) {\n info(`Setting remote origin to ${origin.sshUrl}`, {level: 'secondary'});\n\n await git.addRemote('origin', origin.sshUrl);\n\n // info('Setting the local `master` branch to track `origin/master`');\n //\n // await gitBranch.setUpstream(\n // await gitBranch.lookup(repository, 'master', gitBranch.BRANCH.LOCAL),\n // 'origin/master'\n // );\n\n return {nextSteps: [{summary: 'Set local `master` branch to track upstream `origin/master`'}]};\n }\n\n warn('URL not available to configure remote `origin`');\n\n return {nextSteps: []};\n}\n\nexport async function initialize(\n gitRepoShouldBeInitialized,\n projectRoot,\n projectName,\n vcsHosts,\n visibility,\n decisions\n) {\n if (gitRepoShouldBeInitialized) {\n const git = simpleGit({baseDir: projectRoot});\n if (await git.checkIsRepo('root')) {\n info('Git repository already exists');\n\n const remoteOrigin = await git.remote(['get-url', 'origin']);\n const {user, project, type} = hostedGitInfo.fromUrl(remoteOrigin);\n\n return {owner: user, name: project, host: type};\n }\n\n const [answers] = await Promise.all([\n promptForVcsHostDetails(vcsHosts, visibility, decisions),\n scaffoldGit({projectRoot})\n ]);\n\n return {\n host: answers[questionNames.REPO_HOST].toLowerCase(),\n owner: answers[questionNames.REPO_OWNER],\n name: projectName\n };\n }\n\n return undefined;\n}\n\nexport async function scaffold({projectRoot, origin}) {\n info('Finishing Git Configuration');\n\n const remoteOriginResults = await defineRemoteOrigin(projectRoot, origin);\n\n return {nextSteps: [{summary: 'Commit scaffolded files'}, ...remoteOriginResults.nextSteps]};\n}\n","import {promises as fs} from 'fs';\nimport wrap from 'word-wrap';\nimport mustache from 'mustache';\n// eslint-disable-next-line import/extensions\nimport spdxLicenseList from 'spdx-license-list/full.js';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot, license, copyright, vcs}) {\n if (license) {\n info('Generating License');\n\n const licenseContent = spdxLicenseList[license].licenseText;\n\n await fs.writeFile(\n `${projectRoot}/LICENSE`,\n `${wrap(\n mustache.render(licenseContent, {year: copyright.year, 'copyright holders': copyright.holder}, {}, ['<', '>']),\n {width: 80, indent: ''}\n )}\\n`\n );\n\n return {\n ...vcs && 'github' === vcs.host && {\n badges: {\n consumer: {\n license: {\n img: `https://img.shields.io/github/license/${vcs.owner}/${vcs.name}.svg`,\n text: `${license} license`,\n link: 'LICENSE'\n }\n }\n }\n }\n };\n }\n\n return {};\n}\n","export default function (hosts, options) {\n const lowercasedHosts = Object.fromEntries(\n Object.entries(hosts).map(([name, details]) => [name.toLowerCase(), details])\n );\n const {host: chosenHost, ...rest} = options;\n const host = lowercasedHosts[chosenHost];\n\n if (host) return host.scaffolder(rest);\n\n return {};\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport async function promptForDependencyUpdaterChoice(updaters, decisions) {\n return prompt([{\n name: questionNames.DEPENDENCY_UPDATER,\n type: 'list',\n message: 'Which dependency-update service do you want to manage this project?',\n choices: [...Object.keys(updaters), 'Other']\n }], decisions);\n}\n","import {questionNames} from '../prompts/question-names.js';\nimport {promptForDependencyUpdaterChoice} from './prompt.js';\n\nexport default async function (scaffolders, decisions, options) {\n if (!Object.keys(scaffolders).length) return undefined;\n\n const scaffolderDetails = scaffolders[\n (await promptForDependencyUpdaterChoice(scaffolders, decisions))[questionNames.DEPENDENCY_UPDATER]\n ];\n\n if (scaffolderDetails) return scaffolderDetails.scaffolder(options);\n\n return undefined;\n}\n","import {questionsForBaseDetails} from '@form8ion/core';\nimport {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from './question-names.js';\n\nexport function promptForBaseDetails(projectRoot, decisions) {\n return prompt([\n ...questionsForBaseDetails(decisions, projectRoot),\n {name: questionNames.GIT_REPO, type: 'confirm', default: true, message: 'Should a git repository be initialized?'}\n ], decisions);\n}\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.func().arity(1));\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required(),\n prompt: joi.func().required(),\n public: joi.bool(),\n private: joi.bool()\n}));\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n})).default({});\n","import joi from 'joi';\n\nexport const decisionsSchema = joi.object();\n","import {validateOptions} from '@form8ion/core';\nimport joi from 'joi';\n\nimport languagePluginsSchema from './language/schema.js';\nimport vcsHostPluginsSchema from './vcs/host/schema.js';\nimport dependencyUpdaterPluginsSchema from './dependency-updater/schema.js';\nimport {decisionsSchema} from './options-schemas.js';\n\nexport function validate(options) {\n return validateOptions(joi.object({\n languages: languagePluginsSchema,\n vcsHosts: vcsHostPluginsSchema,\n decisions: decisionsSchema,\n dependencyUpdaters: dependencyUpdaterPluginsSchema\n }), options) || {};\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'node:fs';\n\nimport determinePathToTemplateFile from '../template-path.js';\n\nexport default function ({projectRoot}) {\n return fs.copyFile(determinePathToTemplateFile('editorconfig.ini'), `${projectRoot}/.editorconfig`);\n}\n","export default function ({visibility}) {\n if ('Public' === visibility) {\n return {\n badges: {\n contribution: {\n PRs: {\n text: 'PRs Welcome',\n link: 'https://makeapullrequest.com',\n img: 'https://img.shields.io/badge/PRs-welcome-brightgreen.svg'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {applyEnhancers} from '@form8ion/core';\nimport {lift as liftReadme} from '@form8ion/readme';\nimport * as gitPlugin from '@form8ion/git';\n\nexport default async function ({projectRoot, results, enhancers, vcs, dependencies}) {\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {...enhancers, gitPlugin},\n options: {projectRoot, vcs},\n dependencies\n });\n\n await liftReadme({projectRoot, results: deepmerge.all([results, enhancerResults])});\n\n return enhancerResults;\n}\n","import deepmerge from 'deepmerge';\nimport execa from '@form8ion/execa-wrapper';\nimport {questionNames as coreQuestionNames} from '@form8ion/core';\nimport {reportResults} from '@form8ion/results-reporter';\nimport {scaffold as scaffoldReadme} from '@form8ion/readme';\nimport {info} from '@travi/cli-messages';\n\nimport {scaffold as scaffoldLanguage, prompt as promptForLanguageDetails} from './language/index.js';\nimport {initialize as scaffoldGit, scaffold as liftGit} from './vcs/git/git.js';\nimport {scaffold as scaffoldLicense} from './license/index.js';\nimport {scaffold as scaffoldVcsHost} from './vcs/host/index.js';\nimport scaffoldDependencyUpdater from './dependency-updater/scaffolder.js';\nimport {promptForBaseDetails} from './prompts/questions.js';\nimport {validate} from './options-validator.js';\nimport {questionNames} from './prompts/question-names.js';\nimport {scaffold as scaffoldEditorConfig} from './editorconfig/index.js';\nimport {scaffold as scaffoldContributing} from './contributing/index.js';\nimport lift from './lift.js';\n\nexport async function scaffold(options) {\n const projectRoot = process.cwd();\n const {languages = {}, vcsHosts = {}, decisions, dependencyUpdaters} = validate(options);\n\n const {\n [coreQuestionNames.PROJECT_NAME]: projectName,\n [coreQuestionNames.LICENSE]: chosenLicense,\n [coreQuestionNames.VISIBILITY]: visibility,\n [coreQuestionNames.DESCRIPTION]: description,\n [questionNames.GIT_REPO]: gitRepo,\n [coreQuestionNames.COPYRIGHT_YEAR]: copyrightYear,\n [coreQuestionNames.COPYRIGHT_HOLDER]: copyHolder\n } = await promptForBaseDetails(projectRoot, decisions);\n const copyright = {year: copyrightYear, holder: copyHolder};\n\n const [vcs] = await Promise.all([\n scaffoldGit(gitRepo, projectRoot, projectName, vcsHosts, visibility, decisions),\n scaffoldReadme({projectName, projectRoot, description}),\n scaffoldEditorConfig({projectRoot})\n ]);\n\n const {[questionNames.PROJECT_LANGUAGE]: projectLanguage} = await promptForLanguageDetails(languages, decisions);\n\n const [license, language, contributing] = await Promise.all([\n scaffoldLicense({projectRoot, license: chosenLicense, copyright, vcs}),\n scaffoldLanguage(\n languages,\n projectLanguage,\n {projectRoot, projectName, vcs, visibility, license: chosenLicense || 'UNLICENSED', description}\n ),\n scaffoldContributing({visibility})\n ]);\n\n const dependencyUpdaterResults = vcs && await scaffoldDependencyUpdater(\n dependencyUpdaters,\n decisions,\n {projectRoot, vcs}\n );\n\n const contributors = [license, language, dependencyUpdaterResults, contributing].filter(Boolean);\n const contributedTasks = contributors\n .map(contributor => contributor.nextSteps)\n .filter(Boolean)\n .reduce((acc, contributedNextSteps) => ([...acc, ...contributedNextSteps]), []);\n\n const vcsHostResults = vcs && await scaffoldVcsHost(vcsHosts, {\n ...vcs,\n projectRoot,\n description,\n visibility,\n ...language && {\n homepage: language.projectDetails && language.projectDetails.homepage,\n tags: language.tags\n },\n nextSteps: contributedTasks\n });\n\n await lift({projectRoot, results: deepmerge.all(contributors)});\n\n const gitResults = gitRepo && await liftGit({projectRoot, origin: vcsHostResults});\n\n if (language && language.verificationCommand) {\n info('Verifying the generated project');\n\n const subprocess = execa(language.verificationCommand, {shell: true});\n subprocess.stdout.pipe(process.stdout);\n await subprocess;\n }\n\n reportResults({\n nextSteps: [\n ...(gitResults && gitResults.nextSteps) ? gitResults.nextSteps : [],\n ...contributedTasks\n ]\n });\n}\n","import {questionNames as coreQuestionNames} from '@form8ion/core';\nimport {questionNames as projectScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport * from './scaffolder.js';\nexport {default as lift} from './lift.js';\nexport const questionNames = {\n ...coreQuestionNames,\n ...projectScaffolderQuestionNames\n};\n"],"names":["questionNames","scaffoldGit","scaffold","fs","liftReadme","coreQuestionNames","scaffoldReadme","liftGit","projectScaffolderQuestionNames"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/prompts/question-names.js","../src/language/scaffolder.js","../src/language/prompt.js","../src/prompts/conditionals.js","../src/vcs/host/prompt.js","../src/vcs/git/git.js","../src/license/scaffolder.js","../src/license/tester.js","../src/license/lifter.js","../src/vcs/host/scaffolder.js","../src/dependency-updater/prompt.js","../src/dependency-updater/scaffolder.js","../src/prompts/questions.js","../src/language/schema.js","../src/vcs/host/schema.js","../src/dependency-updater/schema.js","../src/options-schemas.js","../src/options-validator.js","../src/template-path.js","../src/editorconfig/scaffolder.js","../src/contributing/scaffolder.js","../src/lift.js","../src/scaffolder.js","../src/index.js"],"sourcesContent":["export const questionNames = {\n GIT_REPO: 'gitRepo',\n REPO_HOST: 'repoHost',\n REPO_OWNER: 'repoOwner',\n PROJECT_LANGUAGE: 'projectLanguage',\n DEPENDENCY_UPDATER: 'dependencyUpdater'\n};\n","export default function (scaffolders, chosenLanguage, options) {\n const scaffolder = scaffolders[chosenLanguage];\n\n if (scaffolder) return scaffolder(options);\n\n return undefined;\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../prompts/question-names.js';\n\nexport default function (languages, decisions) {\n return prompt([{\n name: questionNames.PROJECT_LANGUAGE,\n type: 'list',\n message: 'What type of project is this?',\n choices: [...Object.keys(languages), 'Other']\n }], decisions);\n}\n","import {Separator} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from './question-names.js';\n\nexport function unlicensedConfirmationShouldBePresented(answers) {\n return 'Private' === answers[questionNames.VISIBILITY];\n}\n\nexport function licenseChoicesShouldBePresented(answers) {\n return 'Public' === answers[questionNames.VISIBILITY] || !answers[questionNames.UNLICENSED];\n}\n\nexport function copyrightInformationShouldBeRequested(answers) {\n return !!answers[questionNames.LICENSE];\n}\n\nexport function filterChoicesByVisibility(choices, visibility) {\n return [\n ...Object.entries(choices)\n .filter(([, choice]) => choice[visibility.toLowerCase()])\n .reduce((acc, [name]) => ([...acc, name]), []),\n new Separator(),\n 'Other'\n ];\n}\n","import {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from '../../prompts/question-names.js';\nimport {filterChoicesByVisibility} from '../../prompts/conditionals.js';\n\nexport default async function (hosts, visibility, decisions) {\n const answers = await prompt([{\n name: questionNames.REPO_HOST,\n type: 'list',\n message: 'Where will the repository be hosted?',\n choices: filterChoicesByVisibility(hosts, visibility)\n }], decisions);\n const host = hosts[answers[questionNames.REPO_HOST]];\n\n return {...answers, ...host && await host.prompt({decisions})};\n}\n","import {simpleGit} from 'simple-git';\nimport hostedGitInfo from 'hosted-git-info';\nimport {info, warn} from '@travi/cli-messages';\nimport {scaffold as scaffoldGit} from '@form8ion/git';\n\nimport promptForVcsHostDetails from '../host/prompt.js';\nimport {questionNames} from '../../prompts/question-names.js';\n\nasync function getExistingRemotes(git) {\n try {\n return await git.listRemote();\n } catch (e) {\n if ('fatal: No remote configured to list refs from.\\n' === e.message) {\n return [];\n }\n\n throw e;\n }\n}\n\nasync function defineRemoteOrigin(projectRoot, origin) {\n const git = simpleGit({baseDir: projectRoot});\n const existingRemotes = await getExistingRemotes(git);\n\n if (existingRemotes.includes('origin')) {\n warn('The `origin` remote is already defined for this repository');\n\n return {nextSteps: []};\n }\n\n if (origin.sshUrl) {\n info(`Setting remote origin to ${origin.sshUrl}`, {level: 'secondary'});\n\n await git.addRemote('origin', origin.sshUrl);\n\n // info('Setting the local `master` branch to track `origin/master`');\n //\n // await gitBranch.setUpstream(\n // await gitBranch.lookup(repository, 'master', gitBranch.BRANCH.LOCAL),\n // 'origin/master'\n // );\n\n return {nextSteps: [{summary: 'Set local `master` branch to track upstream `origin/master`'}]};\n }\n\n warn('URL not available to configure remote `origin`');\n\n return {nextSteps: []};\n}\n\nexport async function initialize(\n gitRepoShouldBeInitialized,\n projectRoot,\n projectName,\n vcsHosts,\n visibility,\n decisions\n) {\n if (gitRepoShouldBeInitialized) {\n const git = simpleGit({baseDir: projectRoot});\n if (await git.checkIsRepo('root')) {\n info('Git repository already exists');\n\n const remoteOrigin = await git.remote(['get-url', 'origin']);\n const {user, project, type} = hostedGitInfo.fromUrl(remoteOrigin);\n\n return {owner: user, name: project, host: type};\n }\n\n const [answers] = await Promise.all([\n promptForVcsHostDetails(vcsHosts, visibility, decisions),\n scaffoldGit({projectRoot})\n ]);\n\n return {\n host: answers[questionNames.REPO_HOST].toLowerCase(),\n owner: answers[questionNames.REPO_OWNER],\n name: projectName\n };\n }\n\n return undefined;\n}\n\nexport async function scaffold({projectRoot, origin}) {\n info('Finishing Git Configuration');\n\n const remoteOriginResults = await defineRemoteOrigin(projectRoot, origin);\n\n return {nextSteps: [{summary: 'Commit scaffolded files'}, ...remoteOriginResults.nextSteps]};\n}\n","import {promises as fs} from 'fs';\nimport wrap from 'word-wrap';\nimport mustache from 'mustache';\n// eslint-disable-next-line import/extensions\nimport spdxLicenseList from 'spdx-license-list/full.js';\nimport {info} from '@travi/cli-messages';\n\nexport default async function ({projectRoot, license, copyright}) {\n if (license) {\n info('Generating License');\n\n const licenseContent = spdxLicenseList[license].licenseText;\n\n await fs.writeFile(\n `${projectRoot}/LICENSE`,\n `${wrap(\n mustache.render(licenseContent, {year: copyright.year, 'copyright holders': copyright.holder}, {}, ['<', '>']),\n {width: 80, indent: ''}\n )}\\n`\n );\n }\n\n return {};\n}\n","import {fileExists} from '@form8ion/core';\n\nexport default function ({projectRoot}) {\n return fileExists(`${projectRoot}/LICENSE`);\n}\n","function repositoryIsHostedOnGithub(vcs) {\n return vcs && 'github' === vcs.host;\n}\n\nexport default function ({vcs}) {\n return {\n ...repositoryIsHostedOnGithub(vcs) && {\n badges: {\n consumer: {\n license: {\n link: 'LICENSE',\n img: `https://img.shields.io/github/license/${vcs.owner}/${vcs.name}.svg?logo=opensourceinitiative`,\n text: 'license'\n }\n }\n }\n }\n };\n}\n","export default function (hosts, options) {\n const lowercasedHosts = Object.fromEntries(\n Object.entries(hosts).map(([name, details]) => [name.toLowerCase(), details])\n );\n const {host: chosenHost, ...rest} = options;\n const host = lowercasedHosts[chosenHost];\n\n if (host) return host.scaffolder(rest);\n\n return {};\n}\n","import {prompt} from '@form8ion/overridable-prompts';\nimport {questionNames} from '../prompts/question-names.js';\n\nexport async function promptForDependencyUpdaterChoice(updaters, decisions) {\n return prompt([{\n name: questionNames.DEPENDENCY_UPDATER,\n type: 'list',\n message: 'Which dependency-update service do you want to manage this project?',\n choices: [...Object.keys(updaters), 'Other']\n }], decisions);\n}\n","import {questionNames} from '../prompts/question-names.js';\nimport {promptForDependencyUpdaterChoice} from './prompt.js';\n\nexport default async function (scaffolders, decisions, options) {\n if (!Object.keys(scaffolders).length) return undefined;\n\n const scaffolderDetails = scaffolders[\n (await promptForDependencyUpdaterChoice(scaffolders, decisions))[questionNames.DEPENDENCY_UPDATER]\n ];\n\n if (scaffolderDetails) return scaffolderDetails.scaffolder(options);\n\n return undefined;\n}\n","import {questionsForBaseDetails} from '@form8ion/core';\nimport {prompt} from '@form8ion/overridable-prompts';\n\nimport {questionNames} from './question-names.js';\n\nexport function promptForBaseDetails(projectRoot, decisions) {\n return prompt([\n ...questionsForBaseDetails(decisions, projectRoot),\n {name: questionNames.GIT_REPO, type: 'confirm', default: true, message: 'Should a git repository be initialized?'}\n ], decisions);\n}\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.func().arity(1));\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required(),\n prompt: joi.func().required(),\n public: joi.bool(),\n private: joi.bool()\n}));\n","import joi from 'joi';\n\nexport default joi.object().pattern(/^/, joi.object({\n scaffolder: joi.func().arity(1).required()\n})).default({});\n","import joi from 'joi';\n\nexport const decisionsSchema = joi.object();\n","import {validateOptions} from '@form8ion/core';\nimport joi from 'joi';\n\nimport languagePluginsSchema from './language/schema.js';\nimport vcsHostPluginsSchema from './vcs/host/schema.js';\nimport dependencyUpdaterPluginsSchema from './dependency-updater/schema.js';\nimport {decisionsSchema} from './options-schemas.js';\n\nexport function validate(options) {\n return validateOptions(joi.object({\n languages: languagePluginsSchema,\n vcsHosts: vcsHostPluginsSchema,\n decisions: decisionsSchema,\n dependencyUpdaters: dependencyUpdaterPluginsSchema\n }), options) || {};\n}\n","import {resolve} from 'path';\nimport filedirname from 'filedirname';\n\nexport default function (fileName) {\n const [, __dirname] = filedirname();\n\n return resolve(__dirname, '..', 'templates', fileName);\n}\n","import {promises as fs} from 'node:fs';\n\nimport determinePathToTemplateFile from '../template-path.js';\n\nexport default function ({projectRoot}) {\n return fs.copyFile(determinePathToTemplateFile('editorconfig.ini'), `${projectRoot}/.editorconfig`);\n}\n","export default function ({visibility}) {\n if ('Public' === visibility) {\n return {\n badges: {\n contribution: {\n PRs: {\n text: 'PRs Welcome',\n link: 'https://makeapullrequest.com',\n img: 'https://img.shields.io/badge/PRs-welcome-brightgreen.svg'\n }\n }\n }\n };\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\nimport {applyEnhancers} from '@form8ion/core';\nimport {lift as liftReadme} from '@form8ion/readme';\nimport * as gitPlugin from '@form8ion/git';\n\nimport * as licensePlugin from './license/index.js';\n\nexport default async function ({projectRoot, results, enhancers, vcs, dependencies}) {\n const enhancerResults = await applyEnhancers({\n results,\n enhancers: {...enhancers, gitPlugin, licensePlugin},\n options: {projectRoot, vcs},\n dependencies\n });\n\n await liftReadme({projectRoot, results: deepmerge.all([results, enhancerResults])});\n\n return enhancerResults;\n}\n","import deepmerge from 'deepmerge';\nimport execa from '@form8ion/execa-wrapper';\nimport {questionNames as coreQuestionNames} from '@form8ion/core';\nimport {reportResults} from '@form8ion/results-reporter';\nimport {scaffold as scaffoldReadme} from '@form8ion/readme';\nimport {info} from '@travi/cli-messages';\n\nimport {scaffold as scaffoldLanguage, prompt as promptForLanguageDetails} from './language/index.js';\nimport {initialize as scaffoldGit, scaffold as liftGit} from './vcs/git/git.js';\nimport {scaffold as scaffoldLicense} from './license/index.js';\nimport {scaffold as scaffoldVcsHost} from './vcs/host/index.js';\nimport scaffoldDependencyUpdater from './dependency-updater/scaffolder.js';\nimport {promptForBaseDetails} from './prompts/questions.js';\nimport {validate} from './options-validator.js';\nimport {questionNames} from './prompts/question-names.js';\nimport {scaffold as scaffoldEditorConfig} from './editorconfig/index.js';\nimport {scaffold as scaffoldContributing} from './contributing/index.js';\nimport lift from './lift.js';\n\nexport async function scaffold(options) {\n const projectRoot = process.cwd();\n const {languages = {}, vcsHosts = {}, decisions, dependencyUpdaters} = validate(options);\n\n const {\n [coreQuestionNames.PROJECT_NAME]: projectName,\n [coreQuestionNames.LICENSE]: chosenLicense,\n [coreQuestionNames.VISIBILITY]: visibility,\n [coreQuestionNames.DESCRIPTION]: description,\n [questionNames.GIT_REPO]: gitRepo,\n [coreQuestionNames.COPYRIGHT_YEAR]: copyrightYear,\n [coreQuestionNames.COPYRIGHT_HOLDER]: copyHolder\n } = await promptForBaseDetails(projectRoot, decisions);\n const copyright = {year: copyrightYear, holder: copyHolder};\n\n const [vcs, contributing, license] = await Promise.all([\n scaffoldGit(gitRepo, projectRoot, projectName, vcsHosts, visibility, decisions),\n scaffoldContributing({visibility}),\n scaffoldLicense({projectRoot, license: chosenLicense, copyright}),\n scaffoldReadme({projectName, projectRoot, description}),\n scaffoldEditorConfig({projectRoot})\n ]);\n\n const {[questionNames.PROJECT_LANGUAGE]: projectLanguage} = await promptForLanguageDetails(languages, decisions);\n\n const language = await scaffoldLanguage(\n languages,\n projectLanguage,\n {projectRoot, projectName, vcs, visibility, license: chosenLicense || 'UNLICENSED', description}\n );\n\n const dependencyUpdaterResults = vcs && await scaffoldDependencyUpdater(\n dependencyUpdaters,\n decisions,\n {projectRoot, vcs}\n );\n\n const contributors = [license, language, dependencyUpdaterResults, contributing].filter(Boolean);\n const contributedTasks = contributors\n .map(contributor => contributor.nextSteps)\n .filter(Boolean)\n .reduce((acc, contributedNextSteps) => ([...acc, ...contributedNextSteps]), []);\n\n const vcsHostResults = vcs && await scaffoldVcsHost(vcsHosts, {\n ...vcs,\n projectRoot,\n description,\n visibility,\n ...language && {\n homepage: language.projectDetails && language.projectDetails.homepage,\n tags: language.tags\n },\n nextSteps: contributedTasks\n });\n\n await lift({projectRoot, results: deepmerge.all(contributors)});\n\n const gitResults = gitRepo && await liftGit({projectRoot, origin: vcsHostResults});\n\n if (language && language.verificationCommand) {\n info('Verifying the generated project');\n\n const subprocess = execa(language.verificationCommand, {shell: true});\n subprocess.stdout.pipe(process.stdout);\n await subprocess;\n }\n\n reportResults({\n nextSteps: [\n ...(gitResults && gitResults.nextSteps) ? gitResults.nextSteps : [],\n ...contributedTasks\n ]\n });\n}\n","import {questionNames as coreQuestionNames} from '@form8ion/core';\nimport {questionNames as projectScaffolderQuestionNames} from './prompts/question-names.js';\n\nexport * from './scaffolder.js';\nexport {default as lift} from './lift.js';\nexport const questionNames = {\n ...coreQuestionNames,\n ...projectScaffolderQuestionNames\n};\n"],"names":["questionNames","scaffoldGit","scaffold","fs","liftReadme","coreQuestionNames","scaffoldReadme","liftGit","projectScaffolderQuestionNames"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/project",
|
|
3
3
|
"description": "opinionated scaffolder for new projects",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "18.
|
|
5
|
+
"version": "18.3.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": "^18.17 || >=20.6.1"
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"cross-env": "7.0.3",
|
|
90
90
|
"cz-conventional-changelog": "3.3.0",
|
|
91
91
|
"gherkin-lint": "4.2.4",
|
|
92
|
-
"husky": "9.
|
|
92
|
+
"husky": "9.1.1",
|
|
93
93
|
"jest-when": "3.6.0",
|
|
94
94
|
"lockfile-lint": "4.14.0",
|
|
95
95
|
"ls-engines": "0.9.2",
|
|
@@ -99,17 +99,17 @@
|
|
|
99
99
|
"mdast-zone": "6.1.0",
|
|
100
100
|
"mock-fs": "5.2.0",
|
|
101
101
|
"npm-run-all2": "6.2.2",
|
|
102
|
-
"publint": "0.2.
|
|
102
|
+
"publint": "0.2.9",
|
|
103
103
|
"remark-cli": "12.0.1",
|
|
104
104
|
"remark-toc": "9.0.0",
|
|
105
105
|
"remark-usage": "11.0.1",
|
|
106
|
-
"rimraf": "6.0.
|
|
106
|
+
"rimraf": "6.0.1",
|
|
107
107
|
"rollup": "4.18.1",
|
|
108
108
|
"rollup-plugin-auto-external": "2.0.0",
|
|
109
109
|
"sinon": "18.0.0",
|
|
110
110
|
"testdouble": "3.20.2",
|
|
111
111
|
"unist-util-find": "3.0.0",
|
|
112
|
-
"vitest": "2.0.
|
|
112
|
+
"vitest": "2.0.3"
|
|
113
113
|
},
|
|
114
|
-
"packageManager": "npm@10.8.
|
|
114
|
+
"packageManager": "npm@10.8.2+sha512.c7f0088c520a46596b85c6f8f1da943400199748a0f7ea8cb8df75469668dc26f6fb3ba26df87e2884a5ebe91557292d0f3db7d0929cdb4f14910c3032ac81fb"
|
|
115
115
|
}
|