@neocompose/cli 0.47.1 → 0.48.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.
- package/CHANGELOG.md +8 -0
- package/README.md +44 -3
- package/dist/neo.mjs +5868 -5057
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +37 -9
- package/skills/neocompose-cli/references/cli-development.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.48.0] - 2026-09-10
|
|
4
|
+
|
|
5
|
+
- Preserve current declaration and managed asset paths through pull, force, and reset, including files moved since the previous synchronization.
|
|
6
|
+
- Support typed local initializer declarations in any project folder, with one owner per aggregate and explicit `Reference(NAME)` uses. Pull preserves extracted initializers and aliases; divergent scalar uses retain the server values.
|
|
7
|
+
- Add shared editor actions to extract an initializer into a file, inline its sole use, or duplicate it with fresh nested identities.
|
|
8
|
+
- Place newly encountered system declarations in their category's `System` subfolder, including classes, enums, interfaces, templates, localization statuses, and priority/dialogue groups.
|
|
9
|
+
- Recognize migration headers outside `Migrations` and preserve migration ordering with `@order`.
|
|
10
|
+
|
|
3
11
|
## [0.47.1] - 2026-09-09
|
|
4
12
|
|
|
5
13
|
### Changed
|
package/README.md
CHANGED
|
@@ -57,9 +57,9 @@ neo/
|
|
|
57
57
|
neo.json # formatVersion: 4
|
|
58
58
|
Project.neo # project defaults/settings
|
|
59
59
|
Root.neo # protected root shape; editable root values
|
|
60
|
-
Classes/
|
|
61
|
-
Interfaces/
|
|
62
|
-
Enums/
|
|
60
|
+
Classes/{System/, ...}
|
|
61
|
+
Interfaces/{System/, ...}
|
|
62
|
+
Enums/{System/, ...}
|
|
63
63
|
Relations.neo # generic project relations, when present
|
|
64
64
|
Templates/
|
|
65
65
|
Localization.neo
|
|
@@ -105,6 +105,47 @@ In Unity projects, `neo.json` may use `unityConfigPath` instead of storing
|
|
|
105
105
|
`projectId` and `versionId`. The referenced `NeoComposeConfig.asset` then owns
|
|
106
106
|
those IDs and receives branch/version switches.
|
|
107
107
|
|
|
108
|
+
### Organize source locally
|
|
109
|
+
|
|
110
|
+
Move `.neo` and `.neoflow` files into any project folder, and group declarations
|
|
111
|
+
in files as you prefer. Keep existing IDs. Pull, force, and reset read your
|
|
112
|
+
current placement before applying server state. New server declarations use
|
|
113
|
+
the default folders. System declarations use a `System` subfolder, such as
|
|
114
|
+
`Classes/System`, `Enums/System`, or `Interfaces/System`. Ownership comes from
|
|
115
|
+
the reserved system identity, so project types keep their normal defaults.
|
|
116
|
+
Managed images and audio can also move. Update their typed registry paths.
|
|
117
|
+
|
|
118
|
+
Extract large Root or static initializers into typed declarations without imports:
|
|
119
|
+
|
|
120
|
+
```neo
|
|
121
|
+
// Configuration/ProjectSortingLayers.neo
|
|
122
|
+
List<NeoSortingLayer> SORTING_LAYERS = [
|
|
123
|
+
new NeoSortingLayer() { Name = "Default" }
|
|
124
|
+
];
|
|
125
|
+
|
|
126
|
+
// Inside the Root Assets initializer
|
|
127
|
+
SortingLayers = SORTING_LAYERS
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Existing nested `@id` annotations stay with the extracted initializer. The
|
|
131
|
+
consuming member keeps its value ID; no ID is required at the use. An aggregate
|
|
132
|
+
has one owning assignment. Additional references use `Reference(NAME)` where
|
|
133
|
+
the member supports references. Independent copies need fresh nested IDs;
|
|
134
|
+
the editor's duplicate action removes the old IDs. Scalars may have several
|
|
135
|
+
owners. If web edits make those values differ, pull inlines the differing uses.
|
|
136
|
+
|
|
137
|
+
The shared language service offers extract-to-file for a selected complete
|
|
138
|
+
initializer, inline for a sole use, and duplicate. These declarations are local
|
|
139
|
+
project setup and do not create runtime globals. Use them as complete value
|
|
140
|
+
initializers; using their names inside executable expressions such as
|
|
141
|
+
`BASE + 1` is rejected. Initializer cycles and ambiguous
|
|
142
|
+
aggregate ownership fail validation before synchronization. Fix source errors
|
|
143
|
+
before resetting a checkout with extracted initializers so their layout can be
|
|
144
|
+
recovered safely.
|
|
145
|
+
|
|
146
|
+
Migrations can move too. Keep their `/// @migration` header and `/// @order N`
|
|
147
|
+
directive, or retain the numeric filename prefix for ordering.
|
|
148
|
+
|
|
108
149
|
## Native Neo authoring
|
|
109
150
|
|
|
110
151
|
Classes, interfaces, and enums are top-level declarations. Schema functions,
|