@3cr/viewer-browser 0.0.16 → 0.0.18
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/dist/Viewer3CR.js +1 -1
- package/dist/Viewer3CR.mjs +3 -3
- package/dist/Viewer3CR.umd.js +1 -1
- package/index.html +1 -1
- package/package.json +6 -1
- package/scripts/modules.d.ts +2 -0
- package/scripts/postPublish.js +92 -0
- package/scripts/postPublish.ts +104 -0
- package/src/App.vue +3 -3
- package/tsconfig.build-scripts.json +22 -0
- package/.idea/git_toolbox_prj.xml +0 -15
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -223
- package/public/favicon.ico +0 -0
- package/public/index.html +0 -21
- /package/{dist → playground}/favicon.ico +0 -0
- /package/{dist → playground}/index.html +0 -0
package/index.html
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@3cr/viewer-browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"main": "./dist/Viewer3CR.umd.js",
|
|
5
5
|
"module": "dist/Viewer3CR.umd.js",
|
|
6
6
|
"homepage": "https://docs.3cr.singular.health",
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
"deploy": "npm version --no-git-tag-version patch && npm run build && npm publish",
|
|
15
15
|
"preview": "vite preview",
|
|
16
16
|
"test": "vitest",
|
|
17
|
+
"compile:scripts": "tsc --project tsconfig.build-scripts.json",
|
|
18
|
+
"deploy:playground": "npm run compile:scripts && node scripts/postPublish.js",
|
|
17
19
|
"coverage": "vitest run --coverage"
|
|
18
20
|
},
|
|
19
21
|
"dependencies": {
|
|
@@ -29,7 +31,10 @@
|
|
|
29
31
|
"@types/node": "^20.11.25",
|
|
30
32
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
31
33
|
"@vue/test-utils": "^2.4.1",
|
|
34
|
+
"aws-sdk": "^2.1594.0",
|
|
32
35
|
"material-design-icons-iconfont": "^6.7.0",
|
|
36
|
+
"mime-types": "^2.1.35",
|
|
37
|
+
"randomstring": "^1.3.0",
|
|
33
38
|
"sass": "^1.71.1",
|
|
34
39
|
"typescript": "^5.4.2",
|
|
35
40
|
"unplugin-fonts": "^1.1.1",
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// import { CloudFront, S3 } from 'aws-sdk';
|
|
7
|
+
const randomstring_1 = require("randomstring");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const mime_types_1 = require("mime-types");
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
12
|
+
const { CloudFront, S3 } = aws_sdk_1.default;
|
|
13
|
+
//Note: Config is injected in CI now. (leaving this for in case we need to do a local)
|
|
14
|
+
// import dotenv from 'dotenv';
|
|
15
|
+
// dotenv.config();
|
|
16
|
+
const { DIST_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, BUCKET_NAME } = process.env;
|
|
17
|
+
if (!AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY)
|
|
18
|
+
throw Error('Please define environment variables for AWS');
|
|
19
|
+
if (!DIST_NAME)
|
|
20
|
+
throw Error('Please define environment variables for DIST_NAME');
|
|
21
|
+
const DistributionName = DIST_NAME;
|
|
22
|
+
const BucketName = BUCKET_NAME;
|
|
23
|
+
const s3 = new S3({
|
|
24
|
+
region: 'ap-southeast-2',
|
|
25
|
+
});
|
|
26
|
+
const cloudfront = new CloudFront();
|
|
27
|
+
async function uploadDir(s3Path) {
|
|
28
|
+
for (const name of (0, fs_1.readdirSync)(s3Path)) {
|
|
29
|
+
const filePath = (0, path_1.join)(s3Path, name);
|
|
30
|
+
const stat = (0, fs_1.statSync)(filePath);
|
|
31
|
+
if (stat.isFile()) {
|
|
32
|
+
if (!filePath.endsWith('.map'))
|
|
33
|
+
await executeUpload(s3Path, filePath);
|
|
34
|
+
}
|
|
35
|
+
else if (stat.isDirectory()) {
|
|
36
|
+
await uploadDir(filePath);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function executeUpload(s3Path, filePath) {
|
|
41
|
+
const parentDir = s3Path.includes('/')
|
|
42
|
+
? s3Path.substring(0, s3Path.indexOf('/'))
|
|
43
|
+
: s3Path;
|
|
44
|
+
const bucketPath = filePath.substring(parentDir.length + 1);
|
|
45
|
+
const options = {
|
|
46
|
+
Bucket: BucketName,
|
|
47
|
+
Key: `${bucketPath}`,
|
|
48
|
+
Body: (0, fs_1.readFileSync)(filePath),
|
|
49
|
+
};
|
|
50
|
+
if (typeof (0, mime_types_1.lookup)(bucketPath) === 'string') {
|
|
51
|
+
options.ContentType = (0, mime_types_1.lookup)(bucketPath);
|
|
52
|
+
}
|
|
53
|
+
await s3.putObject(options).promise();
|
|
54
|
+
}
|
|
55
|
+
async function deployToAws() {
|
|
56
|
+
const listObjectsParams = {
|
|
57
|
+
Bucket: BucketName,
|
|
58
|
+
Prefix: ``
|
|
59
|
+
};
|
|
60
|
+
const listObjectsResponse = await s3
|
|
61
|
+
.listObjectsV2(listObjectsParams)
|
|
62
|
+
.promise();
|
|
63
|
+
if (listObjectsResponse.Contents && listObjectsResponse.Contents.length > 0) {
|
|
64
|
+
const deleteParams = {
|
|
65
|
+
Bucket: BucketName,
|
|
66
|
+
Delete: {
|
|
67
|
+
Objects: listObjectsResponse.Contents?.map((x) => ({
|
|
68
|
+
Key: x.Key || '',
|
|
69
|
+
})).filter((x) => x.Key !== '') || [],
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
await s3.deleteObjects(deleteParams).promise();
|
|
73
|
+
}
|
|
74
|
+
await uploadDir('playground');
|
|
75
|
+
const reference = (0, randomstring_1.generate)(16);
|
|
76
|
+
const params = {
|
|
77
|
+
DistributionId: DistributionName,
|
|
78
|
+
InvalidationBatch: {
|
|
79
|
+
CallerReference: reference,
|
|
80
|
+
Paths: {
|
|
81
|
+
Quantity: 1,
|
|
82
|
+
Items: ['/*'],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
console.log(`Creating Invalidation for (${DistributionName}): ${reference}`);
|
|
87
|
+
const invalidation = await cloudfront.createInvalidation(params).promise();
|
|
88
|
+
console.log(invalidation);
|
|
89
|
+
}
|
|
90
|
+
deployToAws()
|
|
91
|
+
.then((data) => console.log(data))
|
|
92
|
+
.catch((err) => console.error(err));
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// import { CloudFront, S3 } from 'aws-sdk';
|
|
2
|
+
import { generate } from 'randomstring';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { lookup } from 'mime-types';
|
|
5
|
+
import { readdirSync, statSync, readFileSync } from 'fs';
|
|
6
|
+
import pkg from 'aws-sdk';
|
|
7
|
+
const { CloudFront, S3 } = pkg;
|
|
8
|
+
|
|
9
|
+
import { CreateInvalidationRequest } from 'aws-sdk/clients/cloudfront';
|
|
10
|
+
import {DeleteObjectsRequest, ListObjectsV2Request, PutObjectRequest } from 'aws-sdk/clients/s3';
|
|
11
|
+
|
|
12
|
+
//Note: Config is injected in CI now. (leaving this for in case we need to do a local)
|
|
13
|
+
// import dotenv from 'dotenv';
|
|
14
|
+
// dotenv.config();
|
|
15
|
+
|
|
16
|
+
const { DIST_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, BUCKET_NAME } = process.env;
|
|
17
|
+
|
|
18
|
+
if (!AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY) throw Error('Please define environment variables for AWS');
|
|
19
|
+
if (!DIST_NAME) throw Error('Please define environment variables for DIST_NAME');
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
const DistributionName = DIST_NAME as string;
|
|
23
|
+
const BucketName = BUCKET_NAME as string;
|
|
24
|
+
const s3 = new S3({
|
|
25
|
+
region: 'ap-southeast-2',
|
|
26
|
+
});
|
|
27
|
+
const cloudfront = new CloudFront();
|
|
28
|
+
|
|
29
|
+
async function uploadDir(s3Path: string) {
|
|
30
|
+
for (const name of readdirSync(s3Path)) {
|
|
31
|
+
const filePath = join(s3Path, name);
|
|
32
|
+
const stat = statSync(filePath);
|
|
33
|
+
|
|
34
|
+
if (stat.isFile()) {
|
|
35
|
+
if (!filePath.endsWith('.map')) await executeUpload(s3Path, filePath);
|
|
36
|
+
} else if (stat.isDirectory()) {
|
|
37
|
+
await uploadDir(filePath);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function executeUpload(s3Path: string, filePath: string) {
|
|
42
|
+
const parentDir = s3Path.includes('/')
|
|
43
|
+
? s3Path.substring(0, s3Path.indexOf('/'))
|
|
44
|
+
: s3Path;
|
|
45
|
+
const bucketPath = filePath.substring(parentDir.length + 1);
|
|
46
|
+
const options: PutObjectRequest = {
|
|
47
|
+
Bucket: BucketName,
|
|
48
|
+
Key: `${bucketPath}`,
|
|
49
|
+
Body: readFileSync(filePath),
|
|
50
|
+
};
|
|
51
|
+
if (typeof lookup(bucketPath) === 'string') {
|
|
52
|
+
options.ContentType = lookup(bucketPath) as string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
await s3.putObject(options).promise();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
async function deployToAws() {
|
|
59
|
+
const listObjectsParams: ListObjectsV2Request = {
|
|
60
|
+
Bucket: BucketName,
|
|
61
|
+
Prefix: ``
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const listObjectsResponse = await s3
|
|
65
|
+
.listObjectsV2(listObjectsParams)
|
|
66
|
+
.promise();
|
|
67
|
+
|
|
68
|
+
if (listObjectsResponse.Contents && listObjectsResponse.Contents.length > 0) {
|
|
69
|
+
const deleteParams: DeleteObjectsRequest = {
|
|
70
|
+
Bucket: BucketName,
|
|
71
|
+
Delete: {
|
|
72
|
+
Objects:
|
|
73
|
+
listObjectsResponse.Contents?.map((x) => ({
|
|
74
|
+
Key: x.Key || '',
|
|
75
|
+
})).filter((x) => x.Key !== '') || [],
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
await s3.deleteObjects(deleteParams).promise();
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
await uploadDir('playground');
|
|
82
|
+
|
|
83
|
+
const reference = generate(16);
|
|
84
|
+
const params: CreateInvalidationRequest = {
|
|
85
|
+
DistributionId: DistributionName,
|
|
86
|
+
InvalidationBatch: {
|
|
87
|
+
CallerReference: reference,
|
|
88
|
+
Paths: {
|
|
89
|
+
Quantity: 1,
|
|
90
|
+
Items: ['/*'],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
console.log(`Creating Invalidation for (${DistributionName}): ${reference}`);
|
|
95
|
+
|
|
96
|
+
const invalidation = await cloudfront.createInvalidation(params).promise();
|
|
97
|
+
console.log(invalidation);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
deployToAws()
|
|
101
|
+
.then((data) => console.log(data))
|
|
102
|
+
.catch((err) => console.error(err));
|
|
103
|
+
|
|
104
|
+
|
package/src/App.vue
CHANGED
|
@@ -11,10 +11,10 @@ import {ref, unref} from "vue";
|
|
|
11
11
|
import {LoadViewerPayload} from "../index";
|
|
12
12
|
|
|
13
13
|
const payload = ref<LoadViewerPayload>({
|
|
14
|
-
Url:"https://webgl-3dr.singular.health/test_scans/
|
|
14
|
+
Url:"https://webgl-3dr.singular.health/test_scans/01440d4e-8b04-4b90-bb2c-698535ce16d6/CHEST.3vxl",
|
|
15
15
|
DecryptionKey:{
|
|
16
|
-
Iv:"
|
|
17
|
-
Key:"
|
|
16
|
+
Iv:"XEloSh+OcO7TG77au6HjPw==",
|
|
17
|
+
Key:"KUc722X1y4w42M+jCf9a3+6EGz66z7UMWK3m2aMqGxM="
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
const mftpWebGL3DRModal = ref<typeof MftpWebGL3DRModal | null>(null)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ESNext",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"module": "commonjs",
|
|
6
|
+
"moduleResolution": "Node",
|
|
7
|
+
"strict": true,
|
|
8
|
+
"jsx": "preserve",
|
|
9
|
+
"resolveJsonModule": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"lib": ["ESNext", "DOM", "ES2015"],
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"noEmit": false,
|
|
14
|
+
"outDir": ".",
|
|
15
|
+
"allowJs": true,
|
|
16
|
+
"rootDir": "."
|
|
17
|
+
},
|
|
18
|
+
"exclude": ["!./scripts"],
|
|
19
|
+
"include": [
|
|
20
|
+
"scripts/**/*.ts"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="GitToolBoxProjectSettings">
|
|
4
|
-
<option name="commitMessageIssueKeyValidationOverride">
|
|
5
|
-
<BoolValueOverride>
|
|
6
|
-
<option name="enabled" value="true" />
|
|
7
|
-
</BoolValueOverride>
|
|
8
|
-
</option>
|
|
9
|
-
<option name="commitMessageValidationEnabledOverride">
|
|
10
|
-
<BoolValueOverride>
|
|
11
|
-
<option name="enabled" value="true" />
|
|
12
|
-
</BoolValueOverride>
|
|
13
|
-
</option>
|
|
14
|
-
</component>
|
|
15
|
-
</project>
|
package/.idea/vcs.xml
DELETED
package/.idea/workspace.xml
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="AutoImportSettings">
|
|
4
|
-
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
-
</component>
|
|
6
|
-
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="feb68f38-3ed5-44bb-a81b-c68f1e9d5e48" name="Changes" comment="initial">
|
|
8
|
-
<change afterPath="$PROJECT_DIR$/public/playground.html" afterDir="false" />
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/index.html" afterDir="false" />
|
|
10
|
-
<change beforePath="$PROJECT_DIR$/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/index.ts" afterDir="false" />
|
|
11
|
-
<change beforePath="$PROJECT_DIR$/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/package-lock.json" afterDir="false" />
|
|
12
|
-
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
13
|
-
<change beforePath="$PROJECT_DIR$/src/App.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/App.vue" afterDir="false" />
|
|
14
|
-
<change beforePath="$PROJECT_DIR$/src/components/DoubleSliderSelector.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/DoubleSliderSelector.vue" afterDir="false" />
|
|
15
|
-
<change beforePath="$PROJECT_DIR$/src/components/MftpWebGL3DRModal.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/MftpWebGL3DRModal.vue" afterDir="false" />
|
|
16
|
-
<change beforePath="$PROJECT_DIR$/src/components/SliderSelector.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/SliderSelector.vue" afterDir="false" />
|
|
17
|
-
<change beforePath="$PROJECT_DIR$/src/components/VerticalSliderSelector.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/VerticalSliderSelector.vue" afterDir="false" />
|
|
18
|
-
<change beforePath="$PROJECT_DIR$/src/main.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/main.ts" afterDir="false" />
|
|
19
|
-
<change beforePath="$PROJECT_DIR$/src/plugins/vuetify.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/plugins/vuetify.ts" afterDir="false" />
|
|
20
|
-
<change beforePath="$PROJECT_DIR$/vite.config.mts" beforeDir="false" afterPath="$PROJECT_DIR$/vite.config.mts" afterDir="false" />
|
|
21
|
-
</list>
|
|
22
|
-
<option name="SHOW_DIALOG" value="false" />
|
|
23
|
-
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
24
|
-
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
25
|
-
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
26
|
-
</component>
|
|
27
|
-
<component name="FileTemplateManagerImpl">
|
|
28
|
-
<option name="RECENT_TEMPLATES">
|
|
29
|
-
<list>
|
|
30
|
-
<option value="TypeScript File" />
|
|
31
|
-
</list>
|
|
32
|
-
</option>
|
|
33
|
-
</component>
|
|
34
|
-
<component name="Git.Settings">
|
|
35
|
-
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
36
|
-
</component>
|
|
37
|
-
<component name="GitLabMergeRequestsSettings"><![CDATA[{}]]></component>
|
|
38
|
-
<component name="GitToolBoxStore">
|
|
39
|
-
<option name="projectConfigVersion" value="5" />
|
|
40
|
-
</component>
|
|
41
|
-
<component name="GithubPullRequestsUISettings"><![CDATA[{}]]></component>
|
|
42
|
-
<component name="ProjectColorInfo"><![CDATA[{
|
|
43
|
-
"associatedIndex": 2
|
|
44
|
-
}]]></component>
|
|
45
|
-
<component name="ProjectId" id="2ecHzRIf6ZttKwXfV7cjWRM6Bwl" />
|
|
46
|
-
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
|
47
|
-
<component name="ProjectViewState">
|
|
48
|
-
<option name="hideEmptyMiddlePackages" value="true" />
|
|
49
|
-
<option name="showLibraryContents" value="true" />
|
|
50
|
-
</component>
|
|
51
|
-
<component name="PropertiesComponent"><![CDATA[{
|
|
52
|
-
"keyToString": {
|
|
53
|
-
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
54
|
-
"git-widget-placeholder": "main",
|
|
55
|
-
"last_opened_file_path": "/Users/elliottcooper/source/3cr-viewer-browser/public",
|
|
56
|
-
"node.js.detected.package.eslint": "true",
|
|
57
|
-
"node.js.detected.package.tslint": "true",
|
|
58
|
-
"node.js.selected.package.eslint": "(autodetect)",
|
|
59
|
-
"node.js.selected.package.tslint": "(autodetect)",
|
|
60
|
-
"nodejs_package_manager_path": "npm",
|
|
61
|
-
"npm.build.executor": "Run",
|
|
62
|
-
"npm.deploy.executor": "Run",
|
|
63
|
-
"npm.dev.executor": "Run",
|
|
64
|
-
"npm.test.executor": "Run",
|
|
65
|
-
"ts.external.directory.path": "/Users/elliottcooper/Applications/WebStorm.app/Contents/plugins/javascript-impl/jsLanguageServicesImpl/external",
|
|
66
|
-
"vue.rearranger.settings.migration": "true"
|
|
67
|
-
}
|
|
68
|
-
}]]></component>
|
|
69
|
-
<component name="RecentsManager">
|
|
70
|
-
<key name="CopyFile.RECENT_KEYS">
|
|
71
|
-
<recent name="$PROJECT_DIR$/public" />
|
|
72
|
-
<recent name="$PROJECT_DIR$" />
|
|
73
|
-
<recent name="$PROJECT_DIR$/src/types" />
|
|
74
|
-
<recent name="$PROJECT_DIR$/src/assets/images" />
|
|
75
|
-
<recent name="$PROJECT_DIR$/src/helpers" />
|
|
76
|
-
</key>
|
|
77
|
-
<key name="MoveFile.RECENT_KEYS">
|
|
78
|
-
<recent name="$PROJECT_DIR$" />
|
|
79
|
-
<recent name="$PROJECT_DIR$/src/helpers" />
|
|
80
|
-
<recent name="$PROJECT_DIR$/src" />
|
|
81
|
-
</key>
|
|
82
|
-
</component>
|
|
83
|
-
<component name="RunManager" selected="npm.build">
|
|
84
|
-
<configuration name="build" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
85
|
-
<package-json value="$PROJECT_DIR$/package.json" />
|
|
86
|
-
<command value="run" />
|
|
87
|
-
<scripts>
|
|
88
|
-
<script value="build" />
|
|
89
|
-
</scripts>
|
|
90
|
-
<node-interpreter value="project" />
|
|
91
|
-
<envs />
|
|
92
|
-
<method v="2" />
|
|
93
|
-
</configuration>
|
|
94
|
-
<configuration name="deploy" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
95
|
-
<package-json value="$PROJECT_DIR$/package.json" />
|
|
96
|
-
<command value="run" />
|
|
97
|
-
<scripts>
|
|
98
|
-
<script value="deploy" />
|
|
99
|
-
</scripts>
|
|
100
|
-
<node-interpreter value="project" />
|
|
101
|
-
<envs />
|
|
102
|
-
<method v="2" />
|
|
103
|
-
</configuration>
|
|
104
|
-
<configuration name="dev" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
105
|
-
<package-json value="$PROJECT_DIR$/package.json" />
|
|
106
|
-
<command value="run" />
|
|
107
|
-
<scripts>
|
|
108
|
-
<script value="dev" />
|
|
109
|
-
</scripts>
|
|
110
|
-
<node-interpreter value="project" />
|
|
111
|
-
<envs />
|
|
112
|
-
<method v="2" />
|
|
113
|
-
</configuration>
|
|
114
|
-
<configuration name="test" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
|
115
|
-
<package-json value="$PROJECT_DIR$/package.json" />
|
|
116
|
-
<command value="run" />
|
|
117
|
-
<scripts>
|
|
118
|
-
<script value="test" />
|
|
119
|
-
</scripts>
|
|
120
|
-
<node-interpreter value="project" />
|
|
121
|
-
<envs />
|
|
122
|
-
<method v="2" />
|
|
123
|
-
</configuration>
|
|
124
|
-
<recent_temporary>
|
|
125
|
-
<list>
|
|
126
|
-
<item itemvalue="npm.build" />
|
|
127
|
-
<item itemvalue="npm.deploy" />
|
|
128
|
-
<item itemvalue="npm.dev" />
|
|
129
|
-
<item itemvalue="npm.test" />
|
|
130
|
-
</list>
|
|
131
|
-
</recent_temporary>
|
|
132
|
-
</component>
|
|
133
|
-
<component name="SharedIndexes">
|
|
134
|
-
<attachedChunks>
|
|
135
|
-
<set>
|
|
136
|
-
<option value="bundled-js-predefined-1d06a55b98c1-74d2a5396914-JavaScript-WS-241.14494.180" />
|
|
137
|
-
</set>
|
|
138
|
-
</attachedChunks>
|
|
139
|
-
</component>
|
|
140
|
-
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
141
|
-
<component name="TaskManager">
|
|
142
|
-
<task active="true" id="Default" summary="Default task">
|
|
143
|
-
<changelist id="feb68f38-3ed5-44bb-a81b-c68f1e9d5e48" name="Changes" comment="" />
|
|
144
|
-
<created>1712197208124</created>
|
|
145
|
-
<option name="number" value="Default" />
|
|
146
|
-
<option name="presentableId" value="Default" />
|
|
147
|
-
<updated>1712197208124</updated>
|
|
148
|
-
<workItem from="1712197209295" duration="41805000" />
|
|
149
|
-
</task>
|
|
150
|
-
<task id="LOCAL-00001" summary="initial">
|
|
151
|
-
<option name="closed" value="true" />
|
|
152
|
-
<created>1712535511451</created>
|
|
153
|
-
<option name="number" value="00001" />
|
|
154
|
-
<option name="presentableId" value="LOCAL-00001" />
|
|
155
|
-
<option name="project" value="LOCAL" />
|
|
156
|
-
<updated>1712535511451</updated>
|
|
157
|
-
</task>
|
|
158
|
-
<task id="LOCAL-00002" summary="initial">
|
|
159
|
-
<option name="closed" value="true" />
|
|
160
|
-
<created>1712542062900</created>
|
|
161
|
-
<option name="number" value="00002" />
|
|
162
|
-
<option name="presentableId" value="LOCAL-00002" />
|
|
163
|
-
<option name="project" value="LOCAL" />
|
|
164
|
-
<updated>1712542062900</updated>
|
|
165
|
-
</task>
|
|
166
|
-
<task id="LOCAL-00003" summary="initial">
|
|
167
|
-
<option name="closed" value="true" />
|
|
168
|
-
<created>1712542100525</created>
|
|
169
|
-
<option name="number" value="00003" />
|
|
170
|
-
<option name="presentableId" value="LOCAL-00003" />
|
|
171
|
-
<option name="project" value="LOCAL" />
|
|
172
|
-
<updated>1712542100525</updated>
|
|
173
|
-
</task>
|
|
174
|
-
<task id="LOCAL-00004" summary="initial">
|
|
175
|
-
<option name="closed" value="true" />
|
|
176
|
-
<created>1712542119883</created>
|
|
177
|
-
<option name="number" value="00004" />
|
|
178
|
-
<option name="presentableId" value="LOCAL-00004" />
|
|
179
|
-
<option name="project" value="LOCAL" />
|
|
180
|
-
<updated>1712542119883</updated>
|
|
181
|
-
</task>
|
|
182
|
-
<task id="LOCAL-00005" summary="initial">
|
|
183
|
-
<option name="closed" value="true" />
|
|
184
|
-
<created>1712542969695</created>
|
|
185
|
-
<option name="number" value="00005" />
|
|
186
|
-
<option name="presentableId" value="LOCAL-00005" />
|
|
187
|
-
<option name="project" value="LOCAL" />
|
|
188
|
-
<updated>1712542969695</updated>
|
|
189
|
-
</task>
|
|
190
|
-
<option name="localTasksCounter" value="6" />
|
|
191
|
-
<servers />
|
|
192
|
-
</component>
|
|
193
|
-
<component name="TypeScriptGeneratedFilesManager">
|
|
194
|
-
<option name="version" value="3" />
|
|
195
|
-
</component>
|
|
196
|
-
<component name="Vcs.Log.Tabs.Properties">
|
|
197
|
-
<option name="TAB_STATES">
|
|
198
|
-
<map>
|
|
199
|
-
<entry key="MAIN">
|
|
200
|
-
<value>
|
|
201
|
-
<State />
|
|
202
|
-
</value>
|
|
203
|
-
</entry>
|
|
204
|
-
</map>
|
|
205
|
-
</option>
|
|
206
|
-
</component>
|
|
207
|
-
<component name="VcsManagerConfiguration">
|
|
208
|
-
<MESSAGE value="initial" />
|
|
209
|
-
<option name="LAST_COMMIT_MESSAGE" value="initial" />
|
|
210
|
-
</component>
|
|
211
|
-
<component name="XDebuggerManager">
|
|
212
|
-
<breakpoint-manager>
|
|
213
|
-
<breakpoints>
|
|
214
|
-
<line-breakpoint enabled="true" type="javascript">
|
|
215
|
-
<url>file://$PROJECT_DIR$/node_modules/@3cr/sdk-browser/index.ts</url>
|
|
216
|
-
<line>25</line>
|
|
217
|
-
<properties lambdaOrdinal="-1" />
|
|
218
|
-
<option name="timeStamp" value="1" />
|
|
219
|
-
</line-breakpoint>
|
|
220
|
-
</breakpoints>
|
|
221
|
-
</breakpoint-manager>
|
|
222
|
-
</component>
|
|
223
|
-
</project>
|
package/public/favicon.ico
DELETED
|
Binary file
|
package/public/index.html
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="UTF-8" />
|
|
6
|
-
<link rel="icon" href="/favicon.ico" />
|
|
7
|
-
<script src="https://cdn.jsdelivr.net/npm/@3cr/viewer-browser"> </script>
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
9
|
-
<title>3CR Viewer Playground</title>
|
|
10
|
-
</head>
|
|
11
|
-
|
|
12
|
-
<body>
|
|
13
|
-
<div id="app"></div>
|
|
14
|
-
<script type="module">
|
|
15
|
-
window.registerViewer('1.0.0', '#app').then(() => {
|
|
16
|
-
window.loadViewer().then()
|
|
17
|
-
})
|
|
18
|
-
</script>
|
|
19
|
-
</body>
|
|
20
|
-
|
|
21
|
-
</html>
|
|
File without changes
|
|
File without changes
|