lincd-cli 1.1.0 → 1.1.2

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.
Files changed (103) hide show
  1. package/defaults/app-static/.env-cmdrc.json +17 -0
  2. package/defaults/app-static/package.json +8 -0
  3. package/defaults/app-static/src/index-static.tsx +6 -9
  4. package/defaults/app-with-backend/.env-cmdrc.json +1 -4
  5. package/defaults/app-with-backend/gitignore.template +1 -1
  6. package/defaults/app-with-backend/package.json +11 -15
  7. package/defaults/app-with-backend/scripts/storage-config.js +12 -0
  8. package/defaults/app-with-backend/src/config-frontend.ts +17 -0
  9. package/defaults/app-with-backend/src/index.tsx +3 -6
  10. package/defaults/app-with-backend/src/package.ts +1 -2
  11. package/defaults/component.tsx +1 -3
  12. package/defaults/package/package.json +2 -2
  13. package/defaults/package/src/index.ts +1 -0
  14. package/defaults/package/src/ontologies/example-ontology.ts +10 -3
  15. package/defaults/package/src/package.ts +11 -3
  16. package/defaults/package/src/types.d.ts +9 -0
  17. package/defaults/package/tsconfig-cjs.json +8 -0
  18. package/defaults/package/tsconfig-esm.json +9 -0
  19. package/defaults/set-component.tsx +2 -5
  20. package/defaults/shape.ts +2 -2
  21. package/lib/{cli-methods.js → cjs/cli-methods.js} +645 -264
  22. package/lib/cjs/cli-methods.js.map +1 -0
  23. package/lib/cjs/cli.js +202 -0
  24. package/lib/cjs/cli.js.map +1 -0
  25. package/lib/{config-grunt.js → cjs/config-grunt.cjs} +15 -13
  26. package/lib/cjs/config-grunt.cjs.map +1 -0
  27. package/lib/cjs/config-webpack-app.js +353 -0
  28. package/lib/cjs/config-webpack-app.js.map +1 -0
  29. package/lib/cjs/config-webpack.js +436 -0
  30. package/lib/cjs/config-webpack.js.map +1 -0
  31. package/lib/{index.js → cjs/index.js} +3 -5
  32. package/lib/cjs/index.js.map +1 -0
  33. package/lib/{interfaces.js.map → cjs/interfaces.js.map} +1 -1
  34. package/lib/cjs/loaders/css-loader.mjs +82 -0
  35. package/lib/cjs/loaders/css-loader.mjs.map +1 -0
  36. package/lib/cjs/loaders/register.js +6 -0
  37. package/lib/cjs/loaders/register.js.map +1 -0
  38. package/lib/cjs/metadata.js +155 -0
  39. package/lib/cjs/metadata.js.map +1 -0
  40. package/lib/cjs/package.json +139 -0
  41. package/lib/cjs/plugins/check-imports.js.map +1 -0
  42. package/lib/cjs/plugins/declaration-plugin.js +275 -0
  43. package/lib/cjs/plugins/declaration-plugin.js.map +1 -0
  44. package/lib/cjs/plugins/externalise-modules.js +190 -0
  45. package/lib/cjs/plugins/externalise-modules.js.map +1 -0
  46. package/lib/cjs/plugins/watch-run.js.map +1 -0
  47. package/lib/{utils.js → cjs/utils.js} +22 -18
  48. package/lib/cjs/utils.js.map +1 -0
  49. package/lib/esm/cli-methods.js +1965 -0
  50. package/lib/esm/cli-methods.js.map +1 -0
  51. package/lib/{cli.js → esm/cli.js} +59 -44
  52. package/lib/esm/cli.js.map +1 -0
  53. package/lib/esm/config-grunt.cjs +270 -0
  54. package/lib/esm/config-grunt.cjs.map +1 -0
  55. package/lib/esm/config-webpack-app.js +326 -0
  56. package/lib/esm/config-webpack-app.js.map +1 -0
  57. package/lib/{config-webpack.js → esm/config-webpack.js} +27 -39
  58. package/lib/esm/config-webpack.js.map +1 -0
  59. package/lib/esm/index.js +9 -0
  60. package/lib/esm/index.js.map +1 -0
  61. package/lib/esm/interfaces.js +2 -0
  62. package/lib/esm/interfaces.js.map +1 -0
  63. package/lib/esm/loaders/css-loader.mjs +75 -0
  64. package/lib/esm/loaders/css-loader.mjs.map +1 -0
  65. package/lib/esm/loaders/register.js +4 -0
  66. package/lib/esm/loaders/register.js.map +1 -0
  67. package/lib/esm/metadata.js +155 -0
  68. package/lib/esm/metadata.js.map +1 -0
  69. package/lib/esm/package.json +139 -0
  70. package/lib/esm/plugins/check-imports.js +65 -0
  71. package/lib/esm/plugins/check-imports.js.map +1 -0
  72. package/lib/{plugins → esm/plugins}/declaration-plugin.js +9 -8
  73. package/lib/esm/plugins/declaration-plugin.js.map +1 -0
  74. package/lib/{plugins → esm/plugins}/externalise-modules.js +5 -6
  75. package/lib/esm/plugins/externalise-modules.js.map +1 -0
  76. package/lib/esm/plugins/watch-run.js +44 -0
  77. package/lib/esm/plugins/watch-run.js.map +1 -0
  78. package/lib/esm/utils.js +478 -0
  79. package/lib/esm/utils.js.map +1 -0
  80. package/package.json +52 -15
  81. package/tsconfig-cjs.json +9 -0
  82. package/tsconfig-esm.json +10 -0
  83. package/defaults/app-with-backend/scripts/build.js +0 -41
  84. package/defaults/app-with-backend/scripts/setup_storage.js +0 -6
  85. package/defaults/app-with-backend/scripts/start-server.js +0 -11
  86. package/lib/cli-methods.js.map +0 -1
  87. package/lib/cli.js.map +0 -1
  88. package/lib/config-grunt.js.map +0 -1
  89. package/lib/config-webpack-app.js +0 -367
  90. package/lib/config-webpack-app.js.map +0 -1
  91. package/lib/config-webpack.js.map +0 -1
  92. package/lib/index.js.map +0 -1
  93. package/lib/metadata.js +0 -149
  94. package/lib/metadata.js.map +0 -1
  95. package/lib/plugins/check-imports.js.map +0 -1
  96. package/lib/plugins/declaration-plugin.js.map +0 -1
  97. package/lib/plugins/externalise-modules.js.map +0 -1
  98. package/lib/plugins/watch-run.js.map +0 -1
  99. package/lib/utils.js.map +0 -1
  100. /package/{expose-grunt.js → expose-grunt.cjs} +0 -0
  101. /package/lib/{interfaces.js → cjs/interfaces.js} +0 -0
  102. /package/lib/{plugins → cjs/plugins}/check-imports.js +0 -0
  103. /package/lib/{plugins → cjs/plugins}/watch-run.js +0 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "app-main": {
3
+ "APP_ID": "com.yourdomain.www",
4
+ "APP_ENV": true,
5
+ "OUTPUT_PATH": "./web/assets",
6
+ "ASSET_PATH": "./assets/",
7
+ "ENTRY_PATH": "./src/index-static.tsx"
8
+ },
9
+ "app-local-android": {
10
+ "NODE_ENV": "app",
11
+ "SITE_ROOT": "http://10.0.2.2:4000"
12
+ },
13
+ "app-local-ios": {
14
+ "NODE_ENV": "app",
15
+ "SITE_ROOT": "http://localhost:4000"
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "scripts": {
3
+ "app": "env-cmd -e _main,production,app-main node scripts/build.js && npx cap sync",
4
+ "app-local-ios": "env-cmd -e _main,development,app-main,app-local-ios node scripts/build.js && npx cap sync",
5
+ "app-local-android": "env-cmd -e _main,development,app-main,app-local-android node scripts/build.js && npx cap sync",
6
+ "app-staging": "env-cmd -e _main,staging,app-main,app-staging node scripts/build.js && npx cap sync"
7
+ }
8
+ }
@@ -2,17 +2,14 @@ import React from 'react';
2
2
  import ReactDOM from 'react-dom/client';
