Skip to content

Commit f97abed

Browse files
authored
Merge pull request #3955 from IgniteUI/vnext
Updating prod for 21.2.0
2 parents 6c6a79c + 576b58f commit f97abed

29 files changed

Lines changed: 1239 additions & 2014 deletions

File tree

gulpfile.js

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const { generateLiveEditing } = require('igniteui-live-editing');
1919
const argv = yargs(hideBin(process.argv)).parse();
2020

2121
const submodule = "igniteui-live-editing-samples";
22+
const mainPkgDevDeps = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8')).devDependencies;
2223

2324
gulp.task("generate-live-editing", async () => {
2425
var appDv = argv.appDv !== undefined && argv.appDv.toLowerCase().trim() === "true";
@@ -53,7 +54,38 @@ gulp.task("generate-live-editing", async () => {
5354
},
5455
additionalSharedStyles: ["_variables.scss", "_app-layout.scss"]
5556
})
57+
const samplesDir = path.resolve(liveEditingOptions.samplesDir, 'samples');
5658
await generateLiveEditing(liveEditingOptions);
59+
60+
const sharedJsonPath = path.join(samplesDir, 'shared.json');
61+
const sharedJson = JSON.parse(fs.readFileSync(sharedJsonPath, 'utf8'));
62+
const stylesFile = sharedJson.files && sharedJson.files.find(f => f.path === 'src/styles.scss');
63+
if (stylesFile) {
64+
const tailwindImportRegex = /@import\s+["']tailwindcss["']\s*;?\r?\n?/g;
65+
const stylesWithTailwind = tailwindImportRegex.test(stylesFile.content)
66+
? stylesFile.content
67+
: stylesFile.content.replace(/((?:@use [^\n]+\n)+)/, '$1@import "tailwindcss";\n');
68+
stylesFile.content = stylesFile.content.replace(tailwindImportRegex, '');
69+
fs.writeFileSync(sharedJsonPath, JSON.stringify(sharedJson));
70+
71+
fs.readdirSync(samplesDir)
72+
.filter(f => f.endsWith('.json') && f !== 'shared.json' && f !== 'meta.json')
73+
.forEach(f => {
74+
const samplePath = path.join(samplesDir, f);
75+
const sample = JSON.parse(fs.readFileSync(samplePath, 'utf8'));
76+
const deps = JSON.parse(sample.sampleDependencies || '{}');
77+
if (deps['tailwindcss']) {
78+
const existing = sample.sampleFiles.findIndex(sf => sf.path === 'src/styles.scss');
79+
const styleEntry = { path: 'src/styles.scss', hasRelativeAssetsUrls: false, content: stylesWithTailwind };
80+
if (existing !== -1) {
81+
sample.sampleFiles[existing] = styleEntry;
82+
} else {
83+
sample.sampleFiles.push(styleEntry);
84+
}
85+
fs.writeFileSync(samplePath, JSON.stringify(sample));
86+
}
87+
});
88+
}
5789
});
5890

