lincd-cli 0.2.34 → 0.2.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,95 @@ const config: CapacitorConfig = {
4
4
  appId: 'com.mydomain.FILL_IN_YOUR_OWN',
5
5
  appName: 'FILL_IN_YOUR_OWN',
6
6
  webDir: 'frontend/web',
7
- bundledWebRuntime: false
7
+ server: {
8
+ allowNavigation: ['DOMAIN', 'APP_DOMAIN'],
9
+ },
10
+ bundledWebRuntime: false,
11
+ //Add or remove plugins that you need. Here is a starter list
12
+ plugins: {
13
+ CapacitorHttp: {
14
+ enabled: true,
15
+ },
16
+ FirebaseMessaging: {
17
+ presentationOptions: ['badge', 'sound', 'alert'],
18
+ },
19
+ GoogleAuth: {
20
+ scopes: ['profile', 'email'],
21
+ //self created production web client
22
+ clientId: '734627482469-37q563qta2jt6bmhksemmvco8si0pmai.apps.googleusercontent.com',
23
+ //For these lines use the auto generated web client "Web client (auto created by Google Service)"
24
+ serverClientId: '580968717451-68kpj51ulab8q7drbd3sr7imodai81lp.apps.googleusercontent.com',
25
+ androidClientId: '580968717451-68kpj51ulab8q7drbd3sr7imodai81lp.apps.googleusercontent.com',
26
+ iosClientId: '580968717451-aoj80o3e8qfjlmbrgabf916mfk4t3ntr.apps.googleusercontent.com',
27
+ forceCodeForRefreshToken: true,
28
+ },
29
+ SplashScreen: {
30
+ launchShowDuration: 400,
31
+ launchAutoHide: true,
32
+ // launchFadeOutDuration: 500,
33
+ backgroundColor: '#F7E5FF',
34
+ androidSplashResourceName: 'splash',
35
+ // androidScaleType: 'CENTER',
36
+ showSpinner: false,
37
+ // androidSpinnerStyle: 'large',
38
+ // iosSpinnerStyle: 'small',
39
+ // spinnerColor: '#999999',
40
+ splashFullScreen: true,
41
+ splashImmersive: true,
42
+ // layoutName: 'launch_screen',
43
+ // useDialog: true,
44
+ },
45
+ },
46
+ };
47
+
48
+ export default config;
49
+
50
+ import {CapacitorConfig} from '@capacitor/cli';
51
+
52
+ const config: CapacitorConfig = {
53
+ appId: 'com.spiritualplaymates.app',
54
+ appName: 'Spiritual Playmates',
55
+ webDir: 'frontend/web',
56
+ server: {
57
+ allowNavigation: ['spiritualplaymates.com', 'app.spiritualplaymates.com', 'http://reborn-pro.local:4000'],
58
+ },
59
+ cordova: {},
60
+ plugins: {
61
+ FirebaseMessaging: {
62
+ presentationOptions: ['badge', 'sound', 'alert'],
63
+ },
64
+ GoogleAuth: {
65
+ scopes: ['profile', 'email'],
66
+ //self created production web client
67
+ clientId: '734627482469-37q563qta2jt6bmhksemmvco8si0pmai.apps.googleusercontent.com',
68
+ serverClientId: '580968717451-68kpj51ulab8q7drbd3sr7imodai81lp.apps.googleusercontent.com',
69
+ //auto generated web client
70
+ //clientId: '580968717451-68kpj51ulab8q7drbd3sr7imodai81lp.apps.googleusercontent.com ',
71
+ androidClientId: '580968717451-68kpj51ulab8q7drbd3sr7imodai81lp.apps.googleusercontent.com',
72
+
73
+ iosClientId: '580968717451-aoj80o3e8qfjlmbrgabf916mfk4t3ntr.apps.googleusercontent.com',
74
+ forceCodeForRefreshToken: true,
75
+ },
76
+ CapacitorHttp: {
77
+ enabled: true,
78
+ },
79
+ SplashScreen: {
80
+ launchShowDuration: 400,
81
+ launchAutoHide: true,
82
+ // launchFadeOutDuration: 500,
83
+ backgroundColor: '#F7E5FF',
84
+ androidSplashResourceName: 'splash',
85
+ // androidScaleType: 'CENTER',
86
+ showSpinner: false,
87
+ // androidSpinnerStyle: 'large',
88
+ // iosSpinnerStyle: 'small',
89
+ // spinnerColor: '#999999',
90
+ splashFullScreen: true,
91
+ splashImmersive: true,
92
+ // layoutName: 'launch_screen',
93
+ // useDialog: true,
94
+ },
95
+ },
8
96
  };