3
3
  import {BrowserRouter} from 'react-router-dom';
4
4
  import App from './App';
5
- import {BackendAPIStore} from 'lincd-server/lib/shapes/BackendAPIStore';
6
- import {LinkedStorage} from 'lincd/lib/utils/LinkedStorage';
7
5
  import {AppContextProvider} from 'lincd-server-utils/lib/components/AppContext';
8
6
 
7
+ //import the storage & file configuration for the frontend
8
+ import './config-frontend';
9
+
9
10
  const root = ReactDOM.createRoot(
10
- document.getElementById('root') as HTMLElement
11
+ document.getElementById('root') as HTMLElement,
11
12
  );
12
- //a BackendAPIStore is the default setup
13
- //it forwards all storage requests to a backend server
14
- export const store = new BackendAPIStore();
15
- LinkedStorage.setDefaultStore(store);
16
13
 
17
14
  root.render(
18
15
  <React.StrictMode>
@@ -21,5 +18,5 @@ root.render(
21
18
  <App />
22
19
  </AppContextProvider>
23
20
  </BrowserRouter>
24
- </React.StrictMode>
25
- );
21
+ </React.StrictMode>,
22
+ );
@@ -9,11 +9,8 @@
9
9
  "NODE_ENV": "development",
10
10
  "SITE_ROOT": "http://localhost:4000"
