@24i/bigscreen-sdk 1.0.37-alpha.2644 → 1.0.37-alpha.2649
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/.vscode/settings.json +6 -0
- package/package.json +2 -2
- package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +32 -19
- package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +1 -1
- package/packages/analytics/src/clients/TealiumAnalytics/findIdForLanguage.ts +9 -0
- package/packages/analytics/src/clients/TealiumAnalytics/index.ts +3 -2
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +9 -10
- package/packages/analytics/src/clients/TealiumAnalytics/types.ts +31 -22
- package/packages/create-package/dist/createPackage.js +66 -0
- package/packages/create-package/dist/createPackage.js.map +1 -0
- package/packages/create-package/dist/index.js +5 -0
- package/packages/create-package/dist/index.js.map +1 -0
- package/packages/create-package/dist/questionnaire/questions.js +35 -0
- package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
- package/packages/create-package/dist/settings/Settings.js +10 -0
- package/packages/create-package/dist/settings/Settings.js.map +1 -0
- package/packages/create-package/dist/types.js +3 -0
- package/packages/create-package/dist/types.js.map +1 -0
- package/utils/release/release.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@24i/bigscreen-sdk",
|
|
3
|
-
"version": "1.0.37-alpha.
|
|
3
|
+
"version": "1.0.37-alpha.2649",
|
|
4
4
|
"description": "SmartApps BIGscreen SDK monorepo",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://github.com/24i/smartapps-bigscreen-sdk#readme",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@24i/appstage-shared-analytics": "1.0.20-alpha.
|
|
41
|
+
"@24i/appstage-shared-analytics": "1.0.20-alpha.72",
|
|
42
42
|
"@24i/appstage-shared-events-manager": "1.0.11",
|
|
43
43
|
"@24i/appstage-shared-perf-utils": "1.0.11",
|
|
44
44
|
"@24i/bigscreen-players-engine-base": "4.0.4",
|
|
@@ -2,6 +2,7 @@ import { Storage } from '@24i/bigscreen-sdk/storage';
|
|
|
2
2
|
import { MINUTE_IN_MS } from '@24i/bigscreen-sdk/utils/timeConstants';
|
|
3
3
|
import { createTimeout } from '@24i/bigscreen-sdk/utils/timers';
|
|
4
4
|
import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
|
|
5
|
+
import { findIdForLanguage } from './findIdForLanguage';
|
|
5
6
|
import {
|
|
6
7
|
BIGSCREEN_APP_TYPE,
|
|
7
8
|
BIGSCREEN_OTT_TYPE,
|
|
@@ -16,11 +17,13 @@ import type {
|
|
|
16
17
|
Payload,
|
|
17
18
|
TealiumAnalyticsConfiguration,
|
|
18
19
|
TeaResult,
|
|
20
|
+
TealiumDataMapper,
|
|
21
|
+
TealiumCustomConfiguration,
|
|
22
|
+
CustomMappers,
|
|
19
23
|
} from './types';
|
|
20
24
|
|
|
21
25
|
// eslint-disable-next-line no-magic-numbers
|
|
22
26
|
const SESSION_TIMEOUT = 30 * MINUTE_IN_MS;
|
|
23
|
-
const TEALIUM_INSTANCE = 'tealium_analytics_bigscreen';
|
|
24
27
|
const TEALIUM_SESSION_COUNTER = 'tealium_session_counter';
|
|
25
28
|
const TEALIUM_BASE_URL = 'https://collect.tealiumiq.com/event';
|
|
26
29
|
|
|
@@ -52,6 +55,8 @@ export class TealiumAnalytics implements AnalyticsClient {
|
|
|
52
55
|
|
|
53
56
|
baseUrl: string = '';
|
|
54
57
|
|
|
58
|
+
customMappers: CustomMappers | undefined = undefined;
|
|
59
|
+
|
|
55
60
|
constructor(private config: TealiumAnalyticsConfiguration, private appVersion: string = '') {
|
|
56
61
|
this.init();
|
|
57
62
|
}
|
|
@@ -62,37 +67,43 @@ export class TealiumAnalytics implements AnalyticsClient {
|
|
|
62
67
|
}
|
|
63
68
|
|
|
64
69
|
prepareDatasetPayload() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
console.warn(`[${this.name}] prepareDatasetPayload missing options`);
|
|
70
|
+
if (!this.config) {
|
|
71
|
+
console.warn(`[${this.name}] prepareDatasetPayload missing configuration`);
|
|
68
72
|
return;
|
|
69
73
|
}
|
|
70
74
|
const {
|
|
71
|
-
datasource,
|
|
72
|
-
entity,
|
|
73
|
-
language,
|
|
74
75
|
account,
|
|
75
76
|
profile,
|
|
76
77
|
environment,
|
|
77
|
-
|
|
78
|
+
datasource,
|
|
79
|
+
customMappers,
|
|
80
|
+
dataMapper = {} as TealiumDataMapper,
|
|
81
|
+
} = this.config || {} as TealiumCustomConfiguration;
|
|
82
|
+
const {
|
|
83
|
+
entity,
|
|
84
|
+
property_ids: propertyIds,
|
|
85
|
+
language,
|
|
78
86
|
short_language_service: shortLanguageService,
|
|
79
|
-
|
|
87
|
+
platform_short: platformShort,
|
|
88
|
+
platform_type: platformType,
|
|
89
|
+
app_type: appType,
|
|
90
|
+
} = dataMapper || {} as TealiumDataMapper;
|
|
91
|
+
this.customMappers = customMappers;
|
|
80
92
|
this.constantPayload = {
|
|
81
93
|
tealium_account: account,
|
|
82
94
|
tealium_profile: profile,
|
|
83
95
|
tealium_environment: environment,
|
|
84
|
-
tealium_datasource: datasource,
|
|
85
|
-
|
|
86
|
-
language,
|
|
96
|
+
...(datasource && { tealium_datasource: datasource }),
|
|
97
|
+
language: language || '',
|
|
87
98
|
language_service: `${entity} ${language}`,
|
|
88
99
|
entity,
|
|
89
|
-
property_id:
|
|
90
|
-
short_language_service: shortLanguageService,
|
|
91
|
-
platform_short: BIGSCREEN_PLATFORM_SHORT,
|
|
92
|
-
platform_type: BIGSCREEN_PLATFORM_TYPE,
|
|
93
|
-
app_type: BIGSCREEN_APP_TYPE,
|
|
100
|
+
property_id: findIdForLanguage(propertyIds, language || '').toString(),
|
|
101
|
+
short_language_service: shortLanguageService || '',
|
|
102
|
+
platform_short: platformShort ?? BIGSCREEN_PLATFORM_SHORT,
|
|
103
|
+
platform_type: platformType ?? BIGSCREEN_PLATFORM_TYPE,
|
|
104
|
+
app_type: appType ?? BIGSCREEN_APP_TYPE,
|
|
94
105
|
ott_type: BIGSCREEN_OTT_TYPE,
|
|
95
|
-
app_id: `${entity} ${language}
|
|
106
|
+
app_id: `${entity} ${language}:${this.appVersion}`,
|
|
96
107
|
};
|
|
97
108
|
}
|
|
98
109
|
|
|
@@ -137,7 +148,9 @@ export class TealiumAnalytics implements AnalyticsClient {
|
|
|
137
148
|
if (!events) return;
|
|
138
149
|
await Promise.all(
|
|
139
150
|
events.map(async (event) => {
|
|
140
|
-
const mappingFunction =
|
|
151
|
+
const mappingFunction = this.customMappers && this.customMappers[event]
|
|
152
|
+
? this.customMappers[event]
|
|
153
|
+
: EVENTS_MAPPING[event];
|
|
141
154
|
try {
|
|
142
155
|
if (!mappingFunction) {
|
|
143
156
|
throw Error(`Missing mapping function for "${event}"`);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PropertyIds } from '@24i/bigscreen-sdk/analytics/TealiumAnalytics';
|
|
2
|
+
|
|
3
|
+
export const findIdForLanguage = (
|
|
4
|
+
property_ids: PropertyIds = {},
|
|
5
|
+
language: string,
|
|
6
|
+
): number => {
|
|
7
|
+
const languageKey = Object.keys(property_ids).find((key) => key.endsWith(language));
|
|
8
|
+
return languageKey ? property_ids[languageKey] : -1;
|
|
9
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { TealiumAnalytics } from './TealiumAnalytics';
|
|
2
|
-
export {
|
|
3
|
-
export
|
|
2
|
+
export { findIdForLanguage } from './findIdForLanguage';
|
|
3
|
+
export * from './constants';
|
|
4
|
+
export * from './types';
|
|
@@ -11,7 +11,7 @@ export const MEDIA_PAYLOAD: Payload = {
|
|
|
11
11
|
provider: 'provider',
|
|
12
12
|
assetId: '12345',
|
|
13
13
|
app_id: 'app_id',
|
|
14
|
-
app_type: '
|
|
14
|
+
app_type: 'html5',
|
|
15
15
|
sceneName: '',
|
|
16
16
|
sceneId: '',
|
|
17
17
|
sceneType: '',
|
|
@@ -40,21 +40,20 @@ export const TEALIUM_PAGEINFO_PAYLOAD = {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export const TEALIUM_STATIC_CORE_PAYLOAD = {
|
|
43
|
-
tealium_account: '
|
|
43
|
+
tealium_account: 'test',
|
|
44
44
|
tealium_profile: 'main',
|
|
45
45
|
tealium_environment: 'dev',
|
|
46
46
|
tealium_datasource: 'abc',
|
|
47
|
-
app_id: '
|
|
48
|
-
app_type: '
|
|
49
|
-
entity: '
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
language_service: 'rfe russian',
|
|
47
|
+
app_id: 'auto english:v1.0-test',
|
|
48
|
+
app_type: 'html5',
|
|
49
|
+
entity: 'auto',
|
|
50
|
+
language: 'english',
|
|
51
|
+
language_service: 'auto english',
|
|
53
52
|
ott_type: 'SmartTV',
|
|
54
53
|
platform_short: 'o',
|
|
55
54
|
platform_type: 'ott',
|
|
56
|
-
property_id: '
|
|
57
|
-
short_language_service: '
|
|
55
|
+
property_id: '1',
|
|
56
|
+
short_language_service: 'eng',
|
|
58
57
|
};
|
|
59
58
|
|
|
60
59
|
export const TEALIUM_MEDIA_PAYLOAD = {
|
|
@@ -1,37 +1,46 @@
|
|
|
1
1
|
import { AnalyticsTriggers } from '@24i/appstage-shared-analytics';
|
|
2
|
-
import { AppEvents, TrackEventType as TrackEventTypeEnum } from './constants';
|
|
2
|
+
import { AppEvents, EVENTS, TrackEventType as TrackEventTypeEnum } from './constants';
|
|
3
3
|
import type {
|
|
4
4
|
UserInfo, AppInfo, VideoProgress, SceneInfo, PlayerSession, ErrorInfo,
|
|
5
5
|
} from '../../interface';
|
|
6
6
|
|
|
7
7
|
export type TeaEventType = 'view' | 'link';
|
|
8
|
-
type TeaAppType = '
|
|
8
|
+
type TeaAppType = 'html5' | 'react' | 'native';
|
|
9
9
|
type TeaOttType = 'Samsung' | 'LG' | 'AndroidTV' | 'FireTV' | 'tvOS' | 'Chromecast'
|
|
10
10
|
| 'Roku' | 'Set-top Box' | 'Xiaomi' | 'SmartTV';
|
|
11
11
|
type TeaTrackEventType = `${TrackEventTypeEnum}`;
|
|
12
12
|
type TeaAppEventValues = typeof AppEvents[keyof typeof AppEvents];
|
|
13
13
|
type TeaAnalyticsTriggerValues = `${AnalyticsTriggers}`;
|
|
14
14
|
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
export interface PropertyIds {
|
|
16
|
+
[key: string]: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type CustomMappers = Partial<Record<EVENTS, EventMappingFunction>>;
|
|
20
|
+
|
|
21
|
+
export type TealiumDataMapper = {
|
|
22
|
+
app_type: TeaAppType, // e.g. 'html5' for bigscreen
|
|
20
23
|
entity: string, // e.g: 'rfe'
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
property_ids: PropertyIds, // e.g: 414
|
|
25
|
+
language?: string, // e.g: 'english'
|
|
26
|
+
platform_short?: string,
|
|
27
|
+
platform_type?: string,
|
|
28
|
+
short_language_service?: string, // e.g: 'eng'
|
|
26
29
|
};
|
|
27
30
|
|
|
28
|
-
export type
|
|
29
|
-
|
|
30
|
-
baseURL: string, // e.g: 'https://collect.tealiumiq.com/event',
|
|
31
|
-
enabled: boolean,
|
|
32
|
-
options?: TealiumAnalyticsOptions,
|
|
31
|
+
export type TealiumCustomConfiguration = {
|
|
32
|
+
customMappers?: CustomMappers,
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
+
export type TealiumAnalyticsConfiguration = {
|
|
36
|
+
account: string, // e.g: 'bbg'
|
|
37
|
+
profile: string, // e.g: 'main'
|
|
38
|
+
environment: string, // e.g: 'dev'
|
|
39
|
+
dataMapper?: TealiumDataMapper,
|
|
40
|
+
datasource?: string, // e.g: '6g2fzf'
|
|
41
|
+
baseURL?: string, // e.g: 'https://collect.tealiumiq.com/event',
|
|
42
|
+
} & TealiumCustomConfiguration;
|
|
43
|
+
|
|
35
44
|
export type CorePayload = {
|
|
36
45
|
app_id: string;
|
|
37
46
|
app_type: TeaAppType;
|
|
@@ -89,23 +98,23 @@ export type TeaStaticCoreResult = {
|
|
|
89
98
|
language: string;
|
|
90
99
|
language_service: string;
|
|
91
100
|
ott_type: TeaOttType;
|
|
92
|
-
platform_short:
|
|
93
|
-
platform_type:
|
|
101
|
+
platform_short: string;
|
|
102
|
+
platform_type: string;
|
|
94
103
|
property_id: string;
|
|
95
104
|
short_language_service: string;
|
|
96
105
|
};
|
|
97
106
|
|
|
98
107
|
export type TeaCoreResult = {
|
|
99
|
-
app_events
|
|
108
|
+
app_events?: TeaAppEventValues | '', // '' for Scene View event
|
|
100
109
|
event_trigger: TeaAnalyticsTriggerValues,
|
|
101
110
|
track_event_type: TeaTrackEventType,
|
|
102
111
|
};
|
|
103
112
|
|
|
104
113
|
export type TeaPageResult = {
|
|
105
|
-
page_title: string,
|
|
106
114
|
page_name: string,
|
|
115
|
+
page_title?: string,
|
|
107
116
|
content_type: string,
|
|
108
|
-
section
|
|
117
|
+
section?: string,
|
|
109
118
|
categories: string,
|
|
110
119
|
subcontent_type?: string;
|
|
111
120
|
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.main = void 0;
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const fse = require("fs-extra");
|
|
8
|
+
const chalk = require("chalk");
|
|
9
|
+
const minimist = require("minimist");
|
|
10
|
+
const questions_1 = require("./questionnaire/questions");
|
|
11
|
+
const Settings_1 = require("./settings/Settings");
|
|
12
|
+
async function isDirectoryEmpty(dirPath) {
|
|
13
|
+
const files = await fs.promises.readdir(dirPath);
|
|
14
|
+
return !files.length;
|
|
15
|
+
}
|
|
16
|
+
async function copyTemplateFiles(templateDir, targetDir) {
|
|
17
|
+
return fse.copy(templateDir, targetDir);
|
|
18
|
+
}
|
|
19
|
+
function updatePackageJsonFile(filePath, options) {
|
|
20
|
+
let data = fs.readFileSync(filePath, 'utf8');
|
|
21
|
+
const keywords = options.keywords.map((word) => `"${word}"`).join(', ');
|
|
22
|
+
data = data.replace(/("name": ")(.*)(")/, `$1${options.name}$3`);
|
|
23
|
+
data = data.replace(/("version": ")(.*)(")/, `$1${options.version}$3`);
|
|
24
|
+
data = data.replace(/("description": ")(.*)(")/, `$1${options.description}$3`);
|
|
25
|
+
data = data.replace(/("keywords": \[)(.*)(\])/, `$1${keywords}$3`);
|
|
26
|
+
data = data.replace(/("author": ")(.*)(")/, `$1${options.author}$3`);
|
|
27
|
+
fs.writeFileSync(filePath, data);
|
|
28
|
+
}
|
|
29
|
+
function parseArguments(rawArgv) {
|
|
30
|
+
const argv = minimist(rawArgv.slice(2));
|
|
31
|
+
const dirName = argv._[0];
|
|
32
|
+
if (!dirName) {
|
|
33
|
+
console.error('Error: Missing package name');
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
dirName,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function main() {
|
|
41
|
+
const { dirName: destDirName } = parseArguments(process.argv);
|
|
42
|
+
const destDir = path.join(process.cwd(), 'packages/', destDirName);
|
|
43
|
+
if (fs.existsSync(destDir)) {
|
|
44
|
+
console.error(`Error: Target directory "${destDir}" already exists`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
48
|
+
const isDirEmpty = await isDirectoryEmpty(destDir);
|
|
49
|
+
if (!isDirEmpty) {
|
|
50
|
+
console.error(`Error: Target directory "${destDir}" is not empty.`);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
const settings = Object.assign({}, Settings_1.Settings);
|
|
54
|
+
settings.name = `${Settings_1.Settings.name}${destDirName}`.toLowerCase();
|
|
55
|
+
const details = await (0, questions_1.promptPackageDetails)(settings);
|
|
56
|
+
const templateDir = path.join(__dirname, '..', 'templates/typescript');
|
|
57
|
+
await copyTemplateFiles(templateDir, destDir);
|
|
58
|
+
const packageJsonFile = path.join(destDir, 'package.json');
|
|
59
|
+
updatePackageJsonFile(packageJsonFile, details);
|
|
60
|
+
const docsSymlinkTarget = path.join('../../../packages/', destDirName, '/README.md');
|
|
61
|
+
const docsSymlinkPath = path.join(process.cwd(), 'docs/packages/', destDirName, '/README.md');
|
|
62
|
+
await fse.ensureSymlink(docsSymlinkTarget, docsSymlinkPath);
|
|
63
|
+
console.log(`${chalk.green('Success')}, package has been initialized!`);
|
|
64
|
+
}
|
|
65
|
+
exports.main = main;
|
|
66
|
+
//# sourceMappingURL=createPackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPackage.js","sourceRoot":"","sources":["../src/createPackage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,mDAAuC;AAEvC,IAAA,oBAAI,GAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.promptPackageDetails = void 0;
|
|
4
|
+
const inquirer = require("inquirer");
|
|
5
|
+
async function promptPackageDetails(defaultValues) {
|
|
6
|
+
return inquirer.prompt([
|
|
7
|
+
{
|
|
8
|
+
type: 'input',
|
|
9
|
+
name: 'name',
|
|
10
|
+
message: 'Package name:',
|
|
11
|
+
default: defaultValues.name,
|
|
12
|
+
}, {
|
|
13
|
+
type: 'input',
|
|
14
|
+
name: 'version',
|
|
15
|
+
message: 'Version:',
|
|
16
|
+
default: defaultValues.version,
|
|
17
|
+
}, {
|
|
18
|
+
type: 'input',
|
|
19
|
+
name: 'description',
|
|
20
|
+
message: 'Description:',
|
|
21
|
+
}, {
|
|
22
|
+
type: 'input',
|
|
23
|
+
name: 'keywords',
|
|
24
|
+
message: 'Keywords:',
|
|
25
|
+
filter: (ans) => ans.split(/[\s,]+/),
|
|
26
|
+
}, {
|
|
27
|
+
type: 'input',
|
|
28
|
+
name: 'author',
|
|
29
|
+
message: 'Author:',
|
|
30
|
+
default: defaultValues.author,
|
|
31
|
+
},
|
|
32
|
+
]);
|
|
33
|
+
}
|
|
34
|
+
exports.promptPackageDetails = promptPackageDetails;
|
|
35
|
+
//# sourceMappingURL=questions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/questionnaire/questions.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAWrC,KAAK,UAAU,oBAAoB,CAAC,aAA4C;IAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC;QACnB;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,aAAa,CAAC,IAAI;SAC9B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,aAAa,CAAC,OAAO;SACjC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,cAAc;SAC1B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;SACvC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,aAAa,CAAC,MAAM;SAChC;KACJ,CAAC,CAAC;AACP,CAAC;AAEQ,oDAAoB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Settings = void 0;
|
|
4
|
+
const Settings = {
|
|
5
|
+
name: '@24i/smartapps-bigscreen-',
|
|
6
|
+
version: '0.0.1',
|
|
7
|
+
author: '24i',
|
|
8
|
+
};
|
|
9
|
+
exports.Settings = Settings;
|
|
10
|
+
//# sourceMappingURL=Settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/settings/Settings.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,KAAK;CAChB,CAAC;AAEO,4BAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/utils/release/release.ts
CHANGED
|
@@ -43,7 +43,7 @@ const push = (branchName: string, noVerify = false) => {
|
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
const pushTag = (version: string) => {
|
|
46
|
-
const cmd = `git push v${version}`;
|
|
46
|
+
const cmd = `git push origin v${version}`;
|
|
47
47
|
return cmdSyncPipeOut(cmd);
|
|
48
48
|
};
|
|
49
49
|
|
|
@@ -122,7 +122,7 @@ const release = (versionType: string | 'major' | 'minor' | 'patch') => {
|
|
|
122
122
|
|
|
123
123
|
console.log(`Bumping version with "${versionType}" ...`);
|
|
124
124
|
bumpVersion(versionType);
|
|
125
|
-
const version = cmdSyncTrimOut('npm pkg get version');
|
|
125
|
+
const version = cmdSyncTrimOut('npm pkg get version').replace(/"/g, '');
|
|
126
126
|
ok(version, 'Oops, cannot get current version from package.json');
|
|
127
127
|
|
|
128
128
|
console.log(`Publishing package version: ${version} ...`);
|