@gxpl/sdk 0.0.6 → 0.0.7
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/lib/cli.js +64 -0
- package/lib/index.js +45 -0
- package/package.json +14 -26
package/lib/cli.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
18
|
+
const ejs_1 = __importDefault(require("ejs"));
|
|
19
|
+
const dotenv_1 = require("dotenv");
|
|
20
|
+
const commander_1 = require("commander");
|
|
21
|
+
const Client_1 = require("./sdk/Client/Client");
|
|
22
|
+
commander_1.program
|
|
23
|
+
.command('generate-layouts')
|
|
24
|
+
.option('-o, --output <outputFilePath>', 'Output file path', 'cntrl.scss')
|
|
25
|
+
.option('-e, --env <envFilename>', 'Name of the .env file', '.env.local')
|
|
26
|
+
.action((options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
try {
|
|
28
|
+
(0, dotenv_1.config)({ path: options.env });
|
|
29
|
+
const templateFilePath = path_1.default.resolve(__dirname, '../resources/template.scss.ejs');
|
|
30
|
+
const scssTemplate = fs_1.default.readFileSync(templateFilePath, 'utf-8');
|
|
31
|
+
const apiUrl = process.env.CNTRL_API_URL;
|
|
32
|
+
if (!apiUrl) {
|
|
33
|
+
throw new Error('Environment variable "CNTRL_API_URL" must be set.');
|
|
34
|
+
}
|
|
35
|
+
const client = new Client_1.Client(apiUrl);
|
|
36
|
+
const layouts = yield client.getLayouts();
|
|
37
|
+
const ranges = convertLayouts(layouts);
|
|
38
|
+
const compiledTemplate = ejs_1.default.compile(scssTemplate);
|
|
39
|
+
const renderedTemplate = compiledTemplate({ ranges });
|
|
40
|
+
const outputFilePath = path_1.default.resolve(process.cwd(), options.output);
|
|
41
|
+
fs_1.default.writeFileSync(outputFilePath, renderedTemplate);
|
|
42
|
+
console.log(`Generated .scss file at ${outputFilePath}`);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('An error occurred:', error);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
function convertLayouts(layouts, maxLayoutWidth = Number.MAX_SAFE_INTEGER) {
|
|
50
|
+
const sorted = layouts.slice().sort((la, lb) => la.startsWith - lb.startsWith);
|
|
51
|
+
const mapped = sorted.map((layout, i, ls) => {
|
|
52
|
+
const next = ls[i + 1];
|
|
53
|
+
return {
|
|
54
|
+
start: layout.startsWith,
|
|
55
|
+
end: next ? next.startsWith - 1 : maxLayoutWidth,
|
|
56
|
+
exemplary: layout.exemplary,
|
|
57
|
+
name: layout.title,
|
|
58
|
+
isFirst: i === 0,
|
|
59
|
+
isLast: !next
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
return mapped;
|
|
63
|
+
}
|
|
64
|
+
commander_1.program.parse(process.argv);
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cntrlSdkContext = exports.customSections = exports.customItems = exports.useCntrlContext = exports.CntrlProvider = exports.Head = exports.Page = exports.RichTextConverter = exports.KeyframeType = exports.PositionType = exports.DimensionMode = exports.AnchorSide = exports.AreaAnchor = exports.ArticleItemType = exports.VerticalAlign = exports.TextTransform = exports.TextDecoration = exports.TextAlign = exports.SectionHeightMode = exports.ScrollPlaybackVideoManager = exports.getLayoutMediaQuery = exports.getLayoutStyles = exports.FontFaceGenerator = exports.CntrlClient = void 0;
|
|
4
|
+
// SDK
|
|
5
|
+
var Client_1 = require("./sdk/Client/Client");
|
|
6
|
+
Object.defineProperty(exports, "CntrlClient", { enumerable: true, get: function () { return Client_1.Client; } });
|
|
7
|
+
var FontFaceGenerator_1 = require("./sdk/FontFaceGenerator/FontFaceGenerator");
|
|
8
|
+
Object.defineProperty(exports, "FontFaceGenerator", { enumerable: true, get: function () { return FontFaceGenerator_1.FontFaceGenerator; } });
|
|
9
|
+
var utils_1 = require("./utils");
|
|
10
|
+
Object.defineProperty(exports, "getLayoutStyles", { enumerable: true, get: function () { return utils_1.getLayoutStyles; } });
|
|
11
|
+
Object.defineProperty(exports, "getLayoutMediaQuery", { enumerable: true, get: function () { return utils_1.getLayoutMediaQuery; } });
|
|
12
|
+
var ScrollPlaybackVideoManager_1 = require("./sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager");
|
|
13
|
+
Object.defineProperty(exports, "ScrollPlaybackVideoManager", { enumerable: true, get: function () { return ScrollPlaybackVideoManager_1.ScrollPlaybackVideoManager; } });
|
|
14
|
+
// enums
|
|
15
|
+
var Section_1 = require("./sdk/types/article/Section");
|
|
16
|
+
Object.defineProperty(exports, "SectionHeightMode", { enumerable: true, get: function () { return Section_1.SectionHeightMode; } });
|
|
17
|
+
var RichText_1 = require("./sdk/types/article/RichText");
|
|
18
|
+
Object.defineProperty(exports, "TextAlign", { enumerable: true, get: function () { return RichText_1.TextAlign; } });
|
|
19
|
+
Object.defineProperty(exports, "TextDecoration", { enumerable: true, get: function () { return RichText_1.TextDecoration; } });
|
|
20
|
+
Object.defineProperty(exports, "TextTransform", { enumerable: true, get: function () { return RichText_1.TextTransform; } });
|
|
21
|
+
Object.defineProperty(exports, "VerticalAlign", { enumerable: true, get: function () { return RichText_1.VerticalAlign; } });
|
|
22
|
+
var ArticleItemType_1 = require("./sdk/types/article/ArticleItemType");
|
|
23
|
+
Object.defineProperty(exports, "ArticleItemType", { enumerable: true, get: function () { return ArticleItemType_1.ArticleItemType; } });
|
|
24
|
+
var ItemArea_1 = require("./sdk/types/article/ItemArea");
|
|
25
|
+
Object.defineProperty(exports, "AreaAnchor", { enumerable: true, get: function () { return ItemArea_1.AreaAnchor; } });
|
|
26
|
+
Object.defineProperty(exports, "AnchorSide", { enumerable: true, get: function () { return ItemArea_1.AnchorSide; } });
|
|
27
|
+
Object.defineProperty(exports, "DimensionMode", { enumerable: true, get: function () { return ItemArea_1.DimensionMode; } });
|
|
28
|
+
Object.defineProperty(exports, "PositionType", { enumerable: true, get: function () { return ItemArea_1.PositionType; } });
|
|
29
|
+
var Keyframe_1 = require("./sdk/types/keyframe/Keyframe");
|
|
30
|
+
Object.defineProperty(exports, "KeyframeType", { enumerable: true, get: function () { return Keyframe_1.KeyframeType; } });
|
|
31
|
+
// SDK nextjs
|
|
32
|
+
const defaultContext_1 = require("./sdk-nextjs/provider/defaultContext");
|
|
33
|
+
var RichTextConverter_1 = require("./sdk-nextjs/utils/RichTextConverter/RichTextConverter");
|
|
34
|
+
Object.defineProperty(exports, "RichTextConverter", { enumerable: true, get: function () { return RichTextConverter_1.RichTextConverter; } });
|
|
35
|
+
var Page_1 = require("./sdk-nextjs/components/Page");
|
|
36
|
+
Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return Page_1.Page; } });
|
|
37
|
+
var Head_1 = require("./sdk-nextjs/components/Head");
|
|
38
|
+
Object.defineProperty(exports, "Head", { enumerable: true, get: function () { return Head_1.CNTRLHead; } });
|
|
39
|
+
var CntrlProvider_1 = require("./sdk-nextjs/provider/CntrlProvider");
|
|
40
|
+
Object.defineProperty(exports, "CntrlProvider", { enumerable: true, get: function () { return CntrlProvider_1.CntrlProvider; } });
|
|
41
|
+
var useCntrlContext_1 = require("./sdk-nextjs/provider/useCntrlContext");
|
|
42
|
+
Object.defineProperty(exports, "useCntrlContext", { enumerable: true, get: function () { return useCntrlContext_1.useCntrlContext; } });
|
|
43
|
+
exports.customItems = defaultContext_1.cntrlSdkContext.customItems;
|
|
44
|
+
exports.customSections = defaultContext_1.cntrlSdkContext.customSections;
|
|
45
|
+
exports.cntrlSdkContext = defaultContext_1.cntrlSdkContext;
|
package/package.json
CHANGED
|
@@ -1,33 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gxpl/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "Generic SDK for use in public websites.",
|
|
5
|
-
"main": "
|
|
6
|
-
"
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"style": "dist/sdk.css",
|
|
9
|
-
"sideEffects": [
|
|
10
|
-
"**/*.css"
|
|
11
|
-
],
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"types": "./dist/index.d.ts",
|
|
15
|
-
"import": "./dist/index.mjs",
|
|
16
|
-
"require": "./dist/index.js"
|
|
17
|
-
},
|
|
18
|
-
"./style/sdk.css": {
|
|
19
|
-
"default": "./dist/sdk.css"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "src/index.ts",
|
|
22
7
|
"scripts": {
|
|
23
8
|
"test": "jest",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"build": "vite build && tsc --project tsconfig.build.json",
|
|
9
|
+
"prebuild": "rimraf ./lib",
|
|
10
|
+
"build": "tsc --project tsconfig.build.json",
|
|
27
11
|
"prepublishOnly": "cross-env NODE_ENV=production npm run build"
|
|
28
12
|
},
|
|
29
13
|
"bin": {
|
|
30
|
-
"gxpl-sdk": "
|
|
14
|
+
"gxpl-sdk": "lib/cli.js"
|
|
31
15
|
},
|
|
32
16
|
"files": [
|
|
33
17
|
"dist",
|
|
@@ -44,17 +28,21 @@
|
|
|
44
28
|
},
|
|
45
29
|
"homepage": "https://github.com/genesisxplatform/sdk#readme",
|
|
46
30
|
"directories": {
|
|
47
|
-
"lib": "
|
|
31
|
+
"lib": "lib"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"next": "^14.2.33"
|
|
48
35
|
},
|
|
49
36
|
"dependencies": {
|
|
50
37
|
"@antfu/eslint-config": "^3.16.0",
|
|
51
38
|
"@cntrl-site/color": "^1.0.0",
|
|
39
|
+
"@cntrl-site/components": "^0.0.2",
|
|
52
40
|
"@cntrl-site/effects": "^1.4.0",
|
|
53
|
-
"@splidejs/react-splide": "^0.7.12",
|
|
54
41
|
"@testing-library/jest-dom": "^6.4.8",
|
|
55
42
|
"@testing-library/react": "^16.0.0",
|
|
56
43
|
"@types/ejs": "^3.1.2",
|
|
57
44
|
"@types/isomorphic-fetch": "^0.0.36",
|
|
45
|
+
"@types/lodash.isequal": "^4.5.8",
|
|
58
46
|
"@types/ua-parser-js": "^0.7.39",
|
|
59
47
|
"@types/vimeo__player": "^2.18.3",
|
|
60
48
|
"@vimeo/player": "^2.25.0",
|
|
@@ -64,7 +52,9 @@
|
|
|
64
52
|
"ejs": "^3.1.9",
|
|
65
53
|
"html-react-parser": "^3.0.1",
|
|
66
54
|
"isomorphic-fetch": "^3.0.0",
|
|
55
|
+
"lodash.isequal": "^4.5.0",
|
|
67
56
|
"mp4box": "^0.5.2",
|
|
57
|
+
"next": "^14.2.33",
|
|
68
58
|
"resize-observer-polyfill": "^1.5.1",
|
|
69
59
|
"styled-jsx": "^5.0.2",
|
|
70
60
|
"ts-node": "^10.9.1",
|
|
@@ -83,8 +73,6 @@
|
|
|
83
73
|
"cross-env": "^10.1.0",
|
|
84
74
|
"jest": "^29.7.0",
|
|
85
75
|
"jest-environment-jsdom": "^29.7.0",
|
|
86
|
-
"react": "^18.2.0",
|
|
87
|
-
"react-dom": "^18.2.0",
|
|
88
76
|
"rimraf": "^6.0.1",
|
|
89
77
|
"sass": "^1.86.3",
|
|
90
78
|
"ts-jest": "^29.0.3",
|