Skip to content

Commit

Permalink
fix(qwik-nx): use globs util to generate tailwind paths
Browse files Browse the repository at this point in the history
closes #171
  • Loading branch information
dmitry-stepanenko committed Mar 2, 2024
1 parent 75cbc99 commit efa450c
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
const { createGlobPatternsForDependencies } = require('qwik-nx/tailwind');
const { join } = require('path');

/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
join(
__dirname,
'src/**/*.{js,ts,jsx,tsx,mdx}'
'{src,pages,components,app}/**/*!(*.stories|*.spec).{ts,tsx,html}'
),
...createGlobPatternsForDependencies(__dirname),
],
theme: {
extend: {},
Expand Down
File renamed without changes.
30 changes: 30 additions & 0 deletions packages/qwik-nx/src/utils/exportable/tailwind.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { createGlobPatternsForDependencies as jsGenerateGlobs } from '@nx/js/src/utils/generate-globs';

/**
* Generates a set of glob patterns based off the source root of the app and its dependencies
* @param dirPath workspace relative directory path that will be used to infer the parent project and dependencies
* @param fileGlobPattern pass a custom glob pattern to be used
*/
export function createGlobPatternsForDependencies(
dirPath: string,
fileGlobPattern = '/**/*!(*.stories|*.spec).{tsx,ts,jsx,js,html}'
) {
try {
return jsGenerateGlobs(dirPath, fileGlobPattern);
} catch (e) {
/**
* It should not be possible to reach this point when the utility is invoked as part of the normal
* lifecycle of Nx executors. However, other tooling, such as the VSCode Tailwind IntelliSense plugin
* or JetBrains editors such as WebStorm, may execute the tailwind.config.js file in order to provide
* autocomplete features, for example.
*
* In order to best support that use-case, we therefore do not hard error when the ProjectGraph is
* fundamently unavailable in this tailwind-specific context.
*/
console.warn(
'\nWARNING: There was an error creating glob patterns, returning an empty array\n' +
`${(e as Error).message}\n`
);
return [];
}
}
2 changes: 1 addition & 1 deletion packages/qwik-nx/storybook.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './src/utils/storybook';
export * from './src/utils/exportable/storybook';
1 change: 1 addition & 0 deletions packages/qwik-nx/tailwind.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './src/utils/exportable/tailwind';

0 comments on commit efa450c

Please sign in to comment.