@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.
Files changed (3) hide show
  1. package/lib/cli.js +64 -0
  2. package/lib/index.js +45 -0
  3. 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.6",
3
+ "version": "0.0.7",
4
4
  "description": "Generic SDK for use in public websites.",
5
- "main": "dist/index.js",
6
- "module": "dist/index.mjs",
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
- "dev": "vite development",
25
- "prebuild": "rimraf ./dist",
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": "dist/cli.js"
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": "dist"
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",