11
11
  },
12
- "staging": {
13
- "NODE_ENV": "staging",
14
- "SITE_ROOT": "https://next.${hyphen_name}.com"
15
- },
16
12
  "production": {
13
+ "PORT": "4000",
17
14
  "NODE_ENV": "production",
18
15
  "SITE_ROOT": "https://app.${hyphen_name}.com"
19
16
  }
@@ -1,6 +1,6 @@
1
1
  node_modules
2
2
  build
3
- web/assets
3
+ public/bundles
4
4
  data/uploads
5
5
  data/metadata
6
6
  data/sessions
@@ -16,17 +16,12 @@
16
16
  "main": "scripts/start-server.js",
17
17
  "license": "MIT",
18
18
  "scripts": {
19
- "start": "npm run server:dev",
20
- "build": "env-cmd -e _main,production node scripts/build.js",
21
- "build:staging": "env-cmd -e _main,staging node scripts/build.js",
22
- "deploy": "git stash && git pull && yarn mrgit exec \"git stash\" && env-cmd --use-shell \"yarn checkout && yarn dedupe && semantu build-workspace -ug && yarn build && pm2 restart ${hyphen_name}\"",
23
- "deploy:staging": "git stash && git pull && yarn mrgit exec \"git stash\" && env-cmd --use-shell \"yarn checkout && yarn dedupe && semantu build-workspace -ug && yarn build-staging && pm2 restart ${hyphen_name}-staging\"",
19
+ "start": "yarn lincd start --env development",
20
+ "build": "yarn lincd build-app --env production",
24
21
  "postinstall": "husky install",
25
22
  "prepack": "pinst --disable",
26
23
  "postpack": "pinst --enable",
27
- "server:dev": "env-cmd -e _main,development nodemon --quiet --watch ./src/index.tsx ./scripts/start-server.js",
28
- "server:prod": "env-cmd -e _main,production node ./scripts/start-server.js",
29
- "server:staging": "env-cmd -e _main,staging node ./scripts/start-server.js",
24
+ "server:prod": "yarn lincd start --env production",
30
25
  "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\"",
31
26
  "lint:fix": "yarn lint --fix",
32
27
  "prettier": "prettier \"src/**/*.{js,jsx,ts,tsx,css,scss}\" --check",
@@ -63,11 +58,11 @@
63
58
  "@babel/preset-typescript": "^7.22.5",
64
59
  "@babel/register": "^7.22.5",
65
60
  "chalk": "^4.1.2",
66
- "lincd": "^0.6",
67
- "lincd-auth": "^0.1.19",
68
- "lincd-jsonld": "^0.1.21",
69
- "lincd-server": "^0.1.39",
70
- "lincd-server-utils": "^0.1.7",
61
+ "lincd": "^1.0",
62
+ "lincd-auth": "~1.0",
63
+ "lincd-jsonld": "~1.0",
64
+ "lincd-server": "~1.0",
65
+ "lincd-server-utils": "~1.0",
71
66
  "react": "^18.2",
72
67
  "react-dom": "^18.2",
73
68
  "react-error-boundary": "^3.1.3",
@@ -87,10 +82,11 @@
87
82
  "eslint-plugin-react": "latest",
88
83
  "eslint-plugin-react-hooks": "^4.6.0",
89
84
  "husky": "^8.0.0",
90
- "lincd-cli": "^1.0",
85
+ "lincd-cli": "^1.1",
91
86
  "nodemon": "^2.0.22",
92
87
  "pinst": "^3.0.0",
93
88
  "pm2": "^5.3.0",
94
89
  "which": "^3.0.1"
95
- }
90
+ },
91
+ "packageManager": "yarn@3.6.1"
96
92
  }
