cpp.js 1.0.0-beta.2 → 1.0.0-beta.21

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 (56) hide show
  1. package/README.md +104 -0
  2. package/package.json +25 -6
  3. package/src/{functions/buildJS.js → actions/buildJs.js} +7 -5
  4. package/src/actions/buildWasm.js +68 -0
  5. package/src/actions/createInterface.js +127 -0
  6. package/src/actions/createLib.js +103 -0
  7. package/src/actions/createXCFramework.js +40 -0
  8. package/src/actions/getAllBridges.js +8 -0
  9. package/src/actions/getCmakeParameters.js +50 -0
  10. package/src/actions/getData.js +28 -0
  11. package/src/actions/getDependLibs.js +19 -0
  12. package/src/{functions → actions}/run.js +77 -40
  13. package/src/assets/CMakeLists.txt +13 -9
  14. package/src/assets/ios.toolchain.cmake +4 -4
  15. package/src/bin.js +147 -72
  16. package/src/export/react-native.js +51 -0
  17. package/src/export/web.js +42 -0
  18. package/src/index.js +13 -63
  19. package/src/state/calculateDependencyParameters.js +64 -0
  20. package/src/state/index.js +81 -0
  21. package/src/state/loadConfig.js +96 -0
  22. package/src/utils/downloadAndExtractFile.js +36 -0
  23. package/src/utils/fixPackageName.js +7 -0
  24. package/src/utils/getAbsolutePath.js +14 -0
  25. package/src/utils/{findCMakeListsFile.js → getCMakeListsFilePath.js} +4 -3
  26. package/src/utils/getOsUserAndGroupId.js +2 -1
  27. package/src/utils/getParentPath.js +12 -0
  28. package/src/utils/hash.js +20 -0
  29. package/src/utils/loadJs.js +32 -0
  30. package/src/utils/loadJson.js +16 -0
  31. package/src/utils/writeJson.js +9 -0
  32. package/.mocharc.yaml +0 -3
  33. package/src/functions/createBridge.js +0 -37
  34. package/src/functions/createLib.js +0 -44
  35. package/src/functions/createWasm.js +0 -71
  36. package/src/functions/findOrCreateInterfaceFile.js +0 -68
  37. package/src/functions/finishBuild.js +0 -43
  38. package/src/functions/getCmakeParams.js +0 -106
  39. package/src/functions/getData.js +0 -36
  40. package/src/functions/getLibs.js +0 -33
  41. package/src/functions/specs/createBridge.spec.js +0 -51
  42. package/src/functions/specs/findOrCreateInterfaceFile.spec.js +0 -49
  43. package/src/utils/createTempDir.js +0 -15
  44. package/src/utils/getBaseInfo.js +0 -15
  45. package/src/utils/getCliPath.js +0 -11
  46. package/src/utils/getConfig.js +0 -170
  47. package/src/utils/getDirName.js +0 -7
  48. package/src/utils/getPathInfo.js +0 -10
  49. package/src/utils/specs/findCMakeListsFile.spec.js +0 -34
  50. package/src/utils/specs/utils.spec.js +0 -81
  51. package/test/data/sample.cpp +0 -1
  52. package/test/data/sample.h +0 -10
  53. package/test/data/sample.i +0 -12
  54. package/test/data/sample2.cpp +0 -0
  55. package/test/data/sample2.ei +0 -12
  56. package/test/data/sample2.h +0 -10
