@plumeria/compiler 0.6.2 → 0.6.3

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/bin/css.mjs CHANGED
@@ -6,14 +6,13 @@ import { styleText } from 'util';
6
6
  import fs from 'fs';
7
7
 
8
8
  try {
9
+ process.env.PATH = `${path.resolve(process.cwd(), 'node_modules', '.bin')}:${process.env.PATH}`;
9
10
  const checkMark = styleText('greenBright', '✓');
10
11
  const isPnpm = fs.existsSync(path.join(process.cwd(), 'node_modules/.pnpm'));
11
12
  const typecheck = process.argv.includes('--type-check');
12
- const compilation = typecheck ? 'Type-check completed' : '';
13
- console.log(` ${checkMark} Compilation... ${compilation}`);
14
13
 
15
14
  if (typecheck)
16
- execSync('npx tsc --noEmit --incremental false', {
15
+ execSync('tsc --noEmit --incremental false', {
17
16
  stdio: 'inherit',
18
17
  cwd: process.cwd(),
19
18
  });
@@ -23,10 +22,13 @@ try {
23
22
  : path.join(process.cwd(), 'node_modules/@plumeria');
24
23
 
25
24
  const argv = process.argv.includes('--log') ? ' --log' : '';
26
- execSync('npx tsx compiler/src/index.ts' + argv, {
25
+ execSync('rscute compiler/src/index.ts' + argv, {
27
26
  stdio: 'inherit',
28
27
  cwd: plumeriaPath,
29
28
  });
29
+
30
+ const compilation = typecheck ? 'Type-check completed' : '';
31
+ console.log(` ${checkMark} Compiled... ${compilation}`);
30
32
  } catch (error) {
31
33
  console.error('Compilation failed:', error.message);
32
34
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/compiler",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Compiler for Plumeria that build and optimizes",
5
5
  "keywords": [
6
6
  "react",
@@ -13,22 +13,21 @@
13
13
  "license": "MIT",
14
14
  "files": [
15
15
  "bin",
16
- "src",
17
- "tsconfig.json"
16
+ "src"
18
17
  ],
19
18
  "bin": {
20
19
  "css": "./bin/css.mjs"
21
20
  },
22
21
  "dependencies": {
23
22
  "fast-glob": "^3.3.3",
23
+ "rscute": "^0.0.1",
24
24
  "postcss": "^8.4.49",
25
- "postcss-combine-duplicated-selectors": "^10.0.3",
26
- "tsx": "^4.19.2"
25
+ "postcss-combine-duplicated-selectors": "^10.0.3"
27
26
  },
28
27
  "publishConfig": {
29
28
  "access": "public"
30
29
  },
31
30
  "scripts": {
32
- "build": "echo 'No build necessary'"
31
+ "build": "echo 'Build unnecessary'"
33
32
  }
34
33
  }
package/src/index.ts CHANGED
@@ -1,13 +1,26 @@
1
+ import { fileURLToPath } from 'url';
1
2
  import * as path from 'path';
2
3
  import * as fs from 'fs';
4
+ import { execute } from 'rscute';
3
5
  import ts from 'typescript';
4
6
  import fg from 'fast-glob';
5
- import { cleanUp } from './clean-up';
6
7
  import { buildCreate } from '@plumeria/core/dist/method/create-build-helper';
7
8
  import { buildGlobal } from '@plumeria/core/dist/method/global-build-helper';
8
9
  import postcss from 'postcss';
9
10
  import combineSelectors from 'postcss-combine-duplicated-selectors';
10
11
 
12
+ export const cleanUp = async () => {
13
+ const projectRoot = process.cwd().split('node_modules')[0];
14
+ const directPath = path.join(projectRoot, 'node_modules/@plumeria/core');
15
+ const coreFilePath = path.join(directPath, 'stylesheet/core.css');
16
+
17
+ try {
18
+ fs.writeFileSync(coreFilePath, '', 'utf-8');
19
+ } catch (err) {
20
+ console.error('An error occurred:', err);
21
+ }
22
+ };
23
+
11
24
  function isCSS(filePath: string): boolean {
12
25
  const content = fs.readFileSync(filePath, 'utf8');
13
26
  const sourceFile = ts.createSourceFile(
@@ -39,8 +52,9 @@ async function getAppRoot(): Promise<string> {
39
52
  }
40
53
 
41
54
  async function optimizeCSS() {
42
- const corePath = path.dirname(require.resolve('@plumeria/core/package.json'));
43
- const cssPath = path.join(corePath, 'dist/styles/global.css');
55
+ const corePackagePath = import.meta.resolve('@plumeria/core/package.json');
56
+ const corePath = path.dirname(fileURLToPath(new URL(corePackagePath)));
57
+ const cssPath = path.join(corePath, 'stylesheet/core.css');
44
58
  const cssContent = fs.readFileSync(cssPath, 'utf8');
45
59
  const result = postcss([
46
60
  combineSelectors({ removeDuplicatedProperties: true }),
@@ -63,16 +77,14 @@ async function optimizeCSS() {
63
77
  ],
64
78
  });
65
79
  const styleFiles = files.filter(isCSS);
66
- const importPromises = styleFiles.map(
67
- (styleFile) => import(path.resolve(styleFile)),
68
- );
69
- await Promise.all(importPromises);
70
-
71
80
  for (let i = 0; i < styleFiles.length; i++) {
72
- await buildCreate();
81
+ await execute(path.resolve(styleFiles[i]));
73
82
  }
74
83
  for (let i = 0; i < styleFiles.length; i++) {
75
84
  await buildGlobal();
76
85
  }
86
+ for (let i = 0; i < styleFiles.length; i++) {
87
+ await buildCreate();
88
+ }
77
89
  await optimizeCSS();
78
90
  })();
package/src/clean-up.ts DELETED
@@ -1,17 +0,0 @@
1
- import { writeFileSync } from 'fs';
2
- import path from 'path';
3
-
4
- export const cleanUp = async () => {
5
- const projectRoot = process.cwd().split('node_modules')[0];
6
- const directPath = path.join(projectRoot, 'node_modules/@plumeria/core');
7
-
8
- const createFilePath = directPath + '/dist/styles/create.css';
9
- const globalFilePath = directPath + '/dist/styles/global.css';
10
-
11
- try {
12
- writeFileSync(createFilePath, '', 'utf-8');
13
- writeFileSync(globalFilePath, '', 'utf-8');
14
- } catch (err) {
15
- console.error('An error occurred:', err);
16
- }
17
- };
package/tsconfig.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "ESNext",
4
- "moduleResolution": "Bundler"
5
- }
6
- }