@@ -0,0 +1,12 @@
1
+ const { Storage } = require('lincd/lib/utils/Storage');
2
+ const { LocalFileStore } = require('lincd-server/lib/shapes/filestores/LocalFileStore');
3
+ const { LinkedFileStorage } = require('lincd/lib/utils/LinkedFileStorage');
4
+ const { N3FileStore } = require('lincd-server/lib/shapes/quadstores/N3FileStore');
5
+
6
+ //How quads are stored
7
+ let quadStore = new N3FileStore(process.env.NODE_ENV + '-main');
8
+ Storage.setDefaultStore(quadStore);
9
+
10
+ //How files are stored
11
+ let fileStore = new LocalFileStore(process.env.NODE_ENV + '-main');
12
+ LinkedFileStorage.setDefaultStore(fileStore);
@@ -0,0 +1,17 @@
1
+ import { LinkedFileStorage } from 'lincd/lib/utils/LinkedFileStorage';
2
+ import { getAccessUrlLocalFileStore } from 'lincd-server/lib/utils/accessUrl';
3
+ import { BackendAPIStore } from 'lincd-server/lib/shapes/quadstores/BackendAPIStore';
4
+ import { LinkedStorage } from 'lincd/lib/utils/LinkedStorage';
5
+
6
+ // store all quads in a file on the backend named 'main'
7
+ // export const store = new BackendFileStore('main');
8
+ const store = new BackendAPIStore();
9
+ LinkedStorage.setDefaultStore(store);
10
+
11
+ // determine where assets at loaded from
12
+ // if (process.env.NODE_ENV === 'development') {
13
+ //by default assets are loaded from the file system of the node.js backend server
14
+ LinkedFileStorage.setDefaultAccessURL(getAccessUrlLocalFileStore());
15
+ // } else {
16
+ // LinkedFileStorage.setDefaultAccessURL(getAccessURLS3FileStore());
17
+ // }
@@ -3,17 +3,14 @@ import { hydrateRoot } from 'react-dom/client';
3
3
  import { BrowserRouter } from 'react-router-dom';
4
4
  import App from './App';
5
5
  import React from 'react';
6
- import { LinkedStorage } from 'lincd/lib/utils/LinkedStorage';
7
- import { BackendAPIStore } from 'lincd-server/lib/shapes/BackendAPIStore';
8
6
  import { AppContextProvider } from 'lincd-server-utils/lib/components/AppContext';
9
7
 
8
+ //import the storage & file configuration for the frontend
9
+ import './config-frontend';
10
+
10
11
  window['$RefreshReg$'] = () => {};
11
12
  window['$RefreshSig$'] = () => () => {};
12
13
 