@@ -1,7 +0,0 @@
1
- import * as url from 'node:url';
2
-
3
- export default function getDirName(importUrl) {
4
- const filename = url.fileURLToPath(importUrl);
5
- const temp = filename.split('/'); temp.pop();
6
- return temp.join('/');
7
- }
@@ -1,10 +0,0 @@
1
- import p from 'path';
2
-
3
- export default function getPathInfo(path, base) {
4
- const output = {
5
- relative: p.relative(base, path),
6
- absolute: path,
7
- };
8
-
9
- return output;
10
- }
@@ -1,34 +0,0 @@
1
- import { assert } from 'chai';
2
- import fs from 'fs';
3
- import p from 'path';
4
- import * as url from 'node:url';
5
- import { tmpdir } from "os";
6
- import findCMakeListsFile from './findCMakeListsFile.js';
7
-
8
- const __filename = url.fileURLToPath(import.meta.url);
9
- const temp = __filename.split('/');
10
- temp.pop();
11
- temp.pop();
12
- const __dirname = temp.join('/');
13
-
14
- export function createTempDir(folder) {
15
- let path = p.join(tmpdir(), "cppjs-app-cli-test");
16
- if (folder) path = p.join(path, folder);
17
-
18
- if (fs.existsSync(path)) fs.rmSync(path, { recursive: true, force: true });
19
- fs.mkdirSync(path, { recursive: true });
20
-
21
- return path;
22
- }
23
-
24
- describe('findCMakeListsFile', function () {
25
- let tempdir;
26
- before(async function () {
27
- tempdir = createTempDir();
28
- });
29
-
30
- it('find CMakeLists.txt file', async function () {
31
- const path = findCMakeListsFile(tempdir);
32
- assert.equal(path, __dirname + '/assets/CMakeLists.txt');
33
- });
34
- });
@@ -1,81 +0,0 @@
1
- import { assert } from 'chai';
2
- import { getBaseInfo, getPathInfo } from './utils.js';
3
-
4
- describe('getBaseInfo', function () {
5
- it('empty', async function () {
6
- const baseInfo = getBaseInfo('');
7
- assert.equal(baseInfo.withSlash, '/');
8
- assert.equal(baseInfo.withoutSlash, '/');
9
- });
10
-
11
- it('null', async function () {
12
- const baseInfo = getBaseInfo(null);
13
- assert.equal(baseInfo.withSlash, '/');
14
- assert.equal(baseInfo.withoutSlash, '/');
15
- });
16
-
17
- it('undefined', async function () {
18
- const baseInfo = getBaseInfo();
19
- assert.equal(baseInfo.withSlash, '/');
20
- assert.equal(baseInfo.withoutSlash, '/');
21
- });
22
-
23
- it('/', async function () {
24
- const baseInfo = getBaseInfo('/');
25
- assert.equal(baseInfo.withSlash, '/');
26
- assert.equal(baseInfo.withoutSlash, '/');
27
- });
28
-
29
- it('with /', async function () {
30
- const baseInfo = getBaseInfo('/home/cppjs/');
31
- assert.equal(baseInfo.withSlash, '/home/cppjs/');
32
- assert.equal(baseInfo.withoutSlash, '/home/cppjs');
33
- });
34
-
35
- it('without /', async function () {
36
- const baseInfo = getBaseInfo('/home/cppjs');
37
- assert.equal(baseInfo.withSlash, '/home/cppjs/');
38
- assert.equal(baseInfo.withoutSlash, '/home/cppjs');
39
- });
40
- });
41
-
42
- describe('getPathInfo', function () {
43
- it('path: absolute', async function () {
44
- const path = '/home/cppjs/cppjs.h';
45
- const pathInfo = getPathInfo(path);
46
- assert.equal(pathInfo.relative, path);
47
- assert.equal(pathInfo.absolute, path);
48
- });
49
-
50
- it('path: absolute, base: /', async function () {
51
- const basePath = '/home/cppjs/';
52
- const path = '/home/cppjs/cppjs.h';
53
- const pathInfo = getPathInfo(path, basePath);
54
- assert.equal(pathInfo.relative, 'cppjs.h');
55
- assert.equal(pathInfo.absolute, path);
56
- });
57
-
58
- it('path: absolute, base', async function () {
59
- const basePath = '/home/cppjs';
60
- const path = '/home/cppjs/cppjs.h';
61
- const pathInfo = getPathInfo(path, basePath);
62
- assert.equal(pathInfo.relative, 'cppjs.h');
63
- assert.equal(pathInfo.absolute, path);
64
- });
65
-
66
- it('path: relative, base: /', async function () {
67
- const basePath = '/home/cppjs/';
68
- const path = 'cppjs.h';
69
- const pathInfo = getPathInfo(path, basePath);
70
- assert.equal(pathInfo.relative, 'cppjs.h');
71
- assert.equal(pathInfo.absolute, basePath + path);
72
- });
73
-
74
- it('path: relative, base: ', async function () {
75
- const basePath = '/home/cppjs';
76
- const path = 'cppjs.h';
77
- const pathInfo = getPathInfo(path, basePath);
78
- assert.equal(pathInfo.relative, 'cppjs.h');
79
- assert.equal(pathInfo.absolute, basePath + '/' + path);
80
- });
81
- });
@@ -1 +0,0 @@
1
- #include "sample.h"
@@ -1,10 +0,0 @@
1
- #ifndef _SAMPLE_H
2
- #define _SAMPLE_H
3
-
4
- class Sample {
5
- public:
6
- Sample();
7
- void t();
8
- };
9
-
10
- #endif
@@ -1,12 +0,0 @@
1
- #ifndef _SAMPLE_I
2
- #define _SAMPLE_I
3
-
4
- %module Sample
5
-
6
- %{
7
- #include "sample.h"
8
- %}
9
-
10
- %include "sample.h"
11
-
12
- #endif
File without changes
@@ -1,12 +0,0 @@
1
- #ifndef _SAMPLE2_I
2
- #define _SAMPLE2_I
3
-
4
- %module SAMPLE2
5
-
6
- %{
7
- #include "sample2.h"
8
- %}
9
-
10
- %include "sample2.h"
11
-
12
- #endif
@@ -1,10 +0,0 @@
1
- #ifndef _SAMPLE2_H
2
- #define _SAMPLE2_H
3
-
4
- class Sample2 {
5
- public:
6
- Sample2();
7
- void y();
8
- };
9
-
10
- #endif