5991
gulp.task("overwrite-package-json", (done) => {
@@ -116,8 +148,15 @@ const processApp = (projectPath, dest, directoriesToExclude) => {
116148
"path": "package.json",
117149
"hasRelativeAssetsUrls": false,
118150
"content": JSON.stringify({
119-
"dependencies": JSON.parse(jsonObj.sampleDependencies),
120-
"devDependencies": sharedJson.devDependencies
151+
"name": "example-app",
152+
"version": "0.0.0",
153+
"scripts": {
154+
"ng": "ng",
155+
"start": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve",
156+
"build": "node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng build"
157+
},
158+
"dependencies": Object.fromEntries(Object.entries(JSON.parse(jsonObj.sampleDependencies)).map(([pkg, ver]) => [pkg, /^[\^~><=*]/.test(ver) ? ver : '^' + ver])),
159+
"devDependencies": Object.fromEntries(Object.keys(sharedJson.devDependencies).map(pkg => [pkg, mainPkgDevDeps[pkg] || sharedJson.devDependencies[pkg]]))
121160
}, null, 2)
122161
}
123162
additionals.push(packageJson);
@@ -153,6 +192,16 @@ const processApp = (projectPath, dest, directoriesToExclude) => {
153192
} else {
154193
sampleContent = sampleFile.content;
155194
}
195+
if (sampleFile.path === 'src/styles.scss') {
196+
const deps = JSON.parse(jsonObj.sampleDependencies);
197+
const tailwindImportRegex = /@import\s+["']tailwindcss["'];?/;
198+
const tailwindImportStripRegex = /@import\s+["']tailwindcss["'];?\r?\n?/g;
199+
if (deps['tailwindcss'] && !tailwindImportRegex.test(sampleContent)) {
200+
sampleContent = sampleContent.replace(/((?:@use [^\n]+\n)+)/, '$1@import "tailwindcss";\n');
201+
} else if (!deps['tailwindcss']) {
202+
sampleContent = sampleContent.replace(tailwindImportStripRegex, '');
203+
}
204+
}
156205
const paths = sampleFile.path.replace("./", "").split("/");
157206
let tempPath = "";
158207
paths.forEach(p => {

live-editing/configs/GridConfigGenerator.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,12 @@ export class GridConfigGenerator implements IConfigGenerator {
837837
appConfig: BaseAppConfig
838838
}));
839839

840+
configs.push(new Config({
841+
component: 'GridDisableSummariesComponent',
842+
additionalFiles: ['/src/app/data/nwindData.ts'],
843+
appConfig: BaseAppConfig
844+
}));
845+
840846
configs.push(new Config({
841847
component: 'GridStatePersistenceSampleComponent',
842848
additionalFiles: ['/src/app/directives/prevent-scroll.directive.ts', '/src/app/data/financialData.ts', '/src/app/services/financial.service.ts'],

live-editing/configs/PivotGridConfigGenerator.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ export class PivotGridConfigGenerator implements IConfigGenerator {
7676
component: 'PivotDataSelectorSampleComponent'
7777
}));
7878

79+
configs.push(new Config({
80+
additionalFiles: ['/src/app/directives/prevent-scroll.directive.ts', '/src/app/data/dataToAnalyze.ts'],
81+
appConfig: BaseAppConfig,
82+
component: 'PivotGridLayoutComponent'
83+
}));
84+
7985
return configs;
8086
}
8187
}

live-editing/configs/QueryBuilderConfigGenerator.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ export class QueryBuilderConfigGenerator implements IConfigGenerator {
4040
shortenComponentPathBy: "/interactions/query-builder/"
4141
}));
4242

43+
configs.push(new Config({
44+
component: 'QueryBuilderTailwindStyleComponent',
45+
additionalDependencies: ["tailwindcss", "@tailwindcss/postcss"],
46+
appConfig: BaseAppConfig,
47+
shortenComponentPathBy: "/interactions/query-builder/"
48+
}));
49+
4350
return configs;
4451
}
4552
}

live-editing/configs/RippleConfigGenerator.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,36 @@ export class RippleConfigGenerator implements IConfigGenerator {
99
public generateConfigs(): Config[] {
1010
const configs = new Array<Config>();
1111

12+
configs.push(new Config({
13+
component: 'RippleSample2Component',
14+
appConfig: BaseAppConfig,
15+
shortenComponentPathBy: "/interactions/ripple/"
16+
}));
17+
18+
configs.push(new Config({
19+
component: 'RippleSample3Component',
20+
appConfig: BaseAppConfig,
21+
shortenComponentPathBy: "/interactions/ripple/"
22+
}));
23+
24+
configs.push(new Config({
25+
component: 'RippleSample4Component',
26+
appConfig: BaseAppConfig,
27+
shortenComponentPathBy: "/interactions/ripple/"
28+
}));
29+
30+
configs.push(new Config({
31+
component: 'RippleSample5Component',
32+
appConfig: BaseAppConfig,
33+
shortenComponentPathBy: "/interactions/ripple/"
34+
}));
35+
36+
configs.push(new Config({
37+
component: 'RippleSample6Component',
38+
appConfig: BaseAppConfig,
39+
shortenComponentPathBy: "/interactions/ripple/"
40+
}));
41+
1242
configs.push(new Config({
1343
component: 'RippleStylingSampleComponent',
1444
additionalFiles: ["/src/app/interactions/ripple/ripple-stying/layout.scss"],

0 commit comments

Comments
 (0)