13
- //forward all storage requests to the backend
14
- export const store = new BackendAPIStore();
15
- LinkedStorage.setDefaultStore(store);
16
-
17
14
  initFrontend().then(() => {
18
15
  hydrateRoot(
19
16
  document,
@@ -1,4 +1,4 @@
1
- import {linkedPackage} from 'lincd/lib/utils/Module';
1
+ import { linkedPackage } from 'lincd/utils/Package';
2
2
 
3
3
  export const {
4
4
  linkedComponent,
@@ -8,7 +8,6 @@ export const {
8
8
  linkedUtil,
9
9
  linkedOntology,
10
10
  registerPackageExport,
11
- registerPackageModule,
12
11
  packageExports,
13
12
  packageName,
14
13
  } = linkedPackage('${hyphen_name}');
@@ -1,12 +1,10 @@
1
1
  import React from "react";
2
2
  import "./${hyphen_name}.scss";
3
3
  import {default as style} from "./${hyphen_name}.scss.json";
4
- import {registerPackageModule,linkedComponent} from '../package';
4
+ import {linkedComponent} from '../package';
5
5
 
6
6
  //TODO: replace SHAPE with an actual Shape class
7
7
  export const ${camel_name} = linkedComponent<SHAPE>(SHAPE,({source}) => {
8
8
  return <div className={style.${camel_name}}></div>;
9
9
  });
10
10
 
11
- //register all components in this file
12
- registerPackageModule(module);
@@ -29,10 +29,10 @@
29
29
  "web3"
30
30
  ],
31
31
  "dependencies": {
32
- "lincd": "^0.6",
32
+ "lincd": "^1.0",
33
33
  "lincd-jsonld": "^0.1"
34
34
  },
35
35
  "devDependencies": {
36
- "lincd-cli": "^1.0"
36
+ "lincd-cli": "^1.1"
37
37
  }
38
38
  }
@@ -1,3 +1,4 @@
1
+ import './types';
1
2
  import './ontologies/${hyphen_name}';
2
3
 
3
4
  //SHAPES FIRST
@@ -1,6 +1,6 @@
1
- import {NamedNode} from 'lincd/lib/models';
1
+ import {NamedNode} from 'lincd/models';
2
2
  import {JSONLD} from 'lincd-jsonld/lib/utils/JSONLD';
3
- import {createNameSpace} from 'lincd/lib/utils/NameSpace';
3
+ import {createNameSpace} from 'lincd/utils/NameSpace';
4
4
  import {linkedOntology} from '../package';
5
5
  //import all the exports of this file as one variable called _this (we need this at the end)
6
6
  import * as _this from './${hyphen_name}';
@@ -9,7 +9,14 @@ import * as _this from './${hyphen_name}';
9
9
  * Load the data of this ontology into memory, thus adding the properties of the entities of this ontology to the local graph.
10
10
  */
11
11
  export var loadData = () => {
12
- return import('../data/${hyphen_name}.json').then((data) => JSONLD.parse(data));
12
+ if (typeof module !== 'undefined' && typeof exports !== 'undefined') {
13
+ // CommonJS import
14
+ return import('../data/${hyphen_name}.json').then((data) => JSONLD.parse(data));
15
+ } else {
16
+ // ESM import
17
+ //@ts-ignore
18
+ return import('../data/${hyphen_name}.json',{ assert: { type: "json" } }).then((data) => JSONLD.parse(data));
19
+ }
13
20
  };
14
21
 
15
22
  /**
@@ -1,4 +1,12 @@
1
- import {linkedPackage} from 'lincd/lib/utils/Module';
1
+ import {linkedPackage} from 'lincd/utils/Package';
2
2
 
3
- export const {linkedComponent, linkedComponentClass, linkedShape, linkedUtil, linkedOntology, registerPackageModule, registerPackageExport, packageExports, packageName} =
4
- linkedPackage('${package_name}');
3
+ export const {
4
+ linkedComponent,
5
+ linkedComponentClass,
6
+ linkedShape,
7
+ linkedUtil,
8
+ linkedOntology,
9
+ registerPackageExport,
10
+ packageExports,
11
+ packageName,
12
+ } = linkedPackage('${package_name}');
@@ -0,0 +1,9 @@
1
+ declare module '*.module.css' {
2
+ const classes: {[key: string]: string};
3
+ export default classes;
4
+ }
5
+
6
+ declare module '*.module.scss' {
7
+ const classes: {[key: string]: string};
8
+ export default classes;
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "target": "es6",
6
+ "outDir": "lib/cjs"
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "esnext",
5
+ "target": "es2018",
6
+ "outDir": "lib/esm",
7
+ "moduleResolution": "node"
8
+ }
9
+ }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import "./${hyphen_name}.scss";
3
3
  import {default as style} from "./${hyphen_name}.scss.json";
4
- import {registerPackageModule,linkedSetComponent} from '../package';
4
+ import {linkedSetComponent} from '../package';
5
5
 
6
6
  //TODO: replace SHAPE with an actual Shape class
7
7
  export const ${camel_name} = linkedSetComponent<SHAPE>(SHAPE,({sources}) => {
@@ -10,7 +10,4 @@ export const ${camel_name} = linkedSetComponent<SHAPE>(SHAPE,({sources}) => {
10
10
  return <div key={source.toString()}></div>;
11
11
  })}
12
12
  </div>;
13
- });
14
-
15
- //register all components in this file
16
- registerPackageModule(module);
13
+ });
package/defaults/shape.ts CHANGED
@@ -1,5 +1,5 @@
1
- import {Shape} from 'lincd/lib/shapes/Shape';
2
- import {NamedNode} from 'lincd/lib/models';
1
+ import {Shape} from 'lincd/shapes/Shape';
2
+ import {NamedNode} from 'lincd/models';
3
3
  import {linkedShape} from '../package';
4
4
 
5
5
  @linkedShape