本文整理汇总了TypeScript中@ionic/utils-fs.writeFile函数的典型用法代码示例。如果您正苦于以下问题:TypeScript writeFile函数的具体用法?TypeScript writeFile怎么用?TypeScript writeFile使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了writeFile函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: run
async run(inputs: CommandLineInputs, options: CommandLineOptions) {
await remove(STAGING_DIRECTORY);
await mkdirp(STAGING_DIRECTORY);
const projectTypes: ProjectType[] = ['angular', 'ionic-angular', 'ionic1'];
const baseCtx = await generateContext();
for (const projectType of projectTypes) {
// TODO: possible to do this without a physical directory?
const ctx = { ...baseCtx, execPath: path.resolve(PROJECTS_DIRECTORY, projectType) };
const executor = await loadExecutor(ctx, []);
const location = await executor.namespace.locate([]);
const formatter = new NamespaceSchemaHelpFormatter({ location, namespace: executor.namespace });
const formatted = await formatter.serialize();
const projectJson = { type: projectType, ...formatted };
// TODO: `serialize()` from base formatter isn't typed properly
projectJson.commands = await Promise.all(projectJson.commands.map(async cmd => this.extractCommand(cmd as CommandHelpSchema)));
projectJson.commands.sort((a, b) => strcmp(a.name, b.name));
await writeFile(path.resolve(STAGING_DIRECTORY, `${projectType}.json`), JSON.stringify(projectJson, undefined, 2) + '\n', { encoding: 'utf8' });
}
process.stdout.write(`${chalk.green('Done.')}\n`);
}
示例2: run
async run(inputs: CommandLineInputs, options: CommandLineOptions): Promise<void> {
const { ERROR_SSH_INVALID_PRIVKEY, ERROR_SSH_MISSING_PRIVKEY, validatePrivateKey } = await import('../../lib/ssh');
const { ensureHostAndKeyPath, getConfigPath } = await import('../../lib/ssh-config');
const keyPath = expandPath(inputs[0]);
try {
await validatePrivateKey(keyPath);
} catch (e) {
if (e === ERROR_SSH_MISSING_PRIVKEY) {
throw new FatalException(
`${strong(prettyPath(keyPath))} does not appear to exist. Please specify a valid SSH private key.\n` +
`If you are having issues, try using ${input('ionic ssh setup')}.`
);
} else if (e === ERROR_SSH_INVALID_PRIVKEY) {
throw new FatalException(
`${strong(prettyPath(keyPath))} does not appear to be a valid SSH private key. (Missing '-----BEGIN RSA PRIVATE KEY-----' header.)\n` +
`If you are having issues, try using ${input('ionic ssh setup')}.`
);
} else {
throw e;
}
}
const { SSHConfig } = await import('../../lib/ssh-config');
const sshConfigPath = getConfigPath();
const text1 = await fileToString(sshConfigPath);
const conf = SSHConfig.parse(text1);
ensureHostAndKeyPath(conf, { host: this.env.config.getGitHost(), port: this.env.config.getGitPort() }, keyPath);
const text2 = SSHConfig.stringify(conf);
if (text1 === text2) {
this.env.log.msg(`${strong(prettyPath(keyPath))} is already your active SSH key.`);
return;
} else {
const { diffPatch } = await import('../../lib/diff');
const diff = await diffPatch(sshConfigPath, text1, text2);
this.env.log.rawmsg(diff);
const confirm = await this.env.prompt({
type: 'confirm',
name: 'confirm',
message: `May we make the above change(s) to '${prettyPath(sshConfigPath)}'?`,
});
if (!confirm) {
// TODO: link to docs about manual git setup
throw new FatalException();
}
}
await writeFile(sshConfigPath, text2, { encoding: 'utf8', mode: 0o600 });
this.env.log.ok(`Your active Ionic SSH key has been set to ${strong(keyPath)}!`);
}
示例3: run
async run(): Promise<void> {
if (!this.project) {
throw new FatalException(`Cannot run ${input('ionic deploy manifest')} outside a project directory.`);
}
const buildDir = path.resolve(this.project.directory, 'www'); // TODO: this is hard-coded
const manifest = await this.getFilesAndSizesAndHashesForGlobPattern(buildDir);
await writeFile(path.resolve(buildDir, 'pro-manifest.json'), JSON.stringify(manifest, undefined, 2), { encoding: 'utf8' });
}
示例4: readConfig
async readConfig(p: string): Promise<{ [key: string]: any; }> {
try {
let configContents = await readFile(p, { encoding: 'utf8' });
if (!configContents) {
configContents = '{}\n';
await writeFile(p, configContents, { encoding: 'utf8' });
}
return await JSON.parse(configContents);
} catch (e) {
throw new ProjectDetailsError('Could not read project file', 'ERR_INVALID_PROJECT_FILE', e);
}
}
示例5: writeConfig
private async writeConfig({ bits, countryName, stateOrProvinceName, localityName, organizationName, commonName }: OpenSSLConfig): Promise<string> {
const cnf = `
[req]
default_bits = ${bits}
distinguished_name = req_distinguished_name
[req_distinguished_name]
countryName = ${countryName}
stateOrProvinceName = ${stateOrProvinceName}
localityName = ${localityName}
organizationName = ${organizationName}
commonName = ${commonName}
[SAN]
subjectAltName=DNS:${commonName}
`.trim();
const p = tmpfilepath('ionic-ssl');
await writeFile(p, cnf, { encoding: 'utf8' });
return p;
}