@teleporthq/teleport-project-plugin-tailwind 0.21.9

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 teleporthq
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/Readme.md ADDED
@@ -0,0 +1,14 @@
1
+ # teleport-project-plugin-tailwind
2
+
3
+ A plugin for configuring projects generated with [code-generators](https://github.com/teleporthq/teleport-code-generators) to use tailwind.
4
+
5
+ > This package is part of the [teleport ecosystem](https://github.com/teleporthq/teleport-code-generators). For a complete guide, check out the [official documentation](https://docs.teleporthq.io/).
6
+
7
+ ## Install
8
+ ```bash
9
+ npm install @teleporthq/teleport-project-plugin-tailwind
10
+ ```
11
+ or
12
+ ```bash
13
+ yarn add @teleporthq/teleport-project-plugin-tailwind
14
+ ```
@@ -0,0 +1,74 @@
1
+ import {
2
+ FileType,
3
+ InMemoryFileRecord,
4
+ ProjectPluginStructure,
5
+ ProjectStrategy,
6
+ ProjectType,
7
+ ProjectUIDL,
8
+ } from '@teleporthq/teleport-types'
9
+ import { ProjectPluginTailwind } from '../src'
10
+ import projectUIDL from '../../../examples/test-samples/project-sample.json'
11
+ import { NextTemplate } from '@teleporthq/teleport-project-generator-next'
12
+
13
+ describe('Plugins adds tailwind as devDependnecy when used with Next', () => {
14
+ const structure: ProjectPluginStructure = {
15
+ files: new Map<string, InMemoryFileRecord>(),
16
+ uidl: projectUIDL as unknown as ProjectUIDL,
17
+ dependencies: {},
18
+ devDependencies: {},
19
+ template: NextTemplate,
20
+ strategy: {} as ProjectStrategy,
21
+ rootFolder: { name: 'root', files: [], subFolders: [] },
22
+ }
23
+
24
+ it('Adds deps and changes config, when project has missing project-style sheet', async () => {
25
+ structure.files.set('_app', {
26
+ files: [
27
+ {
28
+ name: '_app',
29
+ fileType: FileType.JS,
30
+ content: ``,
31
+ },
32
+ ],
33
+ path: [''],
34
+ })
35
+ const plugin = new ProjectPluginTailwind({
36
+ framework: ProjectType.NEXT,
37
+ config: {},
38
+ css: `.tailwind-class{ }`,
39
+ })
40
+ const { files } = await plugin.runAfter(structure)
41
+ const appFile = files.get('_app').files[0]
42
+
43
+ expect(appFile).toBeDefined()
44
+ expect(appFile.content).toContain(`import "./global.css"`)
45
+ expect(files.size).toBe(3)
46
+ expect(files.get('tailwindGlobal')).toBeDefined()
47
+ expect(files.get('tailwindConfig')).toBeDefined()
48
+ })
49
+
50
+ it('Adds deps and changes config, when the project styles are present', async () => {
51
+ structure.files.delete('_app')
52
+ structure.files.set('projectStyleSheet', {
53
+ files: [
54
+ {
55
+ name: 'style',
56
+ fileType: FileType.CSS,
57
+ content: ``,
58
+ },
59
+ ],
60
+ path: [''],
61
+ })
62
+
63
+ const plugin = new ProjectPluginTailwind({
64
+ framework: ProjectType.NEXT,
65
+ config: {},
66
+ css: `.tailwind-class{ }`,
67
+ })
68
+ const { files } = await plugin.runAfter(structure)
69
+
70
+ const styleFile = files.get('projectStyleSheet')
71
+ expect(styleFile).toBeDefined()
72
+ expect(files.size).toBe(3)
73
+ })
74
+ })
@@ -0,0 +1,2 @@
1
+ import { ProjectPluginStructure } from '@teleporthq/teleport-types';
2
+ export declare const defaultTailwindModifier: (structure: ProjectPluginStructure, config: Record<string, unknown>, content: string[], css: string) => Promise<void>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.defaultTailwindModifier = void 0;
51
+ var teleport_types_1 = require("@teleporthq/teleport-types");
52
+ var defaultTailwindModifier = function (structure, config, content, css) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var files, devDependencies, projectSheet;
54
+ var _a;
55
+ return __generator(this, function (_b) {
56
+ files = structure.files, devDependencies = structure.devDependencies;
57
+ config.content = content;
58
+ projectSheet = (_a = files
59
+ .get('projectStyleSheet')) === null || _a === void 0 ? void 0 : _a.files.find(function (file) { return file.name === 'style' && file.fileType === teleport_types_1.FileType.CSS; });
60
+ if (projectSheet) {
61
+ files.delete('projectStyleSheet');
62
+ files.set('projectStyleSheet', {
63
+ path: ['src', 'teleporthq'],
64
+ files: [
65
+ __assign(__assign({}, projectSheet), { content: "".concat(css, "\n").concat(projectSheet.content) }),
66
+ ],
67
+ });
68
+ }
69
+ files.set('tailwindConfig', {
70
+ files: [
71
+ {
72
+ name: 'tailwind.config',
73
+ fileType: teleport_types_1.FileType.JS,
74
+ content: "module.exports = ".concat(JSON.stringify(config, null, 2)),
75
+ },
76
+ {
77
+ name: 'postcss.config',
78
+ fileType: teleport_types_1.FileType.JS,
79
+ content: "module.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};",
80
+ },
81
+ ],
82
+ path: [''],
83
+ });
84
+ devDependencies.tailwindcss = '^3.0.24';
85
+ devDependencies.autoprefixer = '^9.8.6';
86
+ devDependencies.postcss = '^8.2.15';
87
+ return [2 /*return*/];
88
+ });
89
+ }); };
90
+ exports.defaultTailwindModifier = defaultTailwindModifier;
91
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA6E;AAEtE,IAAM,uBAAuB,GAAG,UACrC,SAAiC,EACjC,MAA+B,EAC/B,OAAiB,EACjB,GAAW;;;;QAEH,KAAK,GAAsB,SAAS,MAA/B,EAAE,eAAe,GAAK,SAAS,gBAAd,CAAc;QAC5C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;QAElB,YAAY,GAAG,MAAA,KAAK;aACvB,GAAG,CAAC,mBAAmB,CAAC,0CACvB,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,yBAAQ,CAAC,GAAG,EAAvD,CAAuD,CAAC,CAAA;QAEjF,IAAI,YAAY,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;YACjC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;gBAC3B,KAAK,EAAE;0CAEA,YAAY,KACf,OAAO,EAAE,UAAG,GAAG,eAAK,YAAY,CAAC,OAAO,CAAE;iBAE7C;aACF,CAAC,CAAA;SACH;QAED,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,yBAAQ,CAAC,EAAE;oBACrB,OAAO,EAAE,2BAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE;iBAC/D;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,yBAAQ,CAAC,EAAE;oBACrB,OAAO,EAAE,yFAKd;iBACI;aACF;YACD,IAAI,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAA;QAEF,eAAe,CAAC,WAAW,GAAG,SAAS,CAAA;QACvC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAA;QACvC,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;;;KACpC,CAAA;AAlDY,QAAA,uBAAuB,2BAkDnC"}
@@ -0,0 +1,17 @@
1
+ import { ProjectPlugin, ProjectPluginStructure, ProjectType } from '@teleporthq/teleport-types';
2
+ declare type SUPPORTED_FRAMEWORKS = ProjectType.HTML | ProjectType.NEXT;
3
+ export declare class ProjectPluginTailwind implements ProjectPlugin {
4
+ config: Record<string, unknown>;
5
+ content: string[];
6
+ css: string;
7
+ framework: SUPPORTED_FRAMEWORKS;
8
+ constructor(params: {
9
+ config?: Record<string, unknown>;
10
+ css: string;
11
+ content?: string[];
12
+ framework?: SUPPORTED_FRAMEWORKS;
13
+ });
14
+ runBefore(structure: ProjectPluginStructure): Promise<ProjectPluginStructure>;
15
+ runAfter(structure: ProjectPluginStructure): Promise<ProjectPluginStructure>;
16
+ }
17
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var _a;
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.ProjectPluginTailwind = void 0;
41
+ var teleport_types_1 = require("@teleporthq/teleport-types");
42
+ var nextjs_1 = require("./nextjs");
43
+ var default_1 = require("./default");
44
+ var frameworkMap = (_a = {},
45
+ _a[teleport_types_1.ProjectType.NEXT] = nextjs_1.nextJSTailwindModifier,
46
+ _a[teleport_types_1.ProjectType.HTML] = default_1.defaultTailwindModifier,
47
+ _a);
48
+ var ProjectPluginTailwind = /** @class */ (function () {
49
+ function ProjectPluginTailwind(params) {
50
+ this.css = params.css;
51
+ this.config = (params === null || params === void 0 ? void 0 : params.config) || {};
52
+ this.content = (params === null || params === void 0 ? void 0 : params.content) || ['./src/**/*.{vue,js,ts,jsx,tsx}'];
53
+ this.framework = (params === null || params === void 0 ? void 0 : params.framework) || teleport_types_1.ProjectType.HTML;
54
+ }
55
+ ProjectPluginTailwind.prototype.runBefore = function (structure) {
56
+ return __awaiter(this, void 0, void 0, function () {
57
+ return __generator(this, function (_a) {
58
+ return [2 /*return*/, structure];
59
+ });
60
+ });
61
+ };
62
+ ProjectPluginTailwind.prototype.runAfter = function (structure) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ var projectModifier;
65
+ return __generator(this, function (_a) {
66
+ switch (_a.label) {
67
+ case 0:
68
+ projectModifier = frameworkMap[this.framework];
69
+ if (!projectModifier) {
70
+ throw new Error("Requested ".concat(this.framework, " doesn't have a predefined modifier"));
71
+ }
72
+ return [4 /*yield*/, projectModifier(structure, this.config, this.content, this.css)];
73
+ case 1:
74
+ _a.sent();
75
+ return [2 /*return*/, structure];
76
+ }
77
+ });
78
+ });
79
+ };
80
+ return ProjectPluginTailwind;
81
+ }());
82
+ exports.ProjectPluginTailwind = ProjectPluginTailwind;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+F;AAC/F,mCAAiD;AACjD,qCAAmD;AAInD,IAAM,YAAY;IAShB,GAAC,4BAAW,CAAC,IAAI,IAAG,+BAAsB;IAC1C,GAAC,4BAAW,CAAC,IAAI,IAAG,iCAAuB;OAC5C,CAAA;AAED;IAME,+BAAY,MAKX;QACC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,CAAC,gCAAgC,CAAC,CAAA;QACpE,IAAI,CAAC,SAAS,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,4BAAW,CAAC,IAAI,CAAA;IACxD,CAAC;IAEK,yCAAS,GAAf,UAAgB,SAAiC;;;gBAC/C,sBAAO,SAAS,EAAA;;;KACjB;IAEK,wCAAQ,GAAd,UAAe,SAAiC;;;;;;wBACxC,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACpD,IAAI,CAAC,eAAe,EAAE;4BACpB,MAAM,IAAI,KAAK,CAAC,oBAAa,IAAI,CAAC,SAAS,wCAAqC,CAAC,CAAA;yBAClF;wBACD,qBAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAArE,SAAqE,CAAA;wBACrE,sBAAO,SAAS,EAAA;;;;KACjB;IACH,4BAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,sDAAqB"}
@@ -0,0 +1,2 @@
1
+ import { ProjectPluginStructure } from '@teleporthq/teleport-types';
2
+ export declare const nextJSTailwindModifier: (structure: ProjectPluginStructure, config: Record<string, unknown>, content: string[], css: string) => Promise<void>;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
58
+ Object.defineProperty(exports, "__esModule", { value: true });
59
+ exports.nextJSTailwindModifier = void 0;
60
+ var teleport_types_1 = require("@teleporthq/teleport-types");
61
+ var nextJSTailwindModifier = function (structure, config, content, css) { return __awaiter(void 0, void 0, void 0, function () {
62
+ var files, devDependencies, projectSheet, rootFolder, rootFile;
63
+ var _a;
64
+ return __generator(this, function (_b) {
65
+ files = structure.files, devDependencies = structure.devDependencies;
66
+ config.content = content;
67
+ projectSheet = (_a = files
68
+ .get('projectStyleSheet')) === null || _a === void 0 ? void 0 : _a.files.find(function (file) { return file.name === 'style' && file.fileType === teleport_types_1.FileType.CSS; });
69
+ if (projectSheet) {
70
+ files.delete('projectStyleSheet');
71
+ files.set('projectStyleSheet', {
72
+ path: ['pages'],
73
+ files: [
74
+ __assign(__assign({}, projectSheet), { content: "".concat(css, "\n").concat(projectSheet.content) }),
75
+ ],
76
+ });
77
+ }
78
+ else {
79
+ rootFolder = files.get('_app');
80
+ rootFile = rootFolder === null || rootFolder === void 0 ? void 0 : rootFolder.files.find(function (file) { return file.name === '_app' && file.fileType === teleport_types_1.FileType.JS; });
81
+ if (!rootFile) {
82
+ throw new Error("Entry _app.js is missing from the project. Please check the project");
83
+ }
84
+ files.delete('_app');
85
+ files.set('_app', {
86
+ files: __spreadArray(__spreadArray([], ((rootFolder === null || rootFolder === void 0 ? void 0 : rootFolder.files) || []).filter(function (file) { return file.name !== '_app' && file.fileType === teleport_types_1.FileType.JS; }), true), [
87
+ __assign(__assign({}, rootFile), { content: "import \"./global.css\"\n".concat(rootFile.content) }),
88
+ ], false),
89
+ path: ['pages'],
90
+ });
91
+ files.set('tailwindGlobal', {
92
+ files: [
93
+ {
94
+ name: 'global',
95
+ fileType: teleport_types_1.FileType.CSS,
96
+ content: css,
97
+ },
98
+ ],
99
+ path: ['pages'],
100
+ });
101
+ }
102
+ files.set('tailwindConfig', {
103
+ files: [
104
+ {
105
+ name: 'tailwind.config',
106
+ fileType: teleport_types_1.FileType.JS,
107
+ content: "module.exports = ".concat(JSON.stringify(config, null, 2)),
108
+ },
109
+ {
110
+ name: 'postcss.config',
111
+ fileType: teleport_types_1.FileType.JS,
112
+ content: "module.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};",
113
+ },
114
+ ],
115
+ path: [''],
116
+ });
117
+ devDependencies.tailwindcss = '^3.0.24';
118
+ devDependencies.autoprefixer = '^9.8.6';
119
+ devDependencies.postcss = '^8.2.15';
120
+ return [2 /*return*/];
121
+ });
122
+ }); };
123
+ exports.nextJSTailwindModifier = nextJSTailwindModifier;
124
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/nextjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../src/default.ts","../../src/nextjs.ts","../../src/index.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"d58cb8e3308641cdc84644105bd3d594045b356af29fd10d5a74f42c1a8396ad","1f5e570c450d1f10b3af8ff29f5cb5532c592ef4d28a8bf975987582ececf382","d49a625c30294f92976c954fffb2bcc2faeb81957148a363969ee742a43e2913","c4a042f3df0f5855fbd2ba352d7b0a581a478737b60f306fbb253dceaaa981d2","cd619820771edb23926bb084906215ab9c491255fa707488d15748b38909b747","95ad6564c9a7a3aa1b75bdd979a7eb2f47f5983de0da71663ee81b832c794eb3","a13900eeb7bbd5399e85969dd9142fc1ef3d6e680fe0978429dcc7b5515e520d","80601aef16ec4430f5abc8471f69cc628e32d2ae61e0a666d1b9b45348f780d3","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"2f6c9750131d5d2fdaba85c164a930dc07d2d7e7e8970b89d32864aa6c72620c","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","90b94d3d2aa3432cc9dd2d15f56a38b166163fc555404c74243e1af29c5549d8","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","c993aac3b6d4a4620ef9651497069eb84806a131420e4f158ea9396fb8eb9b8c","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","d2f5c67858e65ebb932c2f4bd2af646f5764e8ad7f1e4fbe942a0b5ea05dc0e7","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","7f249c599e7a9335dd8e94a4bfe63f00e911756c3c23f77cdb6ef0ec4d479e4a",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"2cabc86ea4f972f2c8386903eccb8c19e2f2370fb9808b66dd8759c1f2ab30c7","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","3fa48484c65913004d5abb5c0f917b61ea4684f32d05bb28c1ecfa5f05a9ed12","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"127803f77e0dfee84b031b83ea7776875c6c4c89e11a81d00299ff58f163f0e2","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"dd9ea469d1bfaf589c6a196275d35cb1aa14014707c2c46d920c7b921e8f5bca","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[91,103,105],[91],[91,99,100],[91,99,100,101,102],[91,104],[91,106],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[44,91],[44,45,46,91],[40,91],[40,41,42,43,91]],"referencedMap":[[106,1],[99,2],[101,3],[103,4],[102,3],[100,2],[105,5],[104,2],[107,6],[48,7],[49,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[61,17],[62,18],[63,19],[64,20],[65,21],[50,2],[97,2],[66,22],[67,23],[68,24],[98,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[78,35],[79,36],[80,37],[82,38],[81,39],[83,40],[84,41],[85,42],[86,43],[87,44],[88,45],[89,46],[90,47],[91,48],[92,49],[93,50],[94,51],[95,52],[96,53],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[38,2],[34,2],[35,2],[36,2],[37,2],[1,2],[39,2],[45,54],[47,55],[46,54],[42,2],[41,56],[44,57],[40,2],[43,56]],"exportedModulesMap":[[106,1],[99,2],[101,3],[103,4],[102,3],[100,2],[105,5],[104,2],[107,6],[48,7],[49,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[61,17],[62,18],[63,19],[64,20],[65,21],[50,2],[97,2],[66,22],[67,23],[68,24],[98,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[78,35],[79,36],[80,37],[82,38],[81,39],[83,40],[84,41],[85,42],[86,43],[87,44],[88,45],[89,46],[90,47],[91,48],[92,49],[93,50],[94,51],[95,52],[96,53],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[38,2],[34,2],[35,2],[36,2],[37,2],[1,2],[39,2],[45,54],[47,55],[46,54],[42,2],[41,56],[44,57],[40,2],[43,56]],"semanticDiagnosticsPerFile":[106,99,101,103,102,100,105,104,107,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,38,34,35,36,37,1,39,45,47,46,42,41,44,40,43]},"version":"4.6.2"}
@@ -0,0 +1,2 @@
1
+ import { ProjectPluginStructure } from '@teleporthq/teleport-types';
2
+ export declare const defaultTailwindModifier: (structure: ProjectPluginStructure, config: Record<string, unknown>, content: string[], css: string) => Promise<void>;
@@ -0,0 +1,87 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { FileType } from '@teleporthq/teleport-types';
49
+ export var defaultTailwindModifier = function (structure, config, content, css) { return __awaiter(void 0, void 0, void 0, function () {
50
+ var files, devDependencies, projectSheet;
51
+ var _a;
52
+ return __generator(this, function (_b) {
53
+ files = structure.files, devDependencies = structure.devDependencies;
54
+ config.content = content;
55
+ projectSheet = (_a = files
56
+ .get('projectStyleSheet')) === null || _a === void 0 ? void 0 : _a.files.find(function (file) { return file.name === 'style' && file.fileType === FileType.CSS; });
57
+ if (projectSheet) {
58
+ files.delete('projectStyleSheet');
59
+ files.set('projectStyleSheet', {
60
+ path: ['src', 'teleporthq'],
61
+ files: [
62
+ __assign(__assign({}, projectSheet), { content: "".concat(css, "\n").concat(projectSheet.content) }),
63
+ ],
64
+ });
65
+ }
66
+ files.set('tailwindConfig', {
67
+ files: [
68
+ {
69
+ name: 'tailwind.config',
70
+ fileType: FileType.JS,
71
+ content: "module.exports = ".concat(JSON.stringify(config, null, 2)),
72
+ },
73
+ {
74
+ name: 'postcss.config',
75
+ fileType: FileType.JS,
76
+ content: "module.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};",
77
+ },
78
+ ],
79
+ path: [''],
80
+ });
81
+ devDependencies.tailwindcss = '^3.0.24';
82
+ devDependencies.autoprefixer = '^9.8.6';
83
+ devDependencies.postcss = '^8.2.15';
84
+ return [2 /*return*/];
85
+ });
86
+ }); };
87
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,4BAA4B,CAAA;AAE7E,MAAM,CAAC,IAAM,uBAAuB,GAAG,UACrC,SAAiC,EACjC,MAA+B,EAC/B,OAAiB,EACjB,GAAW;;;;QAEH,KAAK,GAAsB,SAAS,MAA/B,EAAE,eAAe,GAAK,SAAS,gBAAd,CAAc;QAC5C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;QAElB,YAAY,GAAG,MAAA,KAAK;aACvB,GAAG,CAAC,mBAAmB,CAAC,0CACvB,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAvD,CAAuD,CAAC,CAAA;QAEjF,IAAI,YAAY,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;YACjC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE;gBAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;gBAC3B,KAAK,EAAE;0CAEA,YAAY,KACf,OAAO,EAAE,UAAG,GAAG,eAAK,YAAY,CAAC,OAAO,CAAE;iBAE7C;aACF,CAAC,CAAA;SACH;QAED,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE;YAC1B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACrB,OAAO,EAAE,2BAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE;iBAC/D;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACrB,OAAO,EAAE,yFAKd;iBACI;aACF;YACD,IAAI,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAA;QAEF,eAAe,CAAC,WAAW,GAAG,SAAS,CAAA;QACvC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAA;QACvC,eAAe,CAAC,OAAO,GAAG,SAAS,CAAA;;;KACpC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { ProjectPlugin, ProjectPluginStructure, ProjectType } from '@teleporthq/teleport-types';
2
+ declare type SUPPORTED_FRAMEWORKS = ProjectType.HTML | ProjectType.NEXT;
3
+ export declare class ProjectPluginTailwind implements ProjectPlugin {
4
+ config: Record<string, unknown>;
5
+ content: string[];
6
+ css: string;
7
+ framework: SUPPORTED_FRAMEWORKS;
8
+ constructor(params: {
9
+ config?: Record<string, unknown>;
10
+ css: string;
11
+ content?: string[];
12
+ framework?: SUPPORTED_FRAMEWORKS;
13
+ });
14
+ runBefore(structure: ProjectPluginStructure): Promise<ProjectPluginStructure>;
15
+ runAfter(structure: ProjectPluginStructure): Promise<ProjectPluginStructure>;
16
+ }
17
+ export {};
@@ -0,0 +1,80 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var _a;
38
+ import { ProjectType } from '@teleporthq/teleport-types';
39
+ import { nextJSTailwindModifier } from './nextjs';
40
+ import { defaultTailwindModifier } from './default';
41
+ var frameworkMap = (_a = {},
42
+ _a[ProjectType.NEXT] = nextJSTailwindModifier,
43
+ _a[ProjectType.HTML] = defaultTailwindModifier,
44
+ _a);
45
+ var ProjectPluginTailwind = /** @class */ (function () {
46
+ function ProjectPluginTailwind(params) {
47
+ this.css = params.css;
48
+ this.config = (params === null || params === void 0 ? void 0 : params.config) || {};
49
+ this.content = (params === null || params === void 0 ? void 0 : params.content) || ['./src/**/*.{vue,js,ts,jsx,tsx}'];
50
+ this.framework = (params === null || params === void 0 ? void 0 : params.framework) || ProjectType.HTML;
51
+ }
52
+ ProjectPluginTailwind.prototype.runBefore = function (structure) {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ return __generator(this, function (_a) {
55
+ return [2 /*return*/, structure];
56
+ });
57
+ });
58
+ };
59
+ ProjectPluginTailwind.prototype.runAfter = function (structure) {
60
+ return __awaiter(this, void 0, void 0, function () {
61
+ var projectModifier;
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0:
65
+ projectModifier = frameworkMap[this.framework];
66
+ if (!projectModifier) {
67
+ throw new Error("Requested ".concat(this.framework, " doesn't have a predefined modifier"));
68
+ }
69
+ return [4 /*yield*/, projectModifier(structure, this.config, this.content, this.css)];
70
+ case 1:
71
+ _a.sent();
72
+ return [2 /*return*/, structure];
73
+ }
74
+ });
75
+ });
76
+ };
77
+ return ProjectPluginTailwind;
78
+ }());
79
+ export { ProjectPluginTailwind };
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAyC,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAInD,IAAM,YAAY;IAShB,GAAC,WAAW,CAAC,IAAI,IAAG,sBAAsB;IAC1C,GAAC,WAAW,CAAC,IAAI,IAAG,uBAAuB;OAC5C,CAAA;AAED;IAME,+BAAY,MAKX;QACC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,CAAC,gCAAgC,CAAC,CAAA;QACpE,IAAI,CAAC,SAAS,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,KAAI,WAAW,CAAC,IAAI,CAAA;IACxD,CAAC;IAEK,yCAAS,GAAf,UAAgB,SAAiC;;;gBAC/C,sBAAO,SAAS,EAAA;;;KACjB;IAEK,wCAAQ,GAAd,UAAe,SAAiC;;;;;;wBACxC,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACpD,IAAI,CAAC,eAAe,EAAE;4BACpB,MAAM,IAAI,KAAK,CAAC,oBAAa,IAAI,CAAC,SAAS,wCAAqC,CAAC,CAAA;yBAClF;wBACD,qBAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAArE,SAAqE,CAAA;wBACrE,sBAAO,SAAS,EAAA;;;;KACjB;IACH,4BAAC;AAAD,CAAC,AA9BD,IA8BC"}
@@ -0,0 +1,2 @@
1
+ import { ProjectPluginStructure } from '@teleporthq/teleport-types';
2
+ export declare const nextJSTailwindModifier: (structure: ProjectPluginStructure, config: Record<string, unknown>, content: string[], css: string) => Promise<void>;
@@ -0,0 +1,120 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { FileType } from '@teleporthq/teleport-types';
58
+ export var nextJSTailwindModifier = function (structure, config, content, css) { return __awaiter(void 0, void 0, void 0, function () {
59
+ var files, devDependencies, projectSheet, rootFolder, rootFile;
60
+ var _a;
61
+ return __generator(this, function (_b) {
62
+ files = structure.files, devDependencies = structure.devDependencies;
63
+ config.content = content;
64
+ projectSheet = (_a = files
65
+ .get('projectStyleSheet')) === null || _a === void 0 ? void 0 : _a.files.find(function (file) { return file.name === 'style' && file.fileType === FileType.CSS; });
66
+ if (projectSheet) {
67
+ files.delete('projectStyleSheet');
68
+ files.set('projectStyleSheet', {
69
+ path: ['pages'],
70
+ files: [
71
+ __assign(__assign({}, projectSheet), { content: "".concat(css, "\n").concat(projectSheet.content) }),
72
+ ],
73
+ });
74
+ }
75
+ else {
76
+ rootFolder = files.get('_app');
77
+ rootFile = rootFolder === null || rootFolder === void 0 ? void 0 : rootFolder.files.find(function (file) { return file.name === '_app' && file.fileType === FileType.JS; });
78
+ if (!rootFile) {
79
+ throw new Error("Entry _app.js is missing from the project. Please check the project");
80
+ }
81
+ files.delete('_app');
82
+ files.set('_app', {
83
+ files: __spreadArray(__spreadArray([], ((rootFolder === null || rootFolder === void 0 ? void 0 : rootFolder.files) || []).filter(function (file) { return file.name !== '_app' && file.fileType === FileType.JS; }), true), [
84
+ __assign(__assign({}, rootFile), { content: "import \"./global.css\"\n".concat(rootFile.content) }),
85
+ ], false),
86
+ path: ['pages'],
87
+ });
88
+ files.set('tailwindGlobal', {
89
+ files: [
90
+ {
91
+ name: 'global',
92
+ fileType: FileType.CSS,
93
+ content: css,
94
+ },
95
+ ],
96
+ path: ['pages'],
97
+ });
98
+ }
99
+ files.set('tailwindConfig', {
100
+ files: [
101
+ {
102
+ name: 'tailwind.config',
103
+ fileType: FileType.JS,
104
+ content: "module.exports = ".concat(JSON.stringify(config, null, 2)),
105
+ },
106
+ {
107
+ name: 'postcss.config',
108
+ fileType: FileType.JS,
109
+ content: "module.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};",
110
+ },
111
+ ],
112
+ path: [''],
113
+ });
114
+ devDependencies.tailwindcss = '^3.0.24';
115
+ devDependencies.autoprefixer = '^9.8.6';
116
+ devDependencies.postcss = '^8.2.15';
117
+ return [2 /*return*/];
118
+ });
119
+ }); };
120
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/nextjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../src/default.ts","../../src/nextjs.ts","../../src/index.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"d58cb8e3308641cdc84644105bd3d594045b356af29fd10d5a74f42c1a8396ad","1f5e570c450d1f10b3af8ff29f5cb5532c592ef4d28a8bf975987582ececf382","d49a625c30294f92976c954fffb2bcc2faeb81957148a363969ee742a43e2913","c4a042f3df0f5855fbd2ba352d7b0a581a478737b60f306fbb253dceaaa981d2","cd619820771edb23926bb084906215ab9c491255fa707488d15748b38909b747","95ad6564c9a7a3aa1b75bdd979a7eb2f47f5983de0da71663ee81b832c794eb3","a13900eeb7bbd5399e85969dd9142fc1ef3d6e680fe0978429dcc7b5515e520d","80601aef16ec4430f5abc8471f69cc628e32d2ae61e0a666d1b9b45348f780d3","0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"2f6c9750131d5d2fdaba85c164a930dc07d2d7e7e8970b89d32864aa6c72620c","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","90b94d3d2aa3432cc9dd2d15f56a38b166163fc555404c74243e1af29c5549d8","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","c993aac3b6d4a4620ef9651497069eb84806a131420e4f158ea9396fb8eb9b8c","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","6972fca26f6e9bd56197568d4379f99071a90766e06b4fcb5920a0130a9202be",{"version":"4a2628e95962c8ab756121faa3ac2ed348112ff7a87b5c286dd2cc3326546b4c","affectsGlobalScope":true},"80793b2277f31baa199234daed806fff0fb11491d1ebd3357e520c3558063f00","a049a59a02009fc023684fcfaf0ac526fe36c35dcc5d2b7d620c1750ba11b083","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","d2f5c67858e65ebb932c2f4bd2af646f5764e8ad7f1e4fbe942a0b5ea05dc0e7","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","7f249c599e7a9335dd8e94a4bfe63f00e911756c3c23f77cdb6ef0ec4d479e4a",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"2cabc86ea4f972f2c8386903eccb8c19e2f2370fb9808b66dd8759c1f2ab30c7","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","945a841f9a591197154c85386bc5a1467d42d325104bb36db51bc566bbb240be","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","3fa48484c65913004d5abb5c0f917b61ea4684f32d05bb28c1ecfa5f05a9ed12","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"127803f77e0dfee84b031b83ea7776875c6c4c89e11a81d00299ff58f163f0e2","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","2408611d9b4146e35d1dbd1f443ccd8e187c74614a54b80300728277529dbf11","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"dd9ea469d1bfaf589c6a196275d35cb1aa14014707c2c46d920c7b921e8f5bca","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":99,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[91,103,105],[91],[91,99,100],[91,99,100,101,102],[91,104],[91,106],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[44,91],[44,45,46,91],[40,91],[40,41,42,43,91]],"referencedMap":[[106,1],[99,2],[101,3],[103,4],[102,3],[100,2],[105,5],[104,2],[107,6],[48,7],[49,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[61,17],[62,18],[63,19],[64,20],[65,21],[50,2],[97,2],[66,22],[67,23],[68,24],[98,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[78,35],[79,36],[80,37],[82,38],[81,39],[83,40],[84,41],[85,42],[86,43],[87,44],[88,45],[89,46],[90,47],[91,48],[92,49],[93,50],[94,51],[95,52],[96,53],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[38,2],[34,2],[35,2],[36,2],[37,2],[1,2],[39,2],[45,54],[47,55],[46,54],[42,2],[41,56],[44,57],[40,2],[43,56]],"exportedModulesMap":[[106,1],[99,2],[101,3],[103,4],[102,3],[100,2],[105,5],[104,2],[107,6],[48,7],[49,7],[51,8],[52,9],[53,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[61,17],[62,18],[63,19],[64,20],[65,21],[50,2],[97,2],[66,22],[67,23],[68,24],[98,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[78,35],[79,36],[80,37],[82,38],[81,39],[83,40],[84,41],[85,42],[86,43],[87,44],[88,45],[89,46],[90,47],[91,48],[92,49],[93,50],[94,51],[95,52],[96,53],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[30,2],[31,2],[32,2],[33,2],[7,2],[38,2],[34,2],[35,2],[36,2],[37,2],[1,2],[39,2],[45,54],[47,55],[46,54],[42,2],[41,56],[44,57],[40,2],[43,56]],"semanticDiagnosticsPerFile":[106,99,101,103,102,100,105,104,107,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,38,34,35,36,37,1,39,45,47,46,42,41,44,40,43]},"version":"4.6.2"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@teleporthq/teleport-project-plugin-tailwind",
3
+ "version": "0.21.9",
4
+ "description": "A plugin for configuring teleportHQ projects to use tailwind",
5
+ "author": "teleportHQ",
6
+ "license": "MIT",
7
+ "homepage": "https://teleporthq.io/",
8
+ "main": "dist/cjs/index.js",
9
+ "module": "dist/esm/index.js",
10
+ "types": "dist/cjs/index.d.ts",
11
+ "sideEffects": false,
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+ssh://git@github.com/teleporthq/teleport-code-generators.git"
15
+ },
16
+ "bugs": {
17
+ "url": "https://github.com/teleporthq/teleport-code-generators/issues"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "scripts": {
23
+ "clean": "rimraf dist",
24
+ "build": "tsc -p tsconfig.json && tsc -p tsconfig.json --module commonjs --outDir dist/cjs"
25
+ },
26
+ "dependencies": {
27
+ "@teleporthq/teleport-types": "^0.21.7"
28
+ },
29
+ "gitHead": "fa8f1ba5ceeabb6a347739d5613d8f85f593e20b"
30
+ }
package/src/default.ts ADDED
@@ -0,0 +1,53 @@
1
+ import { FileType, ProjectPluginStructure } from '@teleporthq/teleport-types'
2
+
3
+ export const defaultTailwindModifier = async (
4
+ structure: ProjectPluginStructure,
5
+ config: Record<string, unknown>,
6
+ content: string[],
7
+ css: string
8
+ ): Promise<void> => {
9
+ const { files, devDependencies } = structure
10
+ config.content = content
11
+
12
+ const projectSheet = files
13
+ .get('projectStyleSheet')
14
+ ?.files.find((file) => file.name === 'style' && file.fileType === FileType.CSS)
15
+
16
+ if (projectSheet) {
17
+ files.delete('projectStyleSheet')
18
+ files.set('projectStyleSheet', {
19
+ path: ['src', 'teleporthq'],
20
+ files: [
21
+ {
22
+ ...projectSheet,
23
+ content: `${css}\n${projectSheet.content}`,
24
+ },
25
+ ],
26
+ })
27
+ }
28
+
29
+ files.set('tailwindConfig', {
30
+ files: [
31
+ {
32
+ name: 'tailwind.config',
33
+ fileType: FileType.JS,
34
+ content: `module.exports = ${JSON.stringify(config, null, 2)}`,
35
+ },
36
+ {
37
+ name: 'postcss.config',
38
+ fileType: FileType.JS,
39
+ content: `module.exports = {
40
+ plugins: {
41
+ tailwindcss: {},
42
+ autoprefixer: {},
43
+ },
44
+ };`,
45
+ },
46
+ ],
47
+ path: [''],
48
+ })
49
+
50
+ devDependencies.tailwindcss = '^3.0.24'
51
+ devDependencies.autoprefixer = '^9.8.6'
52
+ devDependencies.postcss = '^8.2.15'
53
+ }
package/src/index.ts ADDED
@@ -0,0 +1,50 @@
1
+ import { ProjectPlugin, ProjectPluginStructure, ProjectType } from '@teleporthq/teleport-types'
2
+ import { nextJSTailwindModifier } from './nextjs'
3
+ import { defaultTailwindModifier } from './default'
4
+
5
+ type SUPPORTED_FRAMEWORKS = ProjectType.HTML | ProjectType.NEXT
6
+
7
+ const frameworkMap: Record<
8
+ SUPPORTED_FRAMEWORKS,
9
+ (
10
+ structure: ProjectPluginStructure,
11
+ config: Record<string, unknown>,
12
+ content: string[],
13
+ css: string
14
+ ) => Promise<void>
15
+ > = {
16
+ [ProjectType.NEXT]: nextJSTailwindModifier,
17
+ [ProjectType.HTML]: defaultTailwindModifier,
18
+ }
19
+
20
+ export class ProjectPluginTailwind implements ProjectPlugin {
21
+ config: Record<string, unknown>
22
+ content: string[]
23
+ css: string
24
+ framework: SUPPORTED_FRAMEWORKS
25
+
26
+ constructor(params: {
27
+ config?: Record<string, unknown>
28
+ css: string
29
+ content?: string[]
30
+ framework?: SUPPORTED_FRAMEWORKS
31
+ }) {
32
+ this.css = params.css
33
+ this.config = params?.config || {}
34
+ this.content = params?.content || ['./src/**/*.{vue,js,ts,jsx,tsx}']
35
+ this.framework = params?.framework || ProjectType.HTML
36
+ }
37
+
38
+ async runBefore(structure: ProjectPluginStructure) {
39
+ return structure
40
+ }
41
+
42
+ async runAfter(structure: ProjectPluginStructure) {
43
+ const projectModifier = frameworkMap[this.framework]
44
+ if (!projectModifier) {
45
+ throw new Error(`Requested ${this.framework} doesn't have a predefined modifier`)
46
+ }
47
+ await projectModifier(structure, this.config, this.content, this.css)
48
+ return structure
49
+ }
50
+ }
package/src/nextjs.ts ADDED
@@ -0,0 +1,86 @@
1
+ import { FileType, ProjectPluginStructure } from '@teleporthq/teleport-types'
2
+
3
+ export const nextJSTailwindModifier = async (
4
+ structure: ProjectPluginStructure,
5
+ config: Record<string, unknown>,
6
+ content: string[],
7
+ css: string
8
+ ): Promise<void> => {
9
+ const { files, devDependencies } = structure
10
+ config.content = content
11
+
12
+ const projectSheet = files
13
+ .get('projectStyleSheet')
14
+ ?.files.find((file) => file.name === 'style' && file.fileType === FileType.CSS)
15
+
16
+ if (projectSheet) {
17
+ files.delete('projectStyleSheet')
18
+ files.set('projectStyleSheet', {
19
+ path: ['pages'],
20
+ files: [
21
+ {
22
+ ...projectSheet,
23
+ content: `${css}\n${projectSheet.content}`,
24
+ },
25
+ ],
26
+ })
27
+ } else {
28
+ const rootFolder = files.get('_app')
29
+ const rootFile = rootFolder?.files.find(
30
+ (file) => file.name === '_app' && file.fileType === FileType.JS
31
+ )
32
+
33
+ if (!rootFile) {
34
+ throw new Error(`Entry _app.js is missing from the project. Please check the project`)
35
+ }
36
+
37
+ files.delete('_app')
38
+ files.set('_app', {
39
+ files: [
40
+ ...(rootFolder?.files || []).filter(
41
+ (file) => file.name !== '_app' && file.fileType === FileType.JS
42
+ ),
43
+ {
44
+ ...rootFile,
45
+ content: `import "./global.css"\n${rootFile.content}`,
46
+ },
47
+ ],
48
+ path: ['pages'],
49
+ })
50
+ files.set('tailwindGlobal', {
51
+ files: [
52
+ {
53
+ name: 'global',
54
+ fileType: FileType.CSS,
55
+ content: css,
56
+ },
57
+ ],
58
+ path: ['pages'],
59
+ })
60
+ }
61
+
62
+ files.set('tailwindConfig', {
63
+ files: [
64
+ {
65
+ name: 'tailwind.config',
66
+ fileType: FileType.JS,
67
+ content: `module.exports = ${JSON.stringify(config, null, 2)}`,
68
+ },
69
+ {
70
+ name: 'postcss.config',
71
+ fileType: FileType.JS,
72
+ content: `module.exports = {
73
+ plugins: {
74
+ tailwindcss: {},
75
+ autoprefixer: {},
76
+ },
77
+ };`,
78
+ },
79
+ ],
80
+ path: [''],
81
+ })
82
+
83
+ devDependencies.tailwindcss = '^3.0.24'
84
+ devDependencies.autoprefixer = '^9.8.6'
85
+ devDependencies.postcss = '^8.2.15'
86
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist/esm"
5
+ },
6
+ "include": [
7
+ "./src"
8
+ ]
9
+ }