cmssy-cli 0.12.2 → 0.13.0

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.
@@ -4,6 +4,7 @@ import chalk from "chalk";
4
4
  import ora from "ora";
5
5
  import archiver from "archiver";
6
6
  import { loadConfig } from "../utils/cmssy-config.js";
7
+ import { scanResources } from "../utils/scanner.js";
7
8
  export async function packageCommand(packageNames = [], options) {
8
9
  const cwd = process.cwd();
9
10
  // Load cmssy config
@@ -15,12 +16,26 @@ export async function packageCommand(packageNames = [], options) {
15
16
  console.error(chalk.red("✖ Not a Cmssy project (missing cmssy.config.js)"));
16
17
  process.exit(1);
17
18
  }
18
- // Scan for blocks and templates
19
- const resources = await scanResources(cwd);
20
- if (resources.length === 0) {
19
+ // Scan for blocks and templates (minimal mode - no validation, just package.json)
20
+ const scannedResources = await scanResources({
21
+ strict: false,
22
+ loadConfig: false,
23
+ validateSchema: false,
24
+ loadPreview: false,
25
+ requirePackageJson: true,
26
+ cwd,
27
+ });
28
+ if (scannedResources.length === 0) {
21
29
  console.log(chalk.yellow("⚠ No blocks or templates found"));
22
30
  return;
23
31
  }
32
+ // Map ScannedResource to local Resource interface
33
+ const resources = scannedResources.map((r) => ({
34
+ name: r.name,
35
+ type: r.type,
36
+ dir: r.path, // ScannedResource uses 'path', local uses 'dir'
37
+ packageJson: r.packageJson,
38
+ }));
24
39
  // Determine which packages to package
25
40
  let toPackage = [];
26
41
  if (options.all) {
@@ -54,46 +69,6 @@ export async function packageCommand(packageNames = [], options) {
54
69
  }
55
70
  console.log(chalk.green(`\n✓ Successfully packaged ${toPackage.length} package(s) to ${outputDir}`));
56
71
  }
57
- async function scanResources(cwd) {
58
- const resources = [];
59
- // Scan blocks
60
- const blocksDir = path.join(cwd, "blocks");
61
- if (await fs.pathExists(blocksDir)) {
62
- const blockDirs = await fs.readdir(blocksDir);
63
- for (const name of blockDirs) {
64
- const blockDir = path.join(blocksDir, name);
65
- const packageJsonPath = path.join(blockDir, "package.json");
66
- if (await fs.pathExists(packageJsonPath)) {
67
- const packageJson = await fs.readJson(packageJsonPath);
68
- resources.push({
69
- name,
70
- type: "block",
71
- dir: blockDir,
72
- packageJson,
73
- });
74
- }
75
- }
76
- }
77
- // Scan templates
78
- const templatesDir = path.join(cwd, "templates");
79
- if (await fs.pathExists(templatesDir)) {
80
- const templateDirs = await fs.readdir(templatesDir);
81
- for (const name of templateDirs) {
82
- const templateDir = path.join(templatesDir, name);
83
- const packageJsonPath = path.join(templateDir, "package.json");
84
- if (await fs.pathExists(packageJsonPath)) {
85
- const packageJson = await fs.readJson(packageJsonPath);
86
- resources.push({
87
- name,
88
- type: "template",
89
- dir: templateDir,
90
- packageJson,
91
- });
92
- }
93
- }
94
- }
95
- return resources;
96
- }
97
72
  async function packageResource(resource, outputDir) {
98
73
  const spinner = ora(`Packaging ${resource.type} ${chalk.cyan(resource.name)}`).start();
99
74
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/commands/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/commands/package.ts"],"names":[],"mappings":"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"}
@@ -749,5 +749,79 @@ function showPublishError(message) {
749
749
  `;
750
750
  }
751
751
 
752
+ // Panel Toggle Functionality - Collapsed Sidebar
753
+ let leftPanelCollapsed = false;
754
+ let rightPanelCollapsed = false;
755
+
756
+ window.toggleLeftPanel = function() {
757
+ const container = document.getElementById('container');
758
+ const toggleBtn = document.getElementById('toggle-left');
759
+
760
+ leftPanelCollapsed = !leftPanelCollapsed;
761
+
762
+ if (leftPanelCollapsed) {
763
+ container.classList.add('left-collapsed');
764
+ toggleBtn.setAttribute('title', 'Expand panel (Ctrl+B)');
765
+ } else {
766
+ container.classList.remove('left-collapsed');
767
+ toggleBtn.setAttribute('title', 'Collapse panel (Ctrl+B)');
768
+ }
769
+
770
+ // Save preference
771
+ localStorage.setItem('leftPanelCollapsed', leftPanelCollapsed);
772
+ };
773
+
774
+ window.toggleRightPanel = function() {
775
+ const container = document.getElementById('container');
776
+ const toggleBtn = document.getElementById('toggle-right');
777
+
778
+ rightPanelCollapsed = !rightPanelCollapsed;
779
+
780
+ if (rightPanelCollapsed) {
781
+ container.classList.add('right-collapsed');
782
+ toggleBtn.setAttribute('title', 'Expand panel (Ctrl+E)');
783
+ } else {
784
+ container.classList.remove('right-collapsed');
785
+ toggleBtn.setAttribute('title', 'Collapse panel (Ctrl+E)');
786
+ }
787
+
788
+ // Save preference
789
+ localStorage.setItem('rightPanelCollapsed', rightPanelCollapsed);
790
+ };
791
+
792
+ // Restore panel states from localStorage
793
+ function restorePanelStates() {
794
+ const savedLeftState = localStorage.getItem('leftPanelCollapsed');
795
+ const savedRightState = localStorage.getItem('rightPanelCollapsed');
796
+
797
+ if (savedLeftState === 'true') {
798
+ leftPanelCollapsed = false; // Set to false so toggle will flip it
799
+ toggleLeftPanel();
800
+ }
801
+
802
+ if (savedRightState === 'true') {
803
+ rightPanelCollapsed = false; // Set to false so toggle will flip it
804
+ toggleRightPanel();
805
+ }
806
+ }
807
+
808
+ // Keyboard shortcuts
809
+ document.addEventListener('keydown', (event) => {
810
+ // Ctrl+B (or Cmd+B on Mac) - Toggle left panel
811
+ if ((event.ctrlKey || event.metaKey) && event.key === 'b') {
812
+ event.preventDefault();
813
+ toggleLeftPanel();
814
+ }
815
+
816
+ // Ctrl+E (or Cmd+E on Mac) - Toggle right panel
817
+ if ((event.ctrlKey || event.metaKey) && event.key === 'e') {
818
+ event.preventDefault();
819
+ toggleRightPanel();
820
+ }
821
+ });
822
+
752
823
  // Start the app
753
824
  init();
825
+
826
+ // Restore panel states after init
827
+ setTimeout(restorePanelStates, 100);