MCPcopy Create free account
hub / github.com/firebase/firebase-tools / javascriptSelected

Function javascriptSelected

src/commands/ext-dev-init.ts:138–173  ·  view source on GitHub ↗

* Sets up Javascript boilerplate code for new extension * @param {Config} config configuration options

(config: Config)

Source from the content-addressed store, hash-verified

136 * @param {Config} config configuration options
137 */
138async function javascriptSelected(config: Config): Promise<void> {
139 const indexTemplate = readTemplateSync("extensions/javascript/index.js");
140 const integrationTestTemplate = readTemplateSync("extensions/javascript/integration-test.js");
141 const packageLintingTemplate = readTemplateSync("extensions/javascript/package.lint.json");
142 const packageNoLintingTemplate = readTemplateSync("extensions/javascript/package.nolint.json");
143 const gitignoreTemplate = readTemplateSync("extensions/javascript/_gitignore");
144 const eslintTemplate = readTemplateSync("init/functions/javascript/_eslintrc");
145
146 const lint = await confirm("Do you want to use ESLint to catch probable bugs and enforce style?");
147
148 const templates = readCommonTemplates();
149 await config.askWriteProjectFile("extension.yaml", templates.extSpecTemplate);
150 await config.askWriteProjectFile("PREINSTALL.md", templates.preinstallTemplate);
151 await config.askWriteProjectFile("POSTINSTALL.md", templates.postinstallTemplate);
152 await config.askWriteProjectFile("CHANGELOG.md", templates.changelogTemplate);
153 await config.askWriteProjectFile("functions/index.js", indexTemplate);
154 await config.askWriteProjectFile(
155 "functions/integration-tests/integration-test.spec.js",
156 integrationTestTemplate,
157 );
158 await config.askWriteProjectFile(
159 "functions/integration-tests/firebase.json",
160 templates.integrationTestFirebaseJsonTemplate,
161 );
162 await config.askWriteProjectFile(
163 "functions/integration-tests/extensions/greet-the-world.env",
164 templates.integrationTestEnvTemplate,
165 );
166 if (lint) {
167 await config.askWriteProjectFile("functions/package.json", packageLintingTemplate);
168 await config.askWriteProjectFile("functions/.eslintrc.js", eslintTemplate);
169 } else {
170 await config.askWriteProjectFile("functions/package.json", packageNoLintingTemplate);
171 }
172 await config.askWriteProjectFile("functions/.gitignore", gitignoreTemplate);
173}

Callers 1

ext-dev-init.tsFile · 0.85

Calls 4

readTemplateSyncFunction · 0.90
confirmFunction · 0.90
readCommonTemplatesFunction · 0.85
askWriteProjectFileMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…