license in file + package json

This commit is contained in:
Timo Hocker 2020-04-26 11:57:42 +02:00
parent cd7c757daf
commit b69e6a36c3

View File

@ -10,9 +10,10 @@ import path from 'path';
import fs from 'fs-extra';
import { Confirm, Input, AutoComplete } from 'enquirer';
// eslint-disable-next-line id-match
import { findLicense } from 'license';
import { findLicense, getLicense } from 'license';
import { Snippet } from '../../Snippet';
import { DialogHandler } from '../../dialog';
import { modify_json } from '../../Helper';
import { CopyrightGenerator } from './copyright_generator';
import { FileMapper } from './file_mapper';
import { CopyrightOptions } from './copyright_options';
@ -33,6 +34,24 @@ export default class Copyright implements Snippet {
this.fix_file_license.bind (this)
);
modify_json ((json) => {
json.author = `${this.options.author} <${this.options.email}>`;
json.license = this.options.has_license
? this.options.license
: 'UNLICENSED';
});
if (this.options.has_license) {
await fs.writeFile (
path.join (cwd, 'LICENSE'),
getLicense (this.options.license, {
name: this.options.author,
email: this.options.email,
project: this.options.software
})
);
}
if (!this.loaded_from_config && await new Confirm (
{ message: 'should those settings be saved for the next run?' }
)