@prosopo/config 0.1.18 → 0.2.0

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 (61) hide show
  1. package/dist/dependencies.d.ts +34 -0
  2. package/dist/dependencies.d.ts.map +1 -0
  3. package/dist/dependencies.js +118 -0
  4. package/dist/dependencies.js.map +1 -0
  5. package/dist/index.d.ts +5 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +5 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/polkadot/exclude.d.ts +4 -0
  10. package/dist/polkadot/exclude.d.ts.map +1 -0
  11. package/dist/polkadot/exclude.js +28 -0
  12. package/dist/polkadot/exclude.js.map +1 -0
  13. package/dist/polkadot/index.d.ts +2 -0
  14. package/dist/polkadot/index.d.ts.map +1 -0
  15. package/dist/polkadot/index.js +2 -0
  16. package/dist/polkadot/index.js.map +1 -0
  17. package/dist/polkadot/mock.d.ts +7 -0
  18. package/dist/polkadot/mock.d.ts.map +1 -0
  19. package/dist/polkadot/mock.js +6 -0
  20. package/dist/polkadot/mock.js.map +1 -0
  21. package/dist/provider/index.d.ts +2 -0
  22. package/dist/provider/index.d.ts.map +1 -0
  23. package/dist/provider/index.js +2 -0
  24. package/dist/provider/index.js.map +1 -0
  25. package/dist/provider/test.d.ts +58 -0
  26. package/dist/provider/test.d.ts.map +1 -0
  27. package/dist/provider/test.js +53 -0
  28. package/dist/provider/test.js.map +1 -0
  29. package/dist/vite/index.d.ts +7 -0
  30. package/dist/vite/index.d.ts.map +1 -0
  31. package/dist/vite/index.js +7 -0
  32. package/dist/vite/index.js.map +1 -0
  33. package/dist/vite/types.d.ts +2 -0
  34. package/dist/vite/types.d.ts.map +1 -0
  35. package/dist/vite/types.js +2 -0
  36. package/dist/vite/types.js.map +1 -0
  37. package/dist/vite/vite-plugin-close-and-copy.d.ts +12 -0
  38. package/dist/vite/vite-plugin-close-and-copy.d.ts.map +1 -0
  39. package/dist/vite/vite-plugin-close-and-copy.js +39 -0
  40. package/dist/vite/vite-plugin-close-and-copy.js.map +1 -0
  41. package/dist/vite/vite-plugin-fix-absolute-imports.d.ts +3 -0
  42. package/dist/vite/vite-plugin-fix-absolute-imports.d.ts.map +1 -0
  43. package/dist/vite/vite-plugin-fix-absolute-imports.js +23 -0
  44. package/dist/vite/vite-plugin-fix-absolute-imports.js.map +1 -0
  45. package/dist/vite/vite-plugin-sourcemap-exclude.d.ts +7 -0
  46. package/dist/vite/vite-plugin-sourcemap-exclude.d.ts.map +1 -0
  47. package/dist/vite/vite-plugin-sourcemap-exclude.js +17 -0
  48. package/dist/vite/vite-plugin-sourcemap-exclude.js.map +1 -0
  49. package/dist/vite/vite.backend.config.d.ts +3 -0
  50. package/dist/vite/vite.backend.config.d.ts.map +1 -0
  51. package/dist/vite/vite.backend.config.js +176 -0
  52. package/dist/vite/vite.backend.config.js.map +1 -0
  53. package/dist/vite/vite.frontend.config.d.ts +4 -0
  54. package/dist/vite/vite.frontend.config.d.ts.map +1 -0
  55. package/dist/vite/vite.frontend.config.js +127 -0
  56. package/dist/vite/vite.frontend.config.js.map +1 -0
  57. package/dist/vite/vite.test.config.d.ts +2 -0
  58. package/dist/vite/vite.test.config.d.ts.map +1 -0
  59. package/dist/vite/vite.test.config.js +25 -0
  60. package/dist/vite/vite.test.config.js.map +1 -0
  61. package/package.json +4 -4
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Get the dependencies for a package
3
+ * @param packageName
4
+ */
5
+ export declare function getDependencies(packageName?: string): Promise<{
6
+ dependencies: string[];
7
+ optionalPeerDependencies: string[];
8
+ }>;
9
+ /**
10
+ * Filter out the dependencies we don't want
11
+ * @param deps
12
+ * @param filters
13
+ */
14
+ export declare function filterDependencies(deps: string[], filters: string[]): {
15
+ internal: string[];
16
+ external: string[];
17
+ };
18
+ /** Takes an array of partial module directories, finds the full path, and returns an array containing the file paths
19
+ * of the files contained within the matching module directories [ filePath, filePath, ... ]
20
+ * @param startDir
21
+ * @param includePatterns
22
+ * @param excludePatterns
23
+ * @returns
24
+ * @example
25
+ * const includePatterns = ['kusama.js', 'westend.js']
26
+ * const excludePatterns = ['bytes.js']
27
+ * const startDir = path.resolve(__dirname, '../../node_modules/@polkadot')
28
+ * const files = getFilesInDirs(startDir, includePatterns, excludePatterns)
29
+ * console.log(files)
30
+ * // [ '/home/.../node_modules/@polkadot/types/interfaces/bytes/bytes.js',
31
+ * // '/home/.../node_modules/@polkadot/types/interfaces/bytes/bytes.d.ts']
32
+ * */
33
+ export declare function getFilesInDirs(startDir: string, includePatterns?: string[], excludePatterns?: string[]): string[];
34
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAyBA;;;GAGG;AACH,wBAAsB,eAAe,CACjC,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,wBAAwB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoCzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAehH;AAED;;;;;;;;;;;;;;KAcK;AACL,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,EAAO,EAAE,eAAe,GAAE,MAAM,EAAO,YAgB9G"}
@@ -0,0 +1,118 @@
1
+ import { Glob } from 'glob';
2
+ import { ProsopoEnvError, getLogger } from '@prosopo/common';
3
+ import { at } from '@prosopo/util';
4
+ import child_process from 'child_process';
5
+ import util from 'util';
6
+ const logger = getLogger(`Info`, `config.dependencies.js`);
7
+ const exec = util.promisify(child_process.exec);
8
+ const peerDepsRegex = /UNMET\sOPTIONAL\sDEPENDENCY\s+(@*[\w-/._]+)@/;
9
+ const depsRegex = /\s+(@*[\w-/._]+)@/;
10
+ async function getPackageDir(packageName) {
11
+ let pkg = packageName;
12
+ if (packageName && !packageName.startsWith('@prosopo/')) {
13
+ pkg = `@prosopo/${packageName}`;
14
+ }
15
+ const pkgCommand = `npm list ${pkg} -ap`;
16
+ logger.info(`Running command ${pkgCommand}`);
17
+ // get package directory
18
+ const { stdout: packageDir, stderr } = await exec(pkgCommand);
19
+ if (stderr) {
20
+ throw new ProsopoEnvError(new Error(stderr));
21
+ }
22
+ return packageDir.trim();
23
+ }
24
+ /**
25
+ * Get the dependencies for a package
26
+ * @param packageName
27
+ */
28
+ export async function getDependencies(packageName) {
29
+ let cmd = 'npm ls -a';
30
+ if (packageName) {
31
+ const packageDir = await getPackageDir(packageName);
32
+ cmd = `cd ${packageDir.trim()} && ${cmd}`;
33
+ logger.info(`Running command ${cmd} in ${packageDir}`);
34
+ }
35
+ const { stdout, stderr } = await exec(cmd);
36
+ if (stderr) {
37
+ throw new ProsopoEnvError(new Error(stderr));
38
+ }
39
+ const deps = [];
40
+ const peerDeps = [];
41
+ // for each line, check if there is an unmet optional dependency
42
+ stdout.split('\n').forEach((line) => {
43
+ if (line.includes('UNMET OPTIONAL DEPENDENCY')) {
44
+ // │ │ │ ├── UNMET OPTIONAL DEPENDENCY bufferutil@^4.0.1
45
+ const parts = line.match(peerDepsRegex);
46
+ if (parts && parts.length > 1) {
47
+ peerDeps.push(at(parts, 1));
48
+ }
49
+ }
50
+ else {
51
+ // │ │ │ ├─┬ mongodb-memory-server-core@8.15.1
52
+ const parts = line.match(depsRegex);
53
+ if (parts && parts.length > 1) {
54
+ deps.push(at(parts, 1));
55
+ }
56
+ }
57
+ });
58
+ // dedupe and return deps and peer deps
59
+ return {
60
+ dependencies: deps.filter((x, i) => i === deps.indexOf(x)),
61
+ optionalPeerDependencies: peerDeps.filter((x, i) => i === peerDeps.indexOf(x)),
62
+ };
63
+ }
64
+ /**
65
+ * Filter out the dependencies we don't want
66
+ * @param deps
67
+ * @param filters
68
+ */
69
+ export function filterDependencies(deps, filters) {
70
+ const depsDeduped = deps.filter((x, i) => i === deps.indexOf(x));
71
+ const depsWithLength = depsDeduped.filter((dep) => dep.length > 0).sort();
72
+ const exclude = new RegExp(`${filters.join('|')}`);
73
+ // filter out the deps we don't want
74
+ const internal = [];
75
+ const external = [];
76
+ for (const dep of depsWithLength) {
77
+ if (exclude.test(dep)) {
78
+ external.push(dep);
79
+ }
80
+ else {
81
+ internal.push(dep);
82
+ }
83
+ }
84
+ return { internal, external };
85
+ }
86
+ /** Takes an array of partial module directories, finds the full path, and returns an array containing the file paths
87
+ * of the files contained within the matching module directories [ filePath, filePath, ... ]
88
+ * @param startDir
89
+ * @param includePatterns
90
+ * @param excludePatterns
91
+ * @returns
92
+ * @example
93
+ * const includePatterns = ['kusama.js', 'westend.js']
94
+ * const excludePatterns = ['bytes.js']
95
+ * const startDir = path.resolve(__dirname, '../../node_modules/@polkadot')
96
+ * const files = getFilesInDirs(startDir, includePatterns, excludePatterns)
97
+ * console.log(files)
98
+ * // [ '/home/.../node_modules/@polkadot/types/interfaces/bytes/bytes.js',
99
+ * // '/home/.../node_modules/@polkadot/types/interfaces/bytes/bytes.d.ts']
100
+ * */
101
+ export function getFilesInDirs(startDir, includePatterns = [], excludePatterns = []) {
102
+ const files = [];
103
+ logger.info(`getFilesInDirs: ${startDir} excluding ${includePatterns} including ${excludePatterns}`);
104
+ const ignorePatterns = excludePatterns.map((pattern) => `${startDir}/**/${pattern}`);
105
+ includePatterns.forEach((searchPattern) => {
106
+ // get matching module directories
107
+ const globPattern = `${startDir}/**/${searchPattern}${searchPattern.indexOf('.') > -1 ? '' : '/*'}`;
108
+ //log.info(`globPattern: ${globPattern}`)
109
+ const globResult = new Glob(globPattern, { recursive: true, ignore: ignorePatterns }).walkSync();
110
+ //log.info(`globResult: ${globResult}`)
111
+ for (const filePath of globResult) {
112
+ files.push(filePath);
113
+ //log.info(`ignoring ${filePath}`)
114
+ }
115
+ });
116
+ return files;
117
+ }
118
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './vite/index.js';
2
+ export * from './dependencies.js';
3
+ export * from './polkadot/index.js';
4
+ export * from './provider/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from './vite/index.js';
2
+ export * from './dependencies.js';
3
+ export * from './polkadot/index.js';
4
+ export * from './provider/index.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Alias } from 'vite';
2
+ export declare function excludePolkadot(): string[];
3
+ export declare function getAliases(dir: string): Alias[];
4
+ //# sourceMappingURL=exclude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exclude.d.ts","sourceRoot":"","sources":["../../src/polkadot/exclude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAK5B,wBAAgB,eAAe,aAM9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAgB/C"}
@@ -0,0 +1,28 @@
1
+ import { getLogger } from '@prosopo/common';
2
+ import path from 'path';
3
+ const log = getLogger(`Info`, `config.polkadot.exclude.js`);
4
+ export function excludePolkadot() {
5
+ //'bytes.js'] //...interfacesToIgnore]
6
+ //const startDir = path.resolve(path.resolve(), '../../node_modules/@polkadot')
7
+ //log.info(`startDir: ${startDir}`)
8
+ //return getFilesInDirs(startDir, excludeFiles)
9
+ return ['./kusama.js', './westend.js', './cjs/bytes.js'];
10
+ }
11
+ export function getAliases(dir) {
12
+ const polkadotFilesToAlias = excludePolkadot();
13
+ const alias = [];
14
+ // TODO Is there a way to determine this path by importing mock.js?
15
+ const mockFile = path.resolve(dir, '../config/dist/polkadot/mock.js');
16
+ polkadotFilesToAlias.forEach((file) => {
17
+ log.info(`resolving ${file} to mock.js`);
18
+ alias.push({ find: file, replacement: mockFile });
19
+ });
20
+ for (const pkg of ['api', 'api-contract', 'extension-dapp', 'types', 'util', 'util-crypto']) {
21
+ alias.push({
22
+ find: new RegExp(`/@polkadot/${pkg}$/`),
23
+ replacement: path.resolve(dir, `../../node_modules/@polkadot/${pkg}/bundle-polkadot-${pkg}.js`),
24
+ });
25
+ }
26
+ return alias;
27
+ }
28
+ //# sourceMappingURL=exclude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exclude.js","sourceRoot":"","sources":["../../src/polkadot/exclude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAA;AAC3D,MAAM,UAAU,eAAe;IAC3B,sCAAsC;IACtC,+EAA+E;IAC/E,mCAAmC;IACnC,+CAA+C;IAC/C,OAAO,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,MAAM,oBAAoB,GAAG,eAAe,EAAE,CAAA;IAC9C,MAAM,KAAK,GAAY,EAAE,CAAA;IACzB,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAA;IACrE,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,CAAA;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IACF,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;QACzF,KAAK,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,IAAI,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,gCAAgC,GAAG,oBAAoB,GAAG,KAAK,CAAC;SAClG,CAAC,CAAA;KACL;IACD,OAAO,KAAK,CAAA;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { excludePolkadot, getAliases } from './exclude.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/polkadot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { excludePolkadot, getAliases } from './exclude.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/polkadot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const upgrades: never[];
2
+ export declare const versioned: never[];
3
+ export declare const statemint: never[];
4
+ export declare const shell: never[];
5
+ declare const _default: never[];
6
+ export default _default;
7
+ //# sourceMappingURL=mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/polkadot/mock.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,SAAK,CAAA;AAC1B,eAAO,MAAM,SAAS,SAAK,CAAA;AAC3B,eAAO,MAAM,SAAS,SAAK,CAAA;AAC3B,eAAO,MAAM,KAAK,SAAK,CAAA;;AACvB,wBAAiB"}
@@ -0,0 +1,6 @@
1
+ export const upgrades = [];
2
+ export const versioned = [];
3
+ export const statemint = [];
4
+ export const shell = [];
5
+ export default [];
6
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/polkadot/mock.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAA;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAA;AACvB,eAAe,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as testConfig } from './test.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as testConfig } from './test.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ logLevel: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
3
+ contract: {
4
+ abi: string;
5
+ };
6
+ defaultEnvironment: "development";
7
+ account: {
8
+ password: string;
9
+ address: string;
10
+ };
11
+ networks: {
12
+ development: {
13
+ endpoint: string;
14
+ contract: {
15
+ address: string;
16
+ name: string;
17
+ };
18
+ accounts: string[];
19
+ };
20
+ };
21
+ captchas: {
22
+ solved: {
23
+ count: number;
24
+ };
25
+ unsolved: {
26
+ count: number;
27
+ };
28
+ };
29
+ captchaSolutions: {
30
+ requiredNumberOfSolutions: number;
31
+ solutionWinningPercentage: number;
32
+ captchaFilePath: string;
33
+ captchaBlockRecency: number;
34
+ };
35
+ database: {
36
+ development: {
37
+ type: "mongoMemory";
38
+ endpoint: string;
39
+ dbname: string;
40
+ authSource: string;
41
+ };
42
+ };
43
+ assets: {
44
+ absolutePath: string;
45
+ basePath: string;
46
+ };
47
+ server: {
48
+ baseURL: string;
49
+ port: number;
50
+ fileServePaths: string;
51
+ };
52
+ batchCommit: {
53
+ interval: number;
54
+ maxBatchExtrinsicPercentage: number;
55
+ };
56
+ };
57
+ export default _default;
58
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/provider/test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wBAiDC"}
@@ -0,0 +1,53 @@
1
+ import { DatabaseTypes, EnvironmentTypesSchema } from '@prosopo/types';
2
+ import { getLogLevel } from '@prosopo/common';
3
+ const logLevel = getLogLevel();
4
+ export default {
5
+ logLevel,
6
+ contract: { abi: '../contract/src/abi/prosopo.json' },
7
+ defaultEnvironment: EnvironmentTypesSchema.Values.development,
8
+ account: {
9
+ password: '',
10
+ address: '',
11
+ },
12
+ networks: {
13
+ development: {
14
+ endpoint: process.env.SUBSTRATE_NODE_URL || 'ws://localhost:9944',
15
+ contract: {
16
+ address: process.env.PROTOCOL_CONTRACT_ADDRESS || '',
17
+ name: 'prosopo',
18
+ },
19
+ accounts: ['//Alice', '//Bob', '//Charlie', '//Dave', '//Eve', '//Ferdie'],
20
+ },
21
+ },
22
+ captchas: {
23
+ solved: {
24
+ count: 1,
25
+ },
26
+ unsolved: {
27
+ count: 1,
28
+ },
29
+ },
30
+ captchaSolutions: {
31
+ requiredNumberOfSolutions: 3,
32
+ solutionWinningPercentage: 80,
33
+ captchaFilePath: './tests/mocks/data/captchas.json',
34
+ captchaBlockRecency: 10,
35
+ },
36
+ database: {
37
+ development: { type: DatabaseTypes.enum.mongoMemory, endpoint: '', dbname: 'prosopo_test', authSource: '' },
38
+ },
39
+ assets: {
40
+ absolutePath: '',
41
+ basePath: '',
42
+ },
43
+ server: {
44
+ baseURL: 'http://localhost',
45
+ port: 9229,
46
+ fileServePaths: '[]',
47
+ },
48
+ batchCommit: {
49
+ interval: 1000000,
50
+ maxBatchExtrinsicPercentage: 59,
51
+ },
52
+ };
53
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/provider/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AAC9B,eAAe;IACX,QAAQ;IACR,QAAQ,EAAE,EAAE,GAAG,EAAE,kCAAkC,EAAE;IACrD,kBAAkB,EAAE,sBAAsB,CAAC,MAAM,CAAC,WAAW;IAC7D,OAAO,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;KACd;IACD,QAAQ,EAAE;QACN,WAAW,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,qBAAqB;YACjE,QAAQ,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE;gBACpD,IAAI,EAAE,SAAS;aAClB;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;SAC7E;KACJ;IAED,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,KAAK,EAAE,CAAC;SACX;QACD,QAAQ,EAAE;YACN,KAAK,EAAE,CAAC;SACX;KACJ;IACD,gBAAgB,EAAE;QACd,yBAAyB,EAAE,CAAC;QAC5B,yBAAyB,EAAE,EAAE;QAC7B,eAAe,EAAE,kCAAkC;QACnD,mBAAmB,EAAE,EAAE;KAC1B;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE;KAC9G;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACf;IACD,MAAM,EAAE;QACJ,OAAO,EAAE,kBAAkB;QAC3B,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,IAAI;KACvB;IACD,WAAW,EAAE;QACT,QAAQ,EAAE,OAAO;QACjB,2BAA2B,EAAE,EAAE;KAClC;CACJ,CAAA"}
@@ -0,0 +1,7 @@
1
+ export { default as VitePluginCloseAndCopy } from './vite-plugin-close-and-copy.js';
2
+ export { default as ViteTestConfig } from './vite.test.config.js';
3
+ export { default as VitePluginSourceMapExclude } from './vite-plugin-sourcemap-exclude.js';
4
+ export { default as ViteFrontendConfig } from './vite.frontend.config.js';
5
+ export { default as ViteBackendConfig } from './vite.backend.config.js';
6
+ export { default as VitePluginFixAbsoluteImports } from './vite-plugin-fix-absolute-imports.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export { default as VitePluginCloseAndCopy } from './vite-plugin-close-and-copy.js';
2
+ export { default as ViteTestConfig } from './vite.test.config.js';
3
+ export { default as VitePluginSourceMapExclude } from './vite-plugin-sourcemap-exclude.js';
4
+ export { default as ViteFrontendConfig } from './vite.frontend.config.js';
5
+ export { default as ViteBackendConfig } from './vite.backend.config.js';
6
+ export { default as VitePluginFixAbsoluteImports } from './vite-plugin-fix-absolute-imports.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC1F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { Plugin } from 'vite';
2
+ export interface ClosePluginOptions {
3
+ srcDir: string;
4
+ destDir: string;
5
+ bundleName: string;
6
+ }
7
+ /**
8
+ * description: Closes Vite after the bundle has been build. Optionally copies the bundle to a different directory.
9
+ * @param { ClosePluginOptions } options - The options object
10
+ **/
11
+ export default function VitePluginCloseAndCopy(options?: ClosePluginOptions): Plugin;
12
+ //# sourceMappingURL=vite-plugin-close-and-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-close-and-copy.d.ts","sourceRoot":"","sources":["../../src/vite/vite-plugin-close-and-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAK7B,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACrB;AACD;;;IAGI;AACJ,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CA6BnF"}
@@ -0,0 +1,39 @@
1
+ import { getLogger } from '@prosopo/common';
2
+ import fs from 'node:fs';
3
+ import path from 'path';
4
+ const log = getLogger(`Info`, `config.vite.vite-plugin-close.js`);
5
+ /**
6
+ * description: Closes Vite after the bundle has been build. Optionally copies the bundle to a different directory.
7
+ * @param { ClosePluginOptions } options - The options object
8
+ **/
9
+ export default function VitePluginCloseAndCopy(options) {
10
+ const __dirname = path.resolve();
11
+ return {
12
+ name: 'close-plugin',
13
+ buildStart() {
14
+ log.info('Bundle build started');
15
+ },
16
+ buildEnd(error) {
17
+ log.info('Build end');
18
+ if (error) {
19
+ console.log(error);
20
+ log.error(error);
21
+ }
22
+ },
23
+ closeBundle() {
24
+ if (options) {
25
+ for (const file of fs.readdirSync(path.resolve(__dirname, options.srcDir))) {
26
+ if (file.startsWith(options.bundleName) && file.endsWith('js')) {
27
+ const src = path.resolve(__dirname, options.srcDir, file);
28
+ const dest = path.resolve(__dirname, options.destDir, file);
29
+ fs.copyFileSync(src, dest);
30
+ log.info(`Copied ${src} to ${dest}`);
31
+ }
32
+ }
33
+ }
34
+ log.info('Bundle closed');
35
+ process.exit(0);
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=vite-plugin-close-and-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-close-and-copy.js","sourceRoot":"","sources":["../../src/vite/vite-plugin-close-and-copy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAA;AAMjE;;;IAGI;AACJ,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,OAA4B;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IAChC,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,UAAU;YACN,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACpC,CAAC;QACD,QAAQ,CAAC,KAAK;YACV,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACrB,IAAI,KAAK,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aACnB;QACL,CAAC;QACD,WAAW;YACP,IAAI,OAAO,EAAE;gBACT,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;oBACxE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;wBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;wBAC3D,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;wBAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,EAAE,CAAC,CAAA;qBACvC;iBACJ;aACJ;YACD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'vite';
2
+ export default function VitePluginFixAbsoluteImports(): Plugin;
3
+ //# sourceMappingURL=vite-plugin-fix-absolute-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-fix-absolute-imports.d.ts","sourceRoot":"","sources":["../../src/vite/vite-plugin-fix-absolute-imports.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,CAAC,OAAO,UAAU,4BAA4B,IAAI,MAAM,CAoB7D"}
@@ -0,0 +1,23 @@
1
+ import { builtinModules } from 'module';
2
+ export default function VitePluginFixAbsoluteImports() {
3
+ return {
4
+ name: 'fix-absolute-imports',
5
+ transform(code, id) {
6
+ for (const module of builtinModules) {
7
+ const moduleImportRegex = new RegExp(`from "(${module}(/.*)*/.*.js)";`, 'g');
8
+ // if matches, replace match with _module
9
+ const matches = code.match(moduleImportRegex);
10
+ if (matches) {
11
+ for (const match of matches) {
12
+ code = code.replace(match, `from "${module}";`);
13
+ }
14
+ }
15
+ }
16
+ return {
17
+ code,
18
+ };
19
+ },
20
+ enforce: 'post',
21
+ };
22
+ }
23
+ //# sourceMappingURL=vite-plugin-fix-absolute-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-fix-absolute-imports.js","sourceRoot":"","sources":["../../src/vite/vite-plugin-fix-absolute-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAGvC,MAAM,CAAC,OAAO,UAAU,4BAA4B;IAChD,OAAO;QACH,IAAI,EAAE,sBAAsB;QAC5B,SAAS,CAAC,IAAY,EAAE,EAAU;YAC9B,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;gBACjC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,UAAU,MAAM,iBAAiB,EAAE,GAAG,CAAC,CAAA;gBAC5E,yCAAyC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC7C,IAAI,OAAO,EAAE;oBACT,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;wBACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,IAAI,CAAC,CAAA;qBAClD;iBACJ;aACJ;YACD,OAAO;gBACH,IAAI;aACP,CAAA;QACL,CAAC;QACD,OAAO,EAAE,MAAM;KAClB,CAAA;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from 'vite';
2
+ interface SourcemapExclude {
3
+ excludeNodeModules?: boolean;
4
+ }
5
+ export default function VitePluginSourcemapExclude(opts?: SourcemapExclude): Plugin;
6
+ export {};
7
+ //# sourceMappingURL=vite-plugin-sourcemap-exclude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-sourcemap-exclude.d.ts","sourceRoot":"","sources":["../../src/vite/vite-plugin-sourcemap-exclude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,UAAU,gBAAgB;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAclF"}
@@ -0,0 +1,17 @@
1
+ // Taken from https://github.com/vitejs/vite/issues/2433#issuecomment-1487472995 to prevent memory leaks
2
+ export default function VitePluginSourcemapExclude(opts) {
3
+ return {
4
+ name: 'sourcemap-exclude',
5
+ transform(code, id) {
6
+ if (opts?.excludeNodeModules && id.includes('node_modules')) {
7
+ return {
8
+ code,
9
+ // https://github.com/rollup/rollup/blob/master/docs/plugin-development/index.md#source-code-transformations
10
+ map: { mappings: '' },
11
+ };
12
+ }
13
+ return;
14
+ },
15
+ };
16
+ }
17
+ //# sourceMappingURL=vite-plugin-sourcemap-exclude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-sourcemap-exclude.js","sourceRoot":"","sources":["../../src/vite/vite-plugin-sourcemap-exclude.ts"],"names":[],"mappings":"AAKA,wGAAwG;AACxG,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,IAAuB;IACtE,OAAO;QACH,IAAI,EAAE,mBAAmB;QACzB,SAAS,CAAC,IAAY,EAAE,EAAU;YAC9B,IAAI,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACzD,OAAO;oBACH,IAAI;oBACJ,4GAA4G;oBAC5G,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;iBACxB,CAAA;aACJ;YACD,OAAM;QACV,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { UserConfig } from 'vite';
2
+ export default function (packageName: string, packageVersion: string, bundleName: string, packageDir: string, entry: string, command?: string, mode?: string): Promise<UserConfig>;
3
+ //# sourceMappingURL=vite.backend.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.backend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.backend.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,MAAM,CAAA;AAwC/C,yBACI,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAmKrB"}
@@ -0,0 +1,176 @@
1
+ import { default as ClosePlugin } from './vite-plugin-close-and-copy.js';
2
+ import { builtinModules } from 'module';
3
+ import { filterDependencies, getDependencies } from '../dependencies.js';
4
+ import { getLogger } from '@prosopo/common';
5
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
6
+ import { viteStaticCopy } from 'vite-plugin-static-copy';
7
+ import { wasm } from '@rollup/plugin-wasm';
8
+ import VitePluginFixAbsoluteImports from './vite-plugin-fix-absolute-imports.js';
9
+ import css from 'rollup-plugin-import-css';
10
+ import nativePlugin from 'rollup-plugin-natives';
11
+ import path from 'path';
12
+ import replace from 'vite-plugin-filter-replace';
13
+ const logger = getLogger(`Info`, `vite.backend.config.js`);
14
+ const nodeJsPolarsDeps = [
15
+ 'nodejs-polars.android-arm64.node',
16
+ 'nodejs-polars.android-arm-eabi.node',
17
+ 'nodejs-polars.win32-x64-msvc.node',
18
+ 'nodejs-polars.win32-ia32-msvc.node',
19
+ 'nodejs-polars.win32-arm64-msvc.node',
20
+ 'nodejs-polars.darwin-x64.node',
21
+ 'nodejs-polars.darwin-arm64.node',
22
+ 'nodejs-polars.freebsd-x64.node',
23
+ 'nodejs-polars.linux-x64-musl.node',
24
+ //'nodejs-polars.linux-x64-gnu.node', // - this is the only file that will be present
25
+ 'nodejs-polars.linux-arm64-musl.node',
26
+ 'nodejs-polars.linux-arm64-gnu.node',
27
+ 'nodejs-polars.linux-arm-gnueabihf.node',
28
+ ];
29
+ const aliasOptions = [
30
+ // Replace the nodejs-polars dependency with the copied .node file to avoid complaints when bundling
31
+ ...nodeJsPolarsDeps.map((dep) => ({
32
+ find: `./${dep}`,
33
+ replacement: 'nodejs-polars.linux-x64-gnu.node',
34
+ })),
35
+ ];
36
+ export default async function (packageName, packageVersion, bundleName, packageDir, entry, command, mode) {
37
+ // Get all dependencies of the current package
38
+ const { dependencies: deps, optionalPeerDependencies } = await getDependencies(packageName);
39
+ // Assuming node_modules are at the root of the workspace
40
+ const baseDir = path.resolve('../..');
41
+ const nodeModulesDir = path.resolve(baseDir, 'node_modules');
42
+ // Output directory is relative to directory of the package
43
+ const outDir = path.resolve(packageDir, 'dist/bundle');
44
+ // Get rid of any dependencies we don't want to bundle
45
+ const { external, internal } = filterDependencies(deps, ['aws', 'webpack', 'vite', 'eslint']);
46
+ // Add the node builtins (path, fs, os, etc.) to the external list
47
+ const allExternal = [
48
+ ...builtinModules,
49
+ ...builtinModules.map((m) => `node:${m}`),
50
+ ...external,
51
+ ...optionalPeerDependencies,
52
+ ];
53
+ console.log('allExternal', allExternal);
54
+ logger.info(`Bundling. ${JSON.stringify(internal.slice(0, 10), null, 2)}... ${internal.length} deps`);
55
+ const nodeJsNodeFileToCopy = path.resolve(nodeModulesDir, './nodejs-polars-linux-x64-gnu/nodejs-polars.linux-x64-gnu.node');
56
+ logger.info(`.node files to copy ${nodeJsNodeFileToCopy}`);
57
+ const define = {
58
+ 'process.env.WS_NO_BUFFER_UTIL': 'true',
59
+ 'process.env.WS_NO_UTF_8_VALIDATE': 'true',
60
+ 'process.env.PROSOPO_PACKAGE_VERSION': JSON.stringify(packageVersion),
61
+ };
62
+ logger.info(`Defined vars ${JSON.stringify(define, null, 2)}`);
63
+ const entryAbsolute = path.resolve(packageDir, entry);
64
+ const packageNameShort = packageName.replace('@prosopo/', '');
65
+ const filterEntry = `^${baseDir}/packages/(?!${packageNameShort}/src/${entry.replace('./src/', '')}$)(?!.*/node_modules/.*$).*$`;
66
+ return {
67
+ resolve: {
68
+ alias: aliasOptions,
69
+ },
70
+ ssr: {
71
+ noExternal: internal,
72
+ external: allExternal,
73
+ },
74
+ optimizeDeps: {
75
+ include: ['linked-dep', 'node_modules'],
76
+ esbuildOptions: {
77
+ loader: {
78
+ '.node': 'file',
79
+ },
80
+ },
81
+ },
82
+ esbuild: {
83
+ platform: 'node',
84
+ target: 'node16',
85
+ },
86
+ define,
87
+ build: {
88
+ outDir,
89
+ minify: false,
90
+ ssr: true,
91
+ target: 'node16',
92
+ lib: {
93
+ entry: entryAbsolute,
94
+ name: bundleName,
95
+ fileName: `${bundleName}.[name].bundle.js`,
96
+ formats: ['es'],
97
+ },
98
+ modulePreload: { polyfill: false },
99
+ commonjsOptions: {
100
+ ignore: function (id) {
101
+ // Ignore Executable and Linkable Format (ELF) files from being interpreted as CommonJS. These are
102
+ // .node files that contain WebAssembly code. They are not CommonJS modules.
103
+ return id.indexOf('nodejs-polars-linux-x64-gnu') > -1;
104
+ },
105
+ },
106
+ rollupOptions: {
107
+ treeshake: 'smallest',
108
+ external: allExternal,
109
+ watch: false,
110
+ output: {
111
+ entryFileNames: `${bundleName}.[name].bundle.js`,
112
+ },
113
+ plugins: [
114
+ // This plugin copies .node files but doesn't work for nodejs-polars. Leaving it here in case it's
115
+ // useful in the future.
116
+ nativePlugin({
117
+ // Where we want to physically put the extracted .node files
118
+ copyTo: outDir,
119
+ // Path to the same folder, relative to the output bundle js
120
+ destDir: '.',
121
+ // Generate sourcemap
122
+ sourcemap: true,
123
+ // If the target is ESM, so we can't use `require` (and .node is not supported in `import` anyway), we will need to use `createRequire` instead.
124
+ targetEsm: true,
125
+ }),
126
+ css(),
127
+ wasm(),
128
+ nodeResolve(),
129
+ ],
130
+ },
131
+ },
132
+ plugins: [
133
+ // plugin to replace stuff like import blah from string_encoder/lib/string_encoder.js with import blah from string_encoder
134
+ VitePluginFixAbsoluteImports(),
135
+ replace.default([
136
+ // nodejs-polars is not being transformed by commonjsOptions (above) so we need to do a manual replace of
137
+ // __dirname here
138
+ {
139
+ filter: ['node_modules/nodejs-polars/bin/native-polars.js'],
140
+ replace: {
141
+ from: '__dirname',
142
+ to: "new URL(import.meta.url).pathname.split('/').slice(0,-1).join('/')",
143
+ },
144
+ },
145
+ // replace this import
146
+ {
147
+ filter: ['node_modules/nodejs-polars/bin/native-polars.js'],
148
+ replace: {
149
+ from: '__dirname',
150
+ to: "new URL(import.meta.url).pathname.split('/').slice(0,-1).join('/')",
151
+ },
152
+ },
153
+ // replace any references to main process where we are not expecting it
154
+ {
155
+ filter: new RegExp(filterEntry),
156
+ replace: {
157
+ from: 'esMain(import.meta)',
158
+ to: 'false',
159
+ },
160
+ },
161
+ ]),
162
+ // We need the .node files to be available to the bundle
163
+ viteStaticCopy({
164
+ targets: [
165
+ {
166
+ src: nodeJsNodeFileToCopy,
167
+ dest: outDir,
168
+ },
169
+ ],
170
+ }),
171
+ // plugin to close the bundle after build if not in serve mode
172
+ command !== 'serve' ? ClosePlugin() : undefined,
173
+ ],
174
+ };
175
+ }
176
+ //# sourceMappingURL=vite.backend.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.backend.config.js","sourceRoot":"","sources":["../../src/vite/vite.backend.config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ClosePluginOptions } from './vite-plugin-close-and-copy.js';
2
+ import { UserConfig } from 'vite';
3
+ export default function (packageName: string, bundleName: string, dir: string, entry: string, command?: string, mode?: string, copyOptions?: ClosePluginOptions, tsConfigPaths?: string[]): Promise<UserConfig>;
4
+ //# sourceMappingURL=vite.frontend.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAejC,yBACI,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,UAAU,CAAC,CA0HrB"}
@@ -0,0 +1,127 @@
1
+ import { VitePluginCloseAndCopy } from './index.js';
2
+ import { builtinModules } from 'module';
3
+ import { filterDependencies, getDependencies } from '../dependencies.js';
4
+ import { getAliases } from '../polkadot/index.js';
5
+ import { getLogger } from '@prosopo/common';
6
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
7
+ import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
8
+ import { default as viteReact } from '@vitejs/plugin-react';
9
+ import { wasm } from '@rollup/plugin-wasm';
10
+ import css from 'rollup-plugin-import-css';
11
+ import path from 'path';
12
+ import viteTsconfigPaths from 'vite-tsconfig-paths';
13
+ const logger = getLogger(`Info`, `vite.config.js`);
14
+ export default async function (packageName, bundleName, dir, entry, command, mode, copyOptions, tsConfigPaths) {
15
+ logger.info(`Running at ${dir} in ${mode} mode`);
16
+ const isProduction = mode === 'production';
17
+ // NODE_ENV must be wrapped in quotes. We just set it to the mode and ignore what's in the env file, otherwise the
18
+ // mode and NODE_ENV can end up out of sync (one set to development and the other set to production, which causes
19
+ // issues like this: https://github.com/hashicorp/next-mdx-remote/pull/323
20
+ process.env.NODE_ENV = `${mode}`;
21
+ logger.info(`NODE_ENV: ${process.env.NODE_ENV}`);
22
+ // Set the env vars that we want to be available in the browser
23
+ const define = {
24
+ // used to stop websockets package from breaking
25
+ 'process.env.WS_NO_BUFFER_UTIL': JSON.stringify('true'),
26
+ 'process.env.WS_NO_UTF_8_VALIDATE': JSON.stringify('true'),
27
+ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
28
+ 'process.env.PROTOCOL_CONTRACT_ADDRESS': JSON.stringify(process.env.PROTOCOL_CONTRACT_ADDRESS),
29
+ 'process.env.SUBSTRATE_NODE_URL': JSON.stringify(process.env.SUBSTRATE_NODE_URL),
30
+ 'process.env.DEFAULT_ENVIRONMENT': JSON.stringify(process.env.DEFAULT_ENVIRONMENT),
31
+ 'process.env.SERVER_URL': JSON.stringify(process.env.SERVER_URL),
32
+ // only needed if bundling with a site key
33
+ 'process.env.PROSOPO_SITE_KEY': JSON.stringify(process.env.PROSOPO_SITE_KEY),
34
+ };
35
+ logger.info(`Env vars: ${JSON.stringify(define, null, 4)}`);
36
+ // Get all dependencies of the current package
37
+ const { dependencies: deps, optionalPeerDependencies } = await getDependencies(packageName);
38
+ // Get rid of any dependencies we don't want to bundle
39
+ const { external, internal } = filterDependencies(deps, ['pm2', 'nodejs-polars', 'aws', 'webpack', 'vite']);
40
+ // Add the node builtins (path, fs, os, etc.) to the external list
41
+ const allExternal = [
42
+ ...builtinModules,
43
+ ...builtinModules.map((m) => `node:${m}`),
44
+ ...external,
45
+ ...optionalPeerDependencies,
46
+ ];
47
+ logger.info(`Bundling. ${JSON.stringify(internal.slice(0, 10), null, 2)}... ${internal.length} deps`);
48
+ const alias = isProduction ? getAliases(dir) : [];
49
+ // Required to print RegExp in console (e.g. alias keys)
50
+ const proto = RegExp.prototype;
51
+ proto['toJSON'] = RegExp.prototype.toString;
52
+ logger.info(`aliases ${JSON.stringify(alias, null, 2)}`);
53
+ return {
54
+ server: {
55
+ host: '127.0.0.1',
56
+ },
57
+ mode: mode || 'development',
58
+ optimizeDeps: {
59
+ include: ['linked-dep', 'esm-dep > cjs-dep', 'node_modules'], //'node_modules'
60
+ //exclude: ['react', 'react-dom'],
61
+ },
62
+ esbuild: {
63
+ platform: 'browser',
64
+ target: ['es2020', 'chrome60', 'edge18', 'firefox60', 'node12', 'safari11'],
65
+ },
66
+ define,
67
+ // resolve: {
68
+ // alias,
69
+ // },
70
+ build: {
71
+ outDir: path.resolve(dir, 'dist/bundle'),
72
+ minify: isProduction,
73
+ ssr: false,
74
+ lib: {
75
+ entry: path.resolve(dir, entry),
76
+ name: bundleName,
77
+ fileName: `${bundleName}.bundle.js`,
78
+ // sets the bundle to an instantly invoked function expression (IIFE)
79
+ formats: ['iife'],
80
+ },
81
+ modulePreload: { polyfill: true },
82
+ commonjsOptions: {
83
+ exclude: ['mongodb/*'],
84
+ transformMixedEsModules: true,
85
+ },
86
+ rollupOptions: {
87
+ treeshake: 'smallest',
88
+ external: allExternal,
89
+ watch: false,
90
+ output: {
91
+ dir: path.resolve(dir, 'dist/bundle'),
92
+ entryFileNames: `${bundleName}.bundle.js`,
93
+ },
94
+ plugins: [
95
+ css(),
96
+ wasm(),
97
+ nodeResolve({
98
+ browser: true,
99
+ preferBuiltins: false,
100
+ rootDir: path.resolve(dir, '../../'),
101
+ dedupe: ['react', 'react-dom'],
102
+ }),
103
+ // I think we can use this plugin to build all packages instead of relying on the tsc step that's
104
+ // currently a precursor in package.json. However, it fails for the following reason:
105
+ // https://github.com/rollup/plugins/issues/243
106
+ // typescript({
107
+ // tsconfig: path.resolve('./tsconfig.json'),
108
+ // compilerOptions: { rootDir: path.resolve('./src') },
109
+ // }),
110
+ ],
111
+ },
112
+ },
113
+ plugins: [
114
+ // Not sure if we need this plugin or not, it works without it
115
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
116
+ // @ts-ignore
117
+ viteReact(),
118
+ viteCommonjs(),
119
+ // Closes the bundler and copies the bundle to the client-bundle-example project unless we're in serve
120
+ // mode, in which case we don't want to close the bundler because it will close the server
121
+ command !== 'serve' ? VitePluginCloseAndCopy(copyOptions) : undefined,
122
+ // Means we can specify index.tsx instead of index.jsx in the index.html file
123
+ viteTsconfigPaths({ projects: tsConfigPaths }),
124
+ ],
125
+ };
126
+ }
127
+ //# sourceMappingURL=vite.frontend.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function (): import("vite").UserConfig;
2
+ //# sourceMappingURL=vite.test.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,wCAqBb"}
@@ -0,0 +1,25 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ import VitePluginSourcemapExclude from './vite-plugin-sourcemap-exclude.js';
3
+ export default function () {
4
+ return defineConfig({
5
+ build: {
6
+ minify: false,
7
+ sourcemap: false,
8
+ rollupOptions: {
9
+ maxParallelFileOps: 1,
10
+ cache: false,
11
+ output: {
12
+ sourcemap: false,
13
+ },
14
+ },
15
+ },
16
+ test: {
17
+ include: ['../../packages/*/tests/**/*.test.ts'],
18
+ exclude: ['../../demos/**/*'],
19
+ singleThread: true,
20
+ watchExclude: ['**/node_modules/**', '**/dist/**'],
21
+ },
22
+ plugins: [VitePluginSourcemapExclude({ excludeNodeModules: true })],
23
+ });
24
+ }
25
+ //# sourceMappingURL=vite.test.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,0BAA0B,MAAM,oCAAoC,CAAA;AAE3E,MAAM,CAAC,OAAO;IACV,OAAO,YAAY,CAAC;QAChB,KAAK,EAAE;YACH,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE;gBACX,kBAAkB,EAAE,CAAC;gBACrB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACJ,SAAS,EAAE,KAAK;iBACnB;aACJ;SACJ;QACD,IAAI,EAAE;YACF,OAAO,EAAE,CAAC,qCAAqC,CAAC;YAChD,OAAO,EAAE,CAAC,kBAAkB,CAAC;YAC7B,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC,oBAAoB,EAAE,YAAY,CAAC;SACrD;QACD,OAAO,EAAE,CAAC,0BAA0B,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;KACtE,CAAC,CAAA;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/config",
3
- "version": "0.1.18",
3
+ "version": "0.2.0",
4
4
  "description": "Prosopo config library",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -14,13 +14,13 @@
14
14
  "author": "Prosopo Limited",
15
15
  "license": "Apache-2.0",
16
16
  "dependencies": {
17
- "@prosopo/common": "^0.1.18",
18
- "@prosopo/types": "^0.1.18",
17
+ "@prosopo/common": "0.2.0",
18
+ "@prosopo/types": "0.2.0",
19
19
  "glob": "^10.0.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@polkadot/dev": "^0.76.11",
23
- "@prosopo/util": "^0.1.17",
23
+ "@prosopo/util": "0.2.0",
24
24
  "@rollup/plugin-alias": "^5.0.0",
25
25
  "@rollup/plugin-babel": "^6.0.3",
26
26
  "@rollup/plugin-commonjs": "^24.1.0",