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

Method release

src/rulesDeploy.ts:271–299  ·  view source on GitHub ↗

* Releases the rules from the given file and resource name. * @param filename The filename to release. * @param resourceName The release name to release these as. * @param subResourceName An optional sub-resource name to append to the * release name. This is required if resourceName ==

(
    filename: string,
    resourceName: RulesetServiceType,
    subResourceName?: string,
  )

Source from the content-addressed store, hash-verified

269 * release name. This is required if resourceName === FIREBASE_STORAGE.
270 */
271 async release(
272 filename: string,
273 resourceName: RulesetServiceType,
274 subResourceName?: string,
275 ): Promise<void> {
276 // Cast as a RulesetServiceType to test the value against known types.
277 if (resourceName === RulesetServiceType.FIREBASE_STORAGE && !subResourceName) {
278 throw new FirebaseError(`Cannot release resource type "${resourceName}"`);
279 }
280
281 const key =
282 this.type === RulesetServiceType.FIREBASE_STORAGE
283 ? filename
284 : `${filename}:${subResourceName || ""}`;
285 const releaseName =
286 subResourceName && subResourceName !== "(default)"
287 ? `${resourceName}/${subResourceName}`
288 : resourceName;
289
290 await gcp.rules.updateOrCreateRelease(
291 this.options.project,
292 this.rulesetNames[key],
293 releaseName,
294 );
295 utils.logLabeledSuccess(
296 RulesetType[this.type],
297 `released rules ${bold(filename)} to ${bold(resourceName)}`,
298 );
299 }
300
301 /**
302 * Attempts to compile a ruleset.

Callers 5

release.tsFile · 0.80
release.tsFile · 0.80
executeFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected