@@ -6,12 +6,9 @@ import (
6 "path/filepath"
6 "path/filepath"
13− InitFlagFilename = "init"
11+const InitFlagFilename = "init"
16type ProjectInitFlag struct {
13type ProjectInitFlag struct {
17 Initialized bool `json:"initialized"`
14 Initialized bool `json:"initialized"`
@@ -19,25 +16,29 @@ type ProjectInitFlag struct {
20// TODO: we need to remove the global config instance keeping it now just until everything is migrated
17// TODO: we need to remove the global config instance keeping it now just until everything is migrated
22− instance atomic.Pointer[Config]
19+ instance *Config
23 cwd string
20 cwd string
24− once sync.Once // Ensures the initialization happens only once
21+ once sync.Once
27func Init(workingDir string, debug bool) (*Config, error) {
25func Init(workingDir string, debug bool) (*Config, error) {
28 var err error
26 var err error
29 once.Do(func() {
28 once.Do(func() {
30 cwd = workingDir
29 cwd = workingDir
31 var cfg *Config
30 var cfg *Config
32 cfg, err = Load(cwd, debug)
31 cfg, err = Load(cwd, debug)
33− instance.Store(cfg)
32+ instance = cfg
36− return instance.Load(), err
36+ return instance, err
39func Get() *Config {
39func Get() *Config {
40− return instance.Load()
40+ wg.Wait()
43func ProjectNeedsInitialization() (bool, error) {
44func ProjectNeedsInitialization() (bool, error) {