9
97
 
10
98
  export default config;
@@ -1,4 +1,5 @@
1
1
  node_modules
2
2
  *.scss.json
3
3
  # Ignore artifacts:
4
- build
4
+ build
5
+ package.json
@@ -2,14 +2,16 @@ import {Link} from 'react-router-dom';
2
2
  import React from 'react';
3
3
  import style from './Header.scss.json';
4
4
  import './Header.scss';
5
+ import {ROUTES} from '../routes';
5
6
 
6
7
  export function Header() {
7
8
  return (
8
9
  <header className={style.header}>
9
10
  <h1>${name}</h1>
10
11
  <nav className={style.menu}>
11
- <Link to="/">Home</Link>
12
- <Link to="/page1">Page 1</Link>
12
+ {Object.keys(ROUTES).map(key => {
13
+ return <Link key={key} to={ROUTES[key].path}>{ROUTES[key].label || key}</Link>
14
+ })}
13
15
  </nav>
14
16
  </header>
15
17
  );
@@ -10,10 +10,12 @@ export const ROUTES = {
10
10
  path: '/',
11
11
  component: lazy(() => import('./pages/Home' /* webpackPrefetch: true */)),
12
12
  requireAuth: true,
13
+ label:"Home",
13
14
  },
14
15
  page1: {
15
16
  path: '/page1',
16
17
  component: lazy(() => import('./pages/Page1' /* webpackPrefetch: true */)),
18
+ label:"Page 1",
17
19
  },
18
20
  };
19
21
 
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.executeCommandForPackage = exports.addCapacitor = exports.executeCommandForEachPackage = exports.buildUpdated = exports.publishPackage = exports.publishUpdated = exports.buildPackage = exports.buildMetadata = exports.register = exports.createPackage = exports.createComponent = exports.createSetComponent = exports.createShape = exports.createOntology = exports.getLincdPackages = exports.buildAll = exports.developPackage = exports.createApp = void 0;
38
+ exports.executeCommandForPackage = exports.addCapacitor = exports.executeCommandForEachPackage = exports.buildUpdated = exports.publishPackage = exports.publishUpdated = exports.buildPackage = exports.buildMetadata = exports.register = exports.createPackage = exports.depCheck = exports.createComponent = exports.createSetComponent = exports.createShape = exports.createOntology = exports.getLincdPackages = exports.buildAll = exports.developPackage = exports.createApp = void 0;
39
39
  const path_1 = __importDefault(require("path"));
40
40
  const fs_extra_1 = __importDefault(require("fs-extra"));
41
41
  const utils_1 = require("./utils");
@@ -47,6 +47,7 @@ const JSONLDWriter_1 = require("lincd-jsonld/lib/utils/JSONLDWriter");
47
47
  const NameSpace_1 = require("lincd/lib/utils/NameSpace");
48
48
  const Prefix_1 = require("lincd/lib/utils/Prefix");
49
49
  const get_env_vars_1 = require("env-cmd/dist/get-env-vars");
50
+ const depcheck_1 = __importDefault(require("depcheck"));
50
51
  var glob = require('glob');
51
52
  var variables = {};
52
53
  var open = require('open');
