aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
commit291803c31f829fe0d32bb3207bc11def95a7408c (patch)
treec7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/files/ngsw-config.json.template30
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.d.ts10
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.js159
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.d.ts13
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.js4
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.json23
6 files changed, 239 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/files/ngsw-config.json.template b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/files/ngsw-config.json.template
new file mode 100644
index 00000000..3e42dd24
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/files/ngsw-config.json.template
@@ -0,0 +1,30 @@
+{
+ "$schema": "<%= relativePathToWorkspaceRoot %>/node_modules/@angular/service-worker/config/schema.json",
+ "index": "/index.html",
+ "assetGroups": [
+ {
+ "name": "app",
+ "installMode": "prefetch",
+ "resources": {
+ "files": [
+ "/favicon.ico",
+ "/index.html",
+ "/manifest.webmanifest",
+ "/*.css",
+ "/*.js"
+ ]
+ }
+ },
+ {
+ "name": "assets",
+ "installMode": "lazy",
+ "updateMode": "prefetch",
+ "resources": {
+ "files": [
+ "/assets/**",
+ "<%= resourcesOutputPath %>/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)"
+ ]
+ }
+ }
+ ]
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.d.ts b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.d.ts
new file mode 100644
index 00000000..d104f532
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.d.ts
@@ -0,0 +1,10 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Rule } from '@angular-devkit/schematics';
+import { Schema as ServiceWorkerOptions } from './schema';
+export default function (options: ServiceWorkerOptions): Rule;
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.js b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.js
new file mode 100644
index 00000000..aa425fef
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/index.js
@@ -0,0 +1,159 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const core_1 = require("@angular-devkit/core");
+const schematics_1 = require("@angular-devkit/schematics");
+const tasks_1 = require("@angular-devkit/schematics/tasks");
+const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript"));
+const ast_utils_1 = require("../utility/ast-utils");
+const change_1 = require("../utility/change");
+const dependencies_1 = require("../utility/dependencies");
+const ng_ast_utils_1 = require("../utility/ng-ast-utils");
+const paths_1 = require("../utility/paths");
+const project_targets_1 = require("../utility/project-targets");
+const workspace_1 = require("../utility/workspace");
+function addDependencies() {
+ return (host, context) => {
+ const packageName = '@angular/service-worker';
+ context.logger.debug(`adding dependency (${packageName})`);
+ const coreDep = (0, dependencies_1.getPackageJsonDependency)(host, '@angular/core');
+ if (coreDep === null) {
+ throw new schematics_1.SchematicsException('Could not find version.');
+ }
+ const serviceWorkerDep = {
+ ...coreDep,
+ name: packageName,
+ };
+ (0, dependencies_1.addPackageJsonDependency)(host, serviceWorkerDep);
+ return host;
+ };
+}
+function updateAppModule(mainPath) {
+ return (host, context) => {
+ context.logger.debug('Updating appmodule');
+ const modulePath = (0, ng_ast_utils_1.getAppModulePath)(host, mainPath);
+ context.logger.debug(`module path: ${modulePath}`);
+ // add import
+ let moduleSource = getTsSourceFile(host, modulePath);
+ let importModule = 'ServiceWorkerModule';
+ let importPath = '@angular/service-worker';
+ if (!(0, ast_utils_1.isImported)(moduleSource, importModule, importPath)) {
+ const change = (0, ast_utils_1.insertImport)(moduleSource, modulePath, importModule, importPath);
+ if (change) {
+ const recorder = host.beginUpdate(modulePath);
+ (0, change_1.applyToUpdateRecorder)(recorder, [change]);
+ host.commitUpdate(recorder);
+ }
+ }
+ // add import for environments
+ // import { environment } from '../environments/environment';
+ moduleSource = getTsSourceFile(host, modulePath);
+ const environmentExportName = (0, ast_utils_1.getEnvironmentExportName)(moduleSource);
+ // if environemnt import already exists then use the found one
+ // otherwise use the default name
+ importModule = environmentExportName || 'environment';
+ // TODO: dynamically find environments relative path
+ importPath = '../environments/environment';
+ if (!environmentExportName) {
+ // if environment import was not found then insert the new one
+ // with default path and default export name
+ const change = (0, ast_utils_1.insertImport)(moduleSource, modulePath, importModule, importPath);
+ if (change) {
+ const recorder = host.beginUpdate(modulePath);
+ (0, change_1.applyToUpdateRecorder)(recorder, [change]);
+ host.commitUpdate(recorder);
+ }
+ }
+ // register SW in app module
+ const importText = core_1.tags.stripIndent `
+ ServiceWorkerModule.register('ngsw-worker.js', {
+ enabled: ${importModule}.production,
+ // Register the ServiceWorker as soon as the app is stable
+ // or after 30 seconds (whichever comes first).
+ registrationStrategy: 'registerWhenStable:30000'
+ })
+ `;
+ moduleSource = getTsSourceFile(host, modulePath);
+ const metadataChanges = (0, ast_utils_1.addSymbolToNgModuleMetadata)(moduleSource, modulePath, 'imports', importText);
+ if (metadataChanges) {
+ const recorder = host.beginUpdate(modulePath);
+ (0, change_1.applyToUpdateRecorder)(recorder, metadataChanges);
+ host.commitUpdate(recorder);
+ }
+ return host;
+ };
+}
+function getTsSourceFile(host, path) {
+ const buffer = host.read(path);
+ if (!buffer) {
+ throw new schematics_1.SchematicsException(`Could not read file (${path}).`);
+ }
+ const content = buffer.toString();
+ const source = ts.createSourceFile(path, content, ts.ScriptTarget.Latest, true);
+ return source;
+}
+function default_1(options) {
+ return async (host, context) => {
+ const workspace = await (0, workspace_1.getWorkspace)(host);
+ const project = workspace.projects.get(options.project);
+ if (!project) {
+ throw new schematics_1.SchematicsException(`Invalid project name (${options.project})`);
+ }
+ if (project.extensions.projectType !== 'application') {
+ throw new schematics_1.SchematicsException(`Service worker requires a project type of "application".`);
+ }
+ const buildTarget = project.targets.get('build');
+ if (!buildTarget) {
+ throw (0, project_targets_1.targetBuildNotFoundError)();
+ }
+ const buildOptions = (buildTarget.options || {});
+ const root = project.root;
+ buildOptions.serviceWorker = true;
+ buildOptions.ngswConfigPath = (0, core_1.join)((0, core_1.normalize)(root), 'ngsw-config.json');
+ let { resourcesOutputPath = '' } = buildOptions;
+ if (resourcesOutputPath) {
+ resourcesOutputPath = (0, core_1.normalize)(`/${resourcesOutputPath}`);
+ }
+ const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [
+ (0, schematics_1.applyTemplates)({
+ ...options,
+ resourcesOutputPath,
+ relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(project.root),
+ }),
+ (0, schematics_1.move)(project.root),
+ ]);
+ context.addTask(new tasks_1.NodePackageInstallTask());
+ return (0, schematics_1.chain)([
+ (0, schematics_1.mergeWith)(templateSource),
+ (0, workspace_1.updateWorkspace)(workspace),
+ addDependencies(),
+ updateAppModule(buildOptions.main),
+ ]);
+ };
+}
+exports.default = default_1;
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.d.ts b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.d.ts
new file mode 100644
index 00000000..c941653d
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.d.ts
@@ -0,0 +1,13 @@
+/**
+ * Pass this schematic to the "run" command to create a service worker
+ */
+export interface Schema {
+ /**
+ * The name of the project.
+ */
+ project: string;
+ /**
+ * The target to apply service worker to.
+ */
+ target?: string;
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.js b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.js
new file mode 100644
index 00000000..4fb6d3d1
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.js
@@ -0,0 +1,4 @@
+"use strict";
+// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
+// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.json b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.json
new file mode 100644
index 00000000..af19ad33
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@schematics/angular/service-worker/schema.json
@@ -0,0 +1,23 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "$id": "SchematicsAngularServiceWorker",
+ "title": "Angular Service Worker Options Schema",
+ "type": "object",
+ "additionalProperties": false,
+ "description": "Pass this schematic to the \"run\" command to create a service worker",
+ "properties": {
+ "project": {
+ "type": "string",
+ "description": "The name of the project.",
+ "$default": {
+ "$source": "projectName"
+ }
+ },
+ "target": {
+ "type": "string",
+ "description": "The target to apply service worker to.",
+ "default": "build"
+ }
+ },
+ "required": ["project"]
+}