ic-mops 0.40.0 → 0.41.1
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.
- package/.DS_Store +0 -0
- package/.npmrc +2 -1
- package/CHANGELOG.md +8 -0
- package/DEVELOPMENT.md +25 -0
- package/bundle/bench/bench-canister.mo +87 -0
- package/bundle/bench/user-bench.mo +14 -0
- package/bundle/bin/moc-wrapper.sh +3 -0
- package/bundle/bin/mops.js +3 -0
- package/bundle/cli.js +88 -0
- package/bundle/cli.tgz +0 -0
- package/bundle/declarations/bench/bench.did +26 -0
- package/bundle/declarations/bench/bench.did.d.ts +29 -0
- package/bundle/declarations/bench/bench.did.js +26 -0
- package/bundle/declarations/bench/index.d.ts +50 -0
- package/bundle/declarations/bench/index.js +40 -0
- package/bundle/declarations/main/index.d.ts +50 -0
- package/bundle/declarations/main/index.js +40 -0
- package/bundle/declarations/main/main.did +433 -0
- package/bundle/declarations/main/main.did.d.ts +355 -0
- package/bundle/declarations/main/main.did.js +407 -0
- package/bundle/declarations/storage/index.d.ts +50 -0
- package/bundle/declarations/storage/index.js +30 -0
- package/bundle/declarations/storage/storage.did +46 -0
- package/bundle/declarations/storage/storage.did.d.ts +37 -0
- package/bundle/declarations/storage/storage.did.js +38 -0
- package/bundle/package.json +31 -0
- package/bundle/templates/README.md +13 -0
- package/bundle/templates/licenses/Apache-2.0 +202 -0
- package/bundle/templates/licenses/Apache-2.0-NOTICE +13 -0
- package/bundle/templates/licenses/MIT +21 -0
- package/bundle/templates/mops-publish.yml +17 -0
- package/bundle/templates/mops-test.yml +22 -0
- package/bundle/templates/src/lib.mo +15 -0
- package/bundle/templates/test/lib.test.mo +4 -0
- package/bundle-package-json.ts +17 -0
- package/check-requirements.ts +50 -0
- package/cli.ts +22 -19
- package/commands/add.ts +4 -0
- package/commands/install-all.ts +2 -0
- package/commands/publish.ts +18 -30
- package/commands/self.ts +75 -0
- package/commands/template.ts +9 -10
- package/commands/toolchain/index.ts +7 -0
- package/declarations/bench/bench.did.d.ts +1 -1
- package/declarations/bench/index.js +1 -2
- package/declarations/main/index.js +1 -2
- package/declarations/main/main.did +15 -8
- package/declarations/main/main.did.d.ts +12 -9
- package/declarations/main/main.did.js +11 -8
- package/dist/api/actors.d.ts +0 -0
- package/dist/api/actors.js +0 -0
- package/dist/api/downloadPackageFiles.d.ts +0 -0
- package/dist/api/downloadPackageFiles.js +0 -0
- package/dist/api/getHighestVersion.d.ts +0 -0
- package/dist/api/getHighestVersion.js +0 -0
- package/dist/api/index.d.ts +0 -0
- package/dist/api/index.js +0 -0
- package/dist/api/network.d.ts +0 -0
- package/dist/api/network.js +0 -0
- package/dist/api/resolveVersion.d.ts +0 -0
- package/dist/api/resolveVersion.js +0 -0
- package/dist/bin/mops.d.ts +1 -1
- package/dist/bin/mops.js +2 -1
- package/dist/bundle-package-json.d.ts +0 -0
- package/dist/bundle-package-json.js +2 -0
- package/dist/cache.d.ts +0 -0
- package/dist/cache.js +0 -0
- package/dist/check-requirements.d.ts +3 -0
- package/dist/check-requirements.js +44 -0
- package/dist/cli.d.ts +0 -0
- package/dist/cli.js +18 -18
- package/dist/commands/add.d.ts +0 -0
- package/dist/commands/add.js +2 -0
- package/dist/commands/available-updates.d.ts +0 -0
- package/dist/commands/available-updates.js +0 -0
- package/dist/commands/bench-replica.d.ts +0 -0
- package/dist/commands/bench-replica.js +0 -0
- package/dist/commands/bench.d.ts +0 -0
- package/dist/commands/bench.js +0 -0
- package/dist/commands/bump.d.ts +0 -0
- package/dist/commands/bump.js +0 -0
- package/dist/commands/docs.d.ts +0 -0
- package/dist/commands/docs.js +0 -0
- package/dist/commands/import-identity.d.ts +0 -0
- package/dist/commands/import-identity.js +0 -0
- package/dist/commands/init.d.ts +0 -0
- package/dist/commands/init.js +0 -0
- package/dist/commands/install-all.d.ts +0 -0
- package/dist/commands/install-all.js +2 -0
- package/dist/commands/install-local.d.ts +0 -0
- package/dist/commands/install-local.js +0 -0
- package/dist/commands/install.d.ts +0 -0
- package/dist/commands/install.js +0 -0
- package/dist/commands/outdated.d.ts +0 -0
- package/dist/commands/outdated.js +0 -0
- package/dist/commands/publish.d.ts +0 -0
- package/dist/commands/publish.js +14 -25
- package/dist/commands/remove.d.ts +0 -0
- package/dist/commands/remove.js +0 -0
- package/dist/commands/search.d.ts +0 -0
- package/dist/commands/search.js +0 -0
- package/dist/commands/self.js +1 -1
- package/dist/commands/sources.d.ts +0 -0
- package/dist/commands/sources.js +0 -0
- package/dist/commands/sync.d.ts +0 -0
- package/dist/commands/sync.js +0 -0
- package/dist/commands/template.d.ts +0 -0
- package/dist/commands/template.js +9 -10
- package/dist/commands/test/mmf1.d.ts +0 -0
- package/dist/commands/test/mmf1.js +0 -0
- package/dist/commands/test/reporters/compact-reporter.d.ts +0 -0
- package/dist/commands/test/reporters/compact-reporter.js +0 -0
- package/dist/commands/test/reporters/files-reporter.d.ts +0 -0
- package/dist/commands/test/reporters/files-reporter.js +0 -0
- package/dist/commands/test/reporters/reporter.d.ts +0 -0
- package/dist/commands/test/reporters/reporter.js +0 -0
- package/dist/commands/test/reporters/silent-reporter.d.ts +0 -0
- package/dist/commands/test/reporters/silent-reporter.js +0 -0
- package/dist/commands/test/reporters/verbose-reporter.d.ts +0 -0
- package/dist/commands/test/reporters/verbose-reporter.js +0 -0
- package/dist/commands/test/test.d.ts +0 -0
- package/dist/commands/test/test.js +0 -0
- package/dist/commands/test/utils.d.ts +0 -0
- package/dist/commands/test/utils.js +0 -0
- package/dist/commands/toolchain/index.d.ts +0 -0
- package/dist/commands/toolchain/index.js +5 -0
- package/dist/commands/toolchain/moc.d.ts +0 -0
- package/dist/commands/toolchain/moc.js +0 -0
- package/dist/commands/toolchain/pocket-ic.d.ts +0 -0
- package/dist/commands/toolchain/pocket-ic.js +0 -0
- package/dist/commands/toolchain/toolchain-utils.d.ts +0 -0
- package/dist/commands/toolchain/toolchain-utils.js +0 -0
- package/dist/commands/toolchain/wasmtime.d.ts +0 -0
- package/dist/commands/toolchain/wasmtime.js +0 -0
- package/dist/commands/transfer-ownership.d.ts +0 -0
- package/dist/commands/transfer-ownership.js +0 -0
- package/dist/commands/update.d.ts +0 -0
- package/dist/commands/update.js +0 -0
- package/dist/commands/user.d.ts +0 -0
- package/dist/commands/user.js +0 -0
- package/dist/commands/whoami.d.ts +0 -0
- package/dist/commands/whoami.js +0 -0
- package/dist/declarations/bench/bench.did +0 -0
- package/dist/declarations/bench/bench.did.d.ts +1 -1
- package/dist/declarations/bench/bench.did.js +0 -0
- package/dist/declarations/bench/index.d.ts +0 -0
- package/dist/declarations/bench/index.js +1 -2
- package/dist/declarations/main/index.d.ts +0 -0
- package/dist/declarations/main/index.js +1 -2
- package/dist/declarations/main/main.did +15 -8
- package/dist/declarations/main/main.did.d.ts +12 -9
- package/dist/declarations/main/main.did.js +11 -8
- package/dist/helpers/find-changelog-entry.d.ts +0 -0
- package/dist/helpers/find-changelog-entry.js +0 -0
- package/dist/helpers/get-dfx-version.d.ts +0 -0
- package/dist/helpers/get-dfx-version.js +0 -0
- package/dist/helpers/get-moc-path.d.ts +0 -0
- package/dist/helpers/get-moc-path.js +0 -0
- package/dist/helpers/get-moc-version.d.ts +0 -0
- package/dist/helpers/get-moc-version.js +0 -0
- package/dist/integrity.d.ts +0 -0
- package/dist/integrity.js +0 -0
- package/dist/mops.d.ts +1 -0
- package/dist/mops.js +12 -1
- package/dist/notify-installs.d.ts +0 -0
- package/dist/notify-installs.js +0 -0
- package/dist/package.json +18 -24
- package/dist/parallel.d.ts +0 -0
- package/dist/parallel.js +0 -0
- package/dist/pem.d.ts +0 -0
- package/dist/pem.js +0 -0
- package/dist/release-cli.d.ts +0 -0
- package/dist/release-cli.js +13 -7
- package/dist/resolve-packages.d.ts +0 -0
- package/dist/resolve-packages.js +0 -0
- package/dist/templates.d.ts +1 -0
- package/dist/templates.js +4 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.js +0 -0
- package/dist/vessel.d.ts +0 -0
- package/dist/vessel.js +0 -0
- package/helpers/find-changelog-entry.ts +27 -0
- package/mops.ts +15 -1
- package/package.json +26 -17
- package/release-cli.ts +67 -0
- package/remove-scripts.ts +6 -0
- package/templates.ts +5 -0
- package/tsconfig.json +1 -1
- package/types.ts +7 -2
- package/commands/self-update.ts +0 -6
- package/dist/commands/self-update.d.ts +0 -3
- package/dist/commands/self-update.js +0 -5
- /package/bin/{mops.ts → mops.js} +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/integrity.d.ts
CHANGED
|
File without changes
|
package/dist/integrity.js
CHANGED
|
File without changes
|
package/dist/mops.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export declare function formatDir(name: string, version: string): string;
|
|
|
27
27
|
export declare function formatGithubDir(name: string, repo: string): string;
|
|
28
28
|
export declare function readDfxJson(): any;
|
|
29
29
|
export declare function checkApiCompatibility(): Promise<boolean>;
|
|
30
|
+
export declare function version(): any;
|
|
30
31
|
export { getNetwork, mainActor, storageActor, getHighestVersion, };
|
package/dist/mops.js
CHANGED
|
@@ -179,7 +179,14 @@ export function readConfig(configFile = getClosestConfigFile()) {
|
|
|
179
179
|
};
|
|
180
180
|
processDeps(toml.dependencies || {});
|
|
181
181
|
processDeps(toml['dev-dependencies'] || {});
|
|
182
|
-
|
|
182
|
+
let config = { ...toml };
|
|
183
|
+
Object.entries(config.requirements || {}).forEach(([name, value]) => {
|
|
184
|
+
if (name === 'moc') {
|
|
185
|
+
config.requirements = config.requirements || {};
|
|
186
|
+
config.requirements.moc = value;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
return config;
|
|
183
190
|
}
|
|
184
191
|
export function writeConfig(config, configFile = getClosestConfigFile()) {
|
|
185
192
|
let resConfig = JSON.parse(JSON.stringify(config));
|
|
@@ -235,5 +242,9 @@ export async function checkApiCompatibility() {
|
|
|
235
242
|
}
|
|
236
243
|
return true;
|
|
237
244
|
}
|
|
245
|
+
export function version() {
|
|
246
|
+
let packageJson = JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url)).toString());
|
|
247
|
+
return packageJson.version;
|
|
248
|
+
}
|
|
238
249
|
// compatibility with older versions
|
|
239
250
|
export { getNetwork, mainActor, storageActor, getHighestVersion, };
|
|
File without changes
|
package/dist/notify-installs.js
CHANGED
|
File without changes
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ic-mops",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"mops": "dist/bin/mops.js",
|
|
@@ -23,16 +23,6 @@
|
|
|
23
23
|
"engines": {
|
|
24
24
|
"node": ">=18.0.0"
|
|
25
25
|
},
|
|
26
|
-
"scripts": {
|
|
27
|
-
"build": "tsc",
|
|
28
|
-
"bundle": "esbuild --bundle --outfile=cli.js --platform=node --packages=external --target=node16 --format=esm ./dist/cli.js",
|
|
29
|
-
"copy": "cp -r commands/bench dist/commands && cp -r declarations templates network.txt package.json dist | true",
|
|
30
|
-
"save-network": "cp -r dist/network.txt . | true",
|
|
31
|
-
"prepare": "npm run save-network && npm run build && npm run copy",
|
|
32
|
-
"check": "tsc --project tsconfig.json --noEmit",
|
|
33
|
-
"tsc": "tsc",
|
|
34
|
-
"esbuild": "esbuild"
|
|
35
|
-
},
|
|
36
26
|
"dependencies": {
|
|
37
27
|
"@dfinity/agent": "^0.19.3",
|
|
38
28
|
"@dfinity/candid": "^0.19.3",
|
|
@@ -42,18 +32,19 @@
|
|
|
42
32
|
"@iarna/toml": "^2.2.5",
|
|
43
33
|
"@noble/hashes": "1.3.2",
|
|
44
34
|
"as-table": "^1.0.55",
|
|
35
|
+
"buffer": "6.0.3",
|
|
45
36
|
"cacheable-request": "10.2.12",
|
|
46
37
|
"camelcase": "^7.0.1",
|
|
47
38
|
"chalk": "^5.3.0",
|
|
48
|
-
"chokidar": "
|
|
49
|
-
"commander": "
|
|
39
|
+
"chokidar": "3.6.0",
|
|
40
|
+
"commander": "12.0.0",
|
|
50
41
|
"debounce": "^1.2.1",
|
|
51
42
|
"decomp-tarxz": "0.1.1",
|
|
52
43
|
"decompress": "^4.2.1",
|
|
53
|
-
"del": "
|
|
44
|
+
"del": "7.1.0",
|
|
54
45
|
"dhall-to-json-cli": "^1.7.6",
|
|
55
|
-
"eslint": "
|
|
56
|
-
"execa": "
|
|
46
|
+
"eslint": "8.57.0",
|
|
47
|
+
"execa": "8.0.1",
|
|
57
48
|
"fs-extra": "11.2.0",
|
|
58
49
|
"get-folder-size": "^4.0.0",
|
|
59
50
|
"glob": "^10.3.3",
|
|
@@ -70,24 +61,27 @@
|
|
|
70
61
|
"pem-file": "^1.0.1",
|
|
71
62
|
"pic-ic": "0.3.2",
|
|
72
63
|
"prompts": "^2.4.2",
|
|
64
|
+
"semver": "7.6.0",
|
|
73
65
|
"stream-to-promise": "^3.0.0",
|
|
74
|
-
"string-width": "7.
|
|
75
|
-
"tar": "
|
|
66
|
+
"string-width": "7.1.0",
|
|
67
|
+
"tar": "6.2.0"
|
|
76
68
|
},
|
|
77
69
|
"devDependencies": {
|
|
78
|
-
"@tsconfig/strictest": "
|
|
70
|
+
"@tsconfig/strictest": "2.0.2",
|
|
79
71
|
"@types/debounce": "^1.2.1",
|
|
80
72
|
"@types/decompress": "^4.2.4",
|
|
81
73
|
"@types/fs-extra": "11.0.4",
|
|
82
74
|
"@types/glob": "^8.1.0",
|
|
83
75
|
"@types/ncp": "^2.0.5",
|
|
84
|
-
"@types/node": "
|
|
76
|
+
"@types/node": "20.11.24",
|
|
85
77
|
"@types/prompts": "^2.4.4",
|
|
78
|
+
"@types/semver": "7.5.8",
|
|
86
79
|
"@types/stream-to-promise": "^2.2.1",
|
|
87
80
|
"@types/tar": "^6.1.5",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
81
|
+
"bun": "1.0.35",
|
|
82
|
+
"esbuild": "0.20.1",
|
|
83
|
+
"tsx": "4.7.1",
|
|
84
|
+
"typescript": "5.3.2"
|
|
91
85
|
},
|
|
92
86
|
"overrides": {
|
|
93
87
|
"@dfinity/agent": "^0.19.3",
|
|
@@ -95,4 +89,4 @@
|
|
|
95
89
|
"@dfinity/principal": "^0.19.3",
|
|
96
90
|
"@dfinity/candid": "^0.19.3"
|
|
97
91
|
}
|
|
98
|
-
}
|
|
92
|
+
}
|
package/dist/parallel.d.ts
CHANGED
|
File without changes
|
package/dist/parallel.js
CHANGED
|
File without changes
|
package/dist/pem.d.ts
CHANGED
|
File without changes
|
package/dist/pem.js
CHANGED
|
File without changes
|
package/dist/release-cli.d.ts
CHANGED
|
File without changes
|
package/dist/release-cli.js
CHANGED
|
@@ -10,16 +10,20 @@ import { findChangelogEntry } from './helpers/find-changelog-entry.js';
|
|
|
10
10
|
let __dirname = new URL('.', import.meta.url).pathname;
|
|
11
11
|
execSync('npm run prepare', { stdio: 'inherit', cwd: __dirname });
|
|
12
12
|
execSync('npm run bundle', { stdio: 'inherit', cwd: __dirname });
|
|
13
|
+
// fix package.json paths
|
|
14
|
+
// let packageJson = fs.readFileSync(path.resolve(__dirname, 'bundle/package.json'), 'utf8');
|
|
15
|
+
// packageJson = packageJson.replaceAll('dist/', '');
|
|
16
|
+
// fs.writeFileSync(path.resolve(__dirname, 'bundle/package.json'), packageJson);
|
|
13
17
|
let version = JSON.parse(fs.readFileSync(path.resolve(__dirname, 'package.json'), 'utf8')).version;
|
|
14
18
|
let major = semver.parse(version)?.major;
|
|
15
19
|
let tag = semver.parse(version)?.prerelease[0] || 'latest';
|
|
16
20
|
let releaseNotes = findChangelogEntry(fs.readFileSync(path.resolve(__dirname, 'CHANGELOG.md'), 'utf8'), version);
|
|
17
|
-
let
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
fs.
|
|
21
|
-
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}`), path.resolve(__dirname, `../cli-releases/versions/${tag}`), { force: true, errorOnExist: false, recursive: true });
|
|
22
|
-
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}`), path.resolve(__dirname, `../cli-releases/versions/${major}`), { force: true, errorOnExist: false, recursive: true });
|
|
21
|
+
let data = fs.readFileSync(path.resolve(__dirname, 'bundle/cli.tgz'));
|
|
22
|
+
let hash = bytesToHex(sha256(data));
|
|
23
|
+
let size = data.byteLength;
|
|
24
|
+
fs.cpSync(path.resolve(__dirname, 'bundle/cli.tgz'), path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), { force: false, errorOnExist: true });
|
|
25
|
+
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), path.resolve(__dirname, `../cli-releases/versions/${tag}.tgz`), { force: true, errorOnExist: false, recursive: true });
|
|
26
|
+
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), path.resolve(__dirname, `../cli-releases/versions/${major}.tgz`), { force: true, errorOnExist: false, recursive: true });
|
|
23
27
|
fs.writeFileSync(path.resolve(__dirname, `../cli-releases/tags/${tag}`), version);
|
|
24
28
|
console.log(`Release '${version}' created with tag '${tag}'`);
|
|
25
29
|
if (!fs.existsSync(path.resolve(__dirname, '../cli-releases/releases.json'))) {
|
|
@@ -28,8 +32,10 @@ if (!fs.existsSync(path.resolve(__dirname, '../cli-releases/releases.json'))) {
|
|
|
28
32
|
let releases = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../cli-releases/releases.json'), 'utf8'));
|
|
29
33
|
releases.tags[tag] = version;
|
|
30
34
|
releases.versions[version] = {
|
|
35
|
+
time: new Date().getTime(),
|
|
36
|
+
size,
|
|
31
37
|
relseaseNotes: releaseNotes,
|
|
38
|
+
url: `https://cli.mops.one/versions/${version}.tgz`,
|
|
32
39
|
hash,
|
|
33
|
-
url: `https://cli.mops.one/versions/${version}/cli.tgz`,
|
|
34
40
|
};
|
|
35
41
|
fs.writeFileSync(path.resolve(__dirname, '../cli-releases/releases.json'), JSON.stringify(releases, null, 2));
|
|
File without changes
|
package/dist/resolve-packages.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function copyTemplateFileSync(file: string, dest: string): void;
|
package/dist/types.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export type Config = {
|
|
|
18
18
|
dependencies?: Dependencies;
|
|
19
19
|
'dev-dependencies'?: Dependencies;
|
|
20
20
|
toolchain?: Toolchain;
|
|
21
|
+
requirements?: Requirements;
|
|
21
22
|
};
|
|
22
23
|
export type Dependencies = Record<string, Dependency>;
|
|
23
24
|
export type Dependency = {
|
|
@@ -32,3 +33,6 @@ export type Toolchain = {
|
|
|
32
33
|
'pocket-ic'?: string;
|
|
33
34
|
};
|
|
34
35
|
export type Tool = 'moc' | 'wasmtime' | 'pocket-ic';
|
|
36
|
+
export type Requirements = {
|
|
37
|
+
moc?: string;
|
|
38
|
+
};
|
package/dist/types.js
CHANGED
|
File without changes
|
package/dist/vessel.d.ts
CHANGED
|
File without changes
|
package/dist/vessel.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {fromMarkdown} from 'mdast-util-from-markdown';
|
|
2
|
+
import {toMarkdown} from 'mdast-util-to-markdown';
|
|
3
|
+
|
|
4
|
+
export function findChangelogEntry(changelog : string, version : string) : string {
|
|
5
|
+
let tree = fromMarkdown(changelog);
|
|
6
|
+
let found = false;
|
|
7
|
+
let nodes = [];
|
|
8
|
+
|
|
9
|
+
for (let node of tree.children) {
|
|
10
|
+
if (found) {
|
|
11
|
+
if (node.type === 'heading') {
|
|
12
|
+
break;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
nodes.push(node);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else if (node.type === 'heading' && toMarkdown(node).match(new RegExp(`\\b${version}\\b`))) {
|
|
19
|
+
found = true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return toMarkdown({
|
|
24
|
+
type: 'root',
|
|
25
|
+
children: nodes,
|
|
26
|
+
});
|
|
27
|
+
}
|
package/mops.ts
CHANGED
|
@@ -206,7 +206,16 @@ export function readConfig(configFile = getClosestConfigFile()) : Config {
|
|
|
206
206
|
processDeps(toml.dependencies || {});
|
|
207
207
|
processDeps(toml['dev-dependencies'] || {});
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
let config : Config = {...toml};
|
|
210
|
+
|
|
211
|
+
Object.entries(config.requirements || {}).forEach(([name, value]) => {
|
|
212
|
+
if (name === 'moc') {
|
|
213
|
+
config.requirements = config.requirements || {};
|
|
214
|
+
config.requirements.moc = value;
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
return config;
|
|
210
219
|
}
|
|
211
220
|
|
|
212
221
|
export function writeConfig(config : Config, configFile = getClosestConfigFile()) {
|
|
@@ -271,6 +280,11 @@ export async function checkApiCompatibility() {
|
|
|
271
280
|
return true;
|
|
272
281
|
}
|
|
273
282
|
|
|
283
|
+
export function version() {
|
|
284
|
+
let packageJson = JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url)).toString());
|
|
285
|
+
return packageJson.version;
|
|
286
|
+
}
|
|
287
|
+
|
|
274
288
|
// compatibility with older versions
|
|
275
289
|
export {
|
|
276
290
|
getNetwork,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ic-mops",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"mops": "dist/bin/mops.js",
|
|
@@ -25,10 +25,15 @@
|
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "tsc",
|
|
28
|
-
"bundle": "
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
28
|
+
"bundle": "rm -rf ./bundle && bun build ./cli.ts --outdir ./bundle --target node --minify --external @napi-rs/lzma --external fsevents --format esm --define '__dirname=import.meta.dirname' && npm run bundle:fix && npm run bundle:copy && npm run bundle:package-json && npm run bundle:tar",
|
|
29
|
+
"bundle:fix": "npx -y rexreplace 'new URL\\(\"\\.\\./templates' 'new URL(\"./templates' bundle/cli.js",
|
|
30
|
+
"bundle:copy": "cp -r commands/bench bundle && cp -r bin declarations templates package.json bundle",
|
|
31
|
+
"bundle:package-json": "tsx bundle-package-json.ts",
|
|
32
|
+
"bundle:tar": "tar -czvf bundle/cli.tgz bundle",
|
|
33
|
+
"copy": "cp -r commands/bench dist/commands && cp -r declarations templates package.json bin dist | true",
|
|
34
|
+
"prepare": "npm run build && npm run copy && npm run remove-scripts",
|
|
35
|
+
"remove-scripts": "tsx ./remove-scripts.ts",
|
|
36
|
+
"release": "tsx release-cli.ts",
|
|
32
37
|
"check": "tsc --project tsconfig.json --noEmit",
|
|
33
38
|
"tsc": "tsc",
|
|
34
39
|
"esbuild": "esbuild"
|
|
@@ -42,18 +47,19 @@
|
|
|
42
47
|
"@iarna/toml": "^2.2.5",
|
|
43
48
|
"@noble/hashes": "1.3.2",
|
|
44
49
|
"as-table": "^1.0.55",
|
|
50
|
+
"buffer": "6.0.3",
|
|
45
51
|
"cacheable-request": "10.2.12",
|
|
46
52
|
"camelcase": "^7.0.1",
|
|
47
53
|
"chalk": "^5.3.0",
|
|
48
|
-
"chokidar": "
|
|
49
|
-
"commander": "
|
|
54
|
+
"chokidar": "3.6.0",
|
|
55
|
+
"commander": "12.0.0",
|
|
50
56
|
"debounce": "^1.2.1",
|
|
51
57
|
"decomp-tarxz": "0.1.1",
|
|
52
58
|
"decompress": "^4.2.1",
|
|
53
|
-
"del": "
|
|
59
|
+
"del": "7.1.0",
|
|
54
60
|
"dhall-to-json-cli": "^1.7.6",
|
|
55
|
-
"eslint": "
|
|
56
|
-
"execa": "
|
|
61
|
+
"eslint": "8.57.0",
|
|
62
|
+
"execa": "8.0.1",
|
|
57
63
|
"fs-extra": "11.2.0",
|
|
58
64
|
"get-folder-size": "^4.0.0",
|
|
59
65
|
"glob": "^10.3.3",
|
|
@@ -70,24 +76,27 @@
|
|
|
70
76
|
"pem-file": "^1.0.1",
|
|
71
77
|
"pic-ic": "0.3.2",
|
|
72
78
|
"prompts": "^2.4.2",
|
|
79
|
+
"semver": "7.6.0",
|
|
73
80
|
"stream-to-promise": "^3.0.0",
|
|
74
|
-
"string-width": "7.
|
|
75
|
-
"tar": "
|
|
81
|
+
"string-width": "7.1.0",
|
|
82
|
+
"tar": "6.2.0"
|
|
76
83
|
},
|
|
77
84
|
"devDependencies": {
|
|
78
|
-
"@tsconfig/strictest": "
|
|
85
|
+
"@tsconfig/strictest": "2.0.2",
|
|
79
86
|
"@types/debounce": "^1.2.1",
|
|
80
87
|
"@types/decompress": "^4.2.4",
|
|
81
88
|
"@types/fs-extra": "11.0.4",
|
|
82
89
|
"@types/glob": "^8.1.0",
|
|
83
90
|
"@types/ncp": "^2.0.5",
|
|
84
|
-
"@types/node": "
|
|
91
|
+
"@types/node": "20.11.24",
|
|
85
92
|
"@types/prompts": "^2.4.4",
|
|
93
|
+
"@types/semver": "7.5.8",
|
|
86
94
|
"@types/stream-to-promise": "^2.2.1",
|
|
87
95
|
"@types/tar": "^6.1.5",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
96
|
+
"bun": "1.0.35",
|
|
97
|
+
"esbuild": "0.20.1",
|
|
98
|
+
"tsx": "4.7.1",
|
|
99
|
+
"typescript": "5.3.2"
|
|
91
100
|
},
|
|
92
101
|
"overrides": {
|
|
93
102
|
"@dfinity/agent": "^0.19.3",
|
package/release-cli.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import {URL} from 'node:url';
|
|
5
|
+
import {execSync} from 'node:child_process';
|
|
6
|
+
import semver from 'semver';
|
|
7
|
+
import {sha256} from '@noble/hashes/sha256';
|
|
8
|
+
import {bytesToHex} from '@noble/hashes/utils';
|
|
9
|
+
|
|
10
|
+
import {findChangelogEntry} from './helpers/find-changelog-entry.js';
|
|
11
|
+
|
|
12
|
+
let __dirname = new URL('.', import.meta.url).pathname;
|
|
13
|
+
|
|
14
|
+
execSync('npm run prepare', {stdio: 'inherit', cwd: __dirname});
|
|
15
|
+
execSync('npm run bundle', {stdio: 'inherit', cwd: __dirname});
|
|
16
|
+
|
|
17
|
+
// fix package.json paths
|
|
18
|
+
// let packageJson = fs.readFileSync(path.resolve(__dirname, 'bundle/package.json'), 'utf8');
|
|
19
|
+
// packageJson = packageJson.replaceAll('dist/', '');
|
|
20
|
+
// fs.writeFileSync(path.resolve(__dirname, 'bundle/package.json'), packageJson);
|
|
21
|
+
|
|
22
|
+
let version = JSON.parse(fs.readFileSync(path.resolve(__dirname, 'package.json'), 'utf8')).version;
|
|
23
|
+
let major = semver.parse(version)?.major;
|
|
24
|
+
let tag = semver.parse(version)?.prerelease[0] || 'latest';
|
|
25
|
+
let releaseNotes = findChangelogEntry(fs.readFileSync(path.resolve(__dirname, 'CHANGELOG.md'), 'utf8'), version);
|
|
26
|
+
let data = fs.readFileSync(path.resolve(__dirname, 'bundle/cli.tgz'));
|
|
27
|
+
let hash = bytesToHex(sha256(data));
|
|
28
|
+
let size = data.byteLength;
|
|
29
|
+
|
|
30
|
+
fs.cpSync(path.resolve(__dirname, 'bundle/cli.tgz'), path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), {force: false, errorOnExist: true});
|
|
31
|
+
|
|
32
|
+
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), path.resolve(__dirname, `../cli-releases/versions/${tag}.tgz`), {force: true, errorOnExist: false, recursive: true});
|
|
33
|
+
fs.cpSync(path.resolve(__dirname, `../cli-releases/versions/${version}.tgz`), path.resolve(__dirname, `../cli-releases/versions/${major}.tgz`), {force: true, errorOnExist: false, recursive: true});
|
|
34
|
+
|
|
35
|
+
fs.writeFileSync(path.resolve(__dirname, `../cli-releases/tags/${tag}`), version);
|
|
36
|
+
|
|
37
|
+
console.log(`Release '${version}' created with tag '${tag}'`);
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
// releases.json
|
|
41
|
+
type Releases = {
|
|
42
|
+
tags : Record<string, string>;
|
|
43
|
+
versions : Record<string, {
|
|
44
|
+
time : number;
|
|
45
|
+
size : number;
|
|
46
|
+
hash : string;
|
|
47
|
+
url : string;
|
|
48
|
+
relseaseNotes : string;
|
|
49
|
+
}>;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
if (!fs.existsSync(path.resolve(__dirname, '../cli-releases/releases.json'))) {
|
|
53
|
+
fs.writeFileSync(path.resolve(__dirname, '../cli-releases/releases.json'), JSON.stringify({tags: {}, versions: {}}, null, 2));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
let releases : Releases = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../cli-releases/releases.json'), 'utf8'));
|
|
57
|
+
|
|
58
|
+
releases.tags[tag] = version;
|
|
59
|
+
releases.versions[version] = {
|
|
60
|
+
time: new Date().getTime(),
|
|
61
|
+
size,
|
|
62
|
+
relseaseNotes: releaseNotes,
|
|
63
|
+
url: `https://cli.mops.one/versions/${version}.tgz`,
|
|
64
|
+
hash,
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
fs.writeFileSync(path.resolve(__dirname, '../cli-releases/releases.json'), JSON.stringify(releases, null, 2));
|
package/templates.ts
ADDED
package/tsconfig.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": ["@tsconfig/strictest/tsconfig.json"],
|
|
3
3
|
"include": ["**/*.ts", "**/*.js"],
|
|
4
|
-
"exclude": ["node_modules", "dist", "dist.js", "declarations/**/*.js"],
|
|
4
|
+
"exclude": ["node_modules", "dist", "bundle", "dist.js", "declarations/**/*.js"],
|
|
5
5
|
"compilerOptions": {
|
|
6
6
|
"types": ["node"],
|
|
7
7
|
"target": "ES2021",
|
package/types.ts
CHANGED
|
@@ -18,6 +18,7 @@ export type Config = {
|
|
|
18
18
|
dependencies ?: Dependencies;
|
|
19
19
|
'dev-dependencies' ?: Dependencies;
|
|
20
20
|
toolchain ?: Toolchain;
|
|
21
|
+
requirements ?: Requirements;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
export type Dependencies = Record<string, Dependency>;
|
|
@@ -27,7 +28,7 @@ export type Dependency = {
|
|
|
27
28
|
version ?: string; // mops package
|
|
28
29
|
repo ?: string; // github package
|
|
29
30
|
path ?: string; // local package
|
|
30
|
-
}
|
|
31
|
+
};
|
|
31
32
|
|
|
32
33
|
export type Toolchain = {
|
|
33
34
|
moc ?: string;
|
|
@@ -35,4 +36,8 @@ export type Toolchain = {
|
|
|
35
36
|
'pocket-ic' ?: string;
|
|
36
37
|
};
|
|
37
38
|
|
|
38
|
-
export type Tool = 'moc' | 'wasmtime' | 'pocket-ic';
|
|
39
|
+
export type Tool = 'moc' | 'wasmtime' | 'pocket-ic';
|
|
40
|
+
|
|
41
|
+
export type Requirements = {
|
|
42
|
+
moc ?: string;
|
|
43
|
+
};
|
package/commands/self-update.ts
DELETED
/package/bin/{mops.ts → mops.js}
RENAMED
|
File without changes
|