Skip to content

Commit d8317ed

Browse files
authored
Merge pull request #103 from ardriveapp/dev
PE-744: Release ArDrive Core v1.1.0
2 parents 05a04a1 + ca7fe54 commit d8317ed

File tree

5 files changed

+42
-33
lines changed

5 files changed

+42
-33
lines changed

README.md

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -120,35 +120,6 @@ And finally, to view the detailed error messages in your terminal:
120120
yarn power-assert -g 'My test case'
121121
```
122122

123-
### VSCode/VSCodium integration:
124-
125-
- Make sure to open ardrive-core.code-workspace
126-
- Install recomended extensions (
127-
128-
arcanis.vscode-zipfs
129-
130-
dbaeumer.vscode-eslint
131-
132-
esbenp.prettier-vscode
133-
134-
On repo main folder run: `yarn`
135-
136-
Remember to use
137-
138-
```
139-
yarn install --check-cache
140-
```
141-
142-
for external PR
143-
144-
## Package:
145-
146-
Npm package:
147-
148-
npm add ardrive-core-js
149-
150-
[![Gitopia](https://img.shields.io/endpoint?style=&url=https://gitopia.org/mirror-badge.json)](gitopia-repo)
151-
152123
[yarn-install]: https://yarnpkg.com/getting-started/install
153124
[nvm-install]: https://github.com/nvm-sh/nvm#installing-and-updating
154125
[wsl-install]: https://code.visualstudio.com/docs/remote/wsl

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ardrive-core-js",
3-
"version": "1.0.5",
3+
"version": "1.1.0",
44
"description": "ArDrive Core contains the essential back end application features to support the ArDrive CLI and Desktop apps, such as file management, Permaweb upload/download, wallet management and other common functions.",
55
"main": "./lib/exports.js",
66
"types": "./lib/exports.d.ts",

src/ardrive.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ import {
4545
UploadPublicFileParams,
4646
UploadPrivateFileParams,
4747
ArFSManifestResult,
48-
UploadPublicManifestParams
48+
UploadPublicManifestParams,
49+
emptyManifestResult
4950
} from './types';
5051
import {
5152
CommunityTipParams,
@@ -1034,7 +1035,7 @@ export class ArDrive extends ArDriveAnonymous {
10341035
const existingFileId = filesAndFolderNames.files.find((f) => f.fileName === destManifestName)?.fileId;
10351036
if (existingFileId && conflictResolution === skipOnConflicts) {
10361037
// Return empty result if there is an existing manifest and resolution is set to skip
1037-
return { ...emptyArFSResult, links: [] };
1038+
return emptyManifestResult;
10381039
}
10391040

10401041
const children = await this.listPublicFolder({
@@ -1082,6 +1083,7 @@ export class ArDrive extends ArDriveAnonymous {
10821083
[`${uploadFileResult.metaDataTrxId}`]: uploadFileResult.metaDataTrxReward,
10831084
[`${tipData.txId}`]: communityTipTrxReward
10841085
},
1086+
manifest: arweaveManifest.manifest,
10851087
links: arweaveManifest.getLinksOutput(uploadFileResult.dataTrxId)
10861088
});
10871089
}

src/types/ardrive_types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export interface ArFSResult {
3838
}
3939

4040
export interface ArFSManifestResult extends ArFSResult {
41+
manifest: Manifest | Record<string, never>;
4142
links: string[];
4243
}
4344

@@ -47,6 +48,11 @@ export const emptyArFSResult: ArFSResult = {
4748
fees: {}
4849
};
4950

51+
export const emptyManifestResult: ArFSManifestResult = {
52+
...emptyArFSResult,
53+
manifest: {},
54+
links: []
55+
};
5056
export interface MetaDataBaseCosts {
5157
metaDataBaseReward: Winston;
5258
}

tests/integration/ardrive.int.test.ts

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,7 @@ describe('ArDrive class - integrated', () => {
930930
created: [],
931931
tips: [],
932932
fees: {},
933+
manifest: {},
933934
links: []
934935
});
935936
});
@@ -1176,8 +1177,8 @@ function assertUploadManifestExpectations(
11761177
expect(feeKeys[2]).to.equal(uploadTip.txId.toString());
11771178
expect(`${result.fees[uploadTip.txId.toString()]}`).to.equal(`${tipFee}`);
11781179

1179-
// Verify links are healthy
11801180
if (specialCharacters) {
1181+
// Verify links are healthy
11811182
expect(result.links.length).to.equal(4);
11821183
expect(result.links[0]).to.equal(`https://arweave.net/${result.created[0].dataTxId}`);
11831184
expect(result.links[1]).to.equal(
@@ -1189,7 +1190,24 @@ function assertUploadManifestExpectations(
11891190
expect(result.links[3]).to.equal(
11901191
`https://arweave.net/${result.created[0].dataTxId}/~!%40%23%24%25%5E%26*()_%2B%7B%7D%7C%5B%5D%3A%22%3B%3C%3E%3F%2C./%60/dwijqndjqwnjNJKNDKJANKDNJWNJIvmnbzxnmvbcxvbm%2Cuiqwerioeqwndjkla`
11911192
);
1193+
1194+
// Assert manifest shape
1195+
expect(result.manifest).to.deep.equal({
1196+
manifest: 'arweave/paths',
1197+
version: '0.1.0',
1198+
index: { path: '%&@*(%&(@*:">?{}[]' },
1199+
paths: {
1200+
'%&@*(%&(@*:">?{}[]': { id: '0000000000000000000000000000000000000000001' },
1201+
"~!@#$%^&*()_+{}|[]:\";<>?,./`/'/''_\\___''_'__/'___'''_/QWERTYUIOPASDFGHJKLZXCVBNM!@#$%^&*()_+{}:\">?":
1202+
// eslint-disable-next-line prettier/prettier
1203+
{ id: '0000000000000000000000000000000000000000003' },
1204+
'~!@#$%^&*()_+{}|[]:";<>?,./`/dwijqndjqwnjNJKNDKJANKDNJWNJIvmnbzxnmvbcxvbm,uiqwerioeqwndjkla': {
1205+
id: '0000000000000000000000000000000000000000002'
1206+
}
1207+
}
1208+
});
11921209
} else {
1210+
// Verify links are healthy
11931211
expect(result.links.length).to.equal(4);
11941212
expect(result.links[0]).to.equal(`https://arweave.net/${result.created[0].dataTxId}`);
11951213
expect(result.links[1]).to.equal(`https://arweave.net/${result.created[0].dataTxId}/file-in-root`);
@@ -1199,5 +1217,17 @@ function assertUploadManifestExpectations(
11991217
expect(result.links[3]).to.equal(
12001218
`https://arweave.net/${result.created[0].dataTxId}/parent-folder/file-in-parent`
12011219
);
1220+
1221+
// Assert manifest shape
1222+
expect(result.manifest).to.deep.equal({
1223+
manifest: 'arweave/paths',
1224+
version: '0.1.0',
1225+
index: { path: 'file-in-root' },
1226+
paths: {
1227+
'file-in-root': { id: '0000000000000000000000000000000000000000001' },
1228+
'parent-folder/child-folder/file-in-child': { id: '0000000000000000000000000000000000000000003' },
1229+
'parent-folder/file-in-parent': { id: '0000000000000000000000000000000000000000002' }
1230+
}
1231+
});
12021232
}
12031233
}

0 commit comments

Comments
 (0)