@@ -706,6 +707,28 @@ const createComponent = (name, basePath = process.cwd()) => __awaiter(void 0, vo
706
707
  }
707
708
  });
708
709
  exports.createComponent = createComponent;
710
+ const depCheck = () => __awaiter(void 0, void 0, void 0, function* () {
711
+ (0, depcheck_1.default)(process.cwd(), {}, (results) => {
712
+ if (results.missing) {
713
+ let missing = Object.keys(results.missing);
714
+ //currently react is not an explicit dependency, but we should add it as a peer dependency
715
+ missing.splice(missing.indexOf("react"));
716
+ if (missing.length > 0) {
717
+ console.warn(chalk_1.default.red("Missing dependencies:\n\t" + missing.join(",\n\t")));
718
+ }
719
+ }
720
+ // if(Object.keys(results.invalidFiles).length > 0) {
721
+ // console.warn(chalk.red("Invalid files:\n")+Object.keys(results.invalidFiles).join(",\n"));
722
+ // }
723
+ // if(Object.keys(results.invalidDirs).length > 0) {
724
+ // console.warn(chalk.red("Invalid dirs:\n")+results.invalidDirs.toString());
725
+ // }
726
+ // if(results.unused) {
727
+ // console.warn("Unused dependencies: "+results.missing.join(", "));
728
+ // }
729
+ });
730
+ });
731
+ exports.depCheck = depCheck;
709
732
  const createPackage = (name, uriBase, basePath = process.cwd()) => __awaiter(void 0, void 0, void 0, function* () {
710
733
  //if ran with npx, basePath will be the root directory of the repository, even if we're executing from a sub folder (the root directory is where node_modules lives and package.json with workspaces)
711
734
  //so we manually find a packages folder, if it exists we go into that.
@@ -1440,6 +1463,18 @@ var executeCommandForEachPackage = function (packages, command, filterMethod, fi
1440
1463
  return p;
1441
1464
  };
1442
1465
  exports.executeCommandForEachPackage = executeCommandForEachPackage;
1466
+ var gitIgnore = function (...entries) {
1467
+ //add each entry to the .gitignore file
1468
+ let gitIgnorePath = path_1.default.resolve(process.cwd(), '.gitignore');
1469
+ addLinesToFile(gitIgnorePath, entries);
1470
+ };
1471
+ var addLinesToFile = function (filePath, entries) {
1472
+ let fileContents = fs_extra_1.default.readFileSync(filePath, { encoding: 'utf8' });
1473
+ entries.forEach(entry => {
1474
+ fileContents += '\n' + entry;
1475
+ });
1476
+ fs_extra_1.default.writeFileSync(filePath, fileContents);
1477
+ };
1443
1478
  var addCapacitor = function (basePath = process.cwd()) {
1444
1479
  return __awaiter(this, void 0, void 0, function* () {
1445
1480
  let targetFolder = ensureFolderExists(basePath);
@@ -1458,6 +1493,7 @@ var addCapacitor = function (basePath = process.cwd()) {
1458
1493
  };
1459
1494
  fs_extra_1.default.writeFile(envCmdPath, JSON.stringify(envCmd, null, 2));
1460
1495
  log('Edited .env-cmdrc.json');
1496
+ gitIgnore('android/app/build', 'android/**/capacitor.build.gradle', 'ios/App/App/public', 'ios/App/Podfile');
1461
1497
  //update package.json scripts
1462
1498
  let pack = (0, utils_1.getPackageJSON)(basePath);
1463
1499
  pack.scripts['build-static'] = 'env-cmd -e static-dev node frontend/scripts/build.js';
package/lib/cli.js CHANGED
@@ -110,6 +110,9 @@ program.command('all [action] [filter] [filter-value]').action((command, filter,
110
110
  program.command('dev [target] [mode]').action((target, mode) => {
111
111
  (0, cli_methods_1.developPackage)(target, mode);
112
112
  });
113
+ program.command('depcheck').action((target, mode) => {
114
+ (0, cli_methods_1.depCheck)();
115
+ });
113
116
  program
114
117
  .command('package')
115
118
  .action((name, command, args) => {
@@ -75,7 +75,7 @@ function setupGrunt(grunt, moduleName, config) {
75
75
  grunt.registerTask('build-es6', (0, utils_1.flatten)([
76
76
  'prepare-build',
77
77
  buildFrontend ? 'webpack:build-es6' : null,
78
- buildServer ? ['clean:lib', 'exec:build-lib', 'copy:lib'] : null,
78
+ buildServer ? ['clean:lib', 'exec:build-lib', 'copy:lib', 'exec:depcheck'] : null,
79
79
  // 'exec:shapes',
80
80
  ]));
81
81
  grunt.registerTask('build-lib', ['prepare-build', 'exec:build-lib', 'copy:lib']);
@@ -96,6 +96,7 @@ function setupGrunt(grunt, moduleName, config) {
96
96
  'build-lib-es5': 'yarn exec tsc --pretty -p tsconfig-es5.json',
97
97
  beforeBuildCommand: config.beforeBuildCommand,
98
98
  'server-dev': 'tsc -w',
99
+ depcheck: 'yarn lincd depcheck',
99
100
  test: 'tsc -w',
100
101
  // shapes: 'lincd shapes',
101
102
  'css-declarations': 'tcm -p **/*.scss',
package/lib/utils.js CHANGED
@@ -53,7 +53,6 @@ exports.getPackageJSON = getPackageJSON;
53
53
  * @param packageJson
54
54
  */
55
55
  var getLINCDDependencies = function (packageJson, checkedPackages = new Set()) {
56
- var _a;
57
56
  if (!packageJson) {
58
57
  packageJson = (0, exports.getPackageJSON)();
59
58
  }
@@ -81,33 +80,71 @@ var getLINCDDependencies = function (packageJson, checkedPackages = new Set()) {
81
80
  }
82
81
  }
83
82
  if (firstTime) {
84
- let dependencyMap = new Map();
83
+ // let dependencyMap:Map<string,Set<string>> = new Map();
85
84
  let lincdPackageNames = new Set(lincdPackagePaths.map(([packageName, modulePath, pkgDependencies]) => packageName));
86
85
  //remove lincd-cli from the list of lincd packages
87
86
  lincdPackageNames.delete('lincd-cli');
88
- lincdPackagePaths.forEach(([packageName, modulePath, pkgDependencies]) => {
89
- dependencyMap.set(packageName, new Set(pkgDependencies.filter(dependency => lincdPackageNames.has(dependency))));
87
+ lincdPackagePaths.forEach(([packageName, modulePath, pkgDependencies], key) => {
88
+ let lincdDependencies = pkgDependencies.filter(dependency => lincdPackageNames.has(dependency));
89
+ if (packageName === 'lincd-cli') {
90
+ //remove lincd-modules from the dependencies of lincd-cli (it's not a hard dependency, and it messes things up)
91
+ lincdDependencies.splice(lincdDependencies.indexOf('lincd-modules'), 1);
92
+ }
93
+ // dependencyMap.set(packageName, new Set(lincdDependencies));
94
+ //update dependencies to be the actual lincd package objects
95
+ lincdPackagePaths[key][2] = lincdDependencies;
90
96
  });
91
- //remove lincd-modules from the dependencies of lincd-cli (it's not a hard dependency, and it messes things up)
92
- (_a = dependencyMap.get('lincd-cli')) === null || _a === void 0 ? void 0 : _a.delete('lincd-modules');
93
- //add the nested dependencies for each lincd package
94
- for (let [packageName, pkgDependencies] of dependencyMap) {
95
- pkgDependencies.forEach((dependency) => {
96
- if (dependencyMap.has(dependency)) {
97
- dependencyMap.get(dependency).forEach((nestedDependency) => {
98
- pkgDependencies.add(nestedDependency);
99
- });
97
+ // //add the nested dependencies for each lincd package
98
+ // for (let [packageName,pkgDependencies] of dependencyMap) {
99
+ // pkgDependencies.forEach((dependency) => {
100
+ // if (dependencyMap.has(dependency)) {
101
+ // dependencyMap.get(dependency).forEach((nestedDependency) => {
102
+ // pkgDependencies.add(nestedDependency);
103
+ // });
104
+ // }
105
+ // });
106
+ // }
107
+ //
108
+ // dependencyMap.forEach((dependencies,packageName) => {
109
+ // //check for circular dependencies
110
+ // if([...dependencies].some(dependency => {
111
+ // return dependencyMap.get(dependency).has(packageName);
112
+ // }))
113
+ // {
114
+ // console.warn(`Circular dependency detected between ${packageName} and ${dependency}`);
115
+ // }
116
+ //
117
+ // });
118
+ // a simple sort with dependencyMap doesn't seem to work,so we start with LINCD (least dependencies) and from there add packages that have all their dependencies already added
119
+ let sortedPackagePaths = [];
120
+ let addedPackages = new Set(['lincd']);
121
+ sortedPackagePaths.push(lincdPackagePaths.find(([packageName]) => {
122
+ return packageName === 'lincd';
123
+ }));
124
+ while (addedPackages.size !== lincdPackagePaths.length) {
125
+ let startSize = addedPackages.size;
126
+ lincdPackagePaths.forEach(([packageName, modulePath, pkgDependencies]) => {
127
+ if (!addedPackages.has(packageName) && pkgDependencies.every(dependency => addedPackages.has(dependency))) {
128
+ sortedPackagePaths.push([packageName, modulePath, pkgDependencies]);
129
+ addedPackages.add(packageName);
100
130
  }
101
131
  });
132
+ if (startSize === addedPackages.size) {
133
+ console.warn('Could not sort lincd packages, circular dependencies?');
134
+ break;
135
+ }
102
136
  }
103
137
  //sort the lincd packages by least dependent first
104
- lincdPackagePaths.sort(([packageNameA, modulePathA, pkgDependenciesA], [packageNameB, modulePathB, pkgDependenciesB]) => {
105
- //if package A depends on package B, then package B should come first
106
- if (dependencyMap.get(packageNameA).has(packageNameB)) {
107
- return 1;
108
- }
109
- return -1;
110
- });
138
+ // lincdPackagePaths = lincdPackagePaths.sort(([packageNameA],[packageNameB]) => {
139
+ // //if package A depends on package B, then package B should come first
140
+ // if (dependencyMap.get(packageNameA).has(packageNameB)) {
141
+ // console.log(packageNameA+' depends on '+packageNameB+ ' (below)')
142
+ // return 1;
143
+ // }
144
+ // console.log(packageNameA+' above '+packageNameB)
145
+ // return -1;
146
+ // });
147
+ return sortedPackagePaths;
111
148
  }
112
149
  return lincdPackagePaths;
113
150
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lincd-cli",
3
- "version": "0.2.34",
3
+ "version": "0.2.37",
4
4
  "description": "Command line tools for the lincd.js library",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -8,7 +8,6 @@
8
8
  "build": "npm exec tsc",
9
9
  "dev": "npm exec tsc -w"
10
10
  },
11
- "lincd": true,
12
11
  "keywords": [
13
12
  "lincd",
14
13
  "cli",
@@ -45,6 +44,7 @@
45
44
  "commander": "^9.4.0",
46
45
  "copy-webpack-plugin": "^11.0.0",
47
46
  "css-loader": "^6.7.1",
47
+ "depcheck": "^1.4.3",
48
48
  "env-cmd": "^10.1.0",
49
49
  "find-nearest-package-json": "^2.0.1",
50
50
  "fs-extra": "^10.1.0",