Skip to content

Commit 4218939

Browse files
committed
Remove unnecessary postinit function execution
1 parent b0d7806 commit 4218939

2 files changed

Lines changed: 0 additions & 97 deletions

File tree

libs/apps/initializer/nodejs.go

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ func (i *InitializerNodeJs) Initialize(ctx context.Context, workDir string) *Ini
4040
}
4141
}
4242

43-
// Step 3: Run postinit script if defined (fully optional — errors are logged, not fatal)
44-
i.runNpmPostInit(ctx, workDir)
45-
4643
return &InitResult{
4744
Success: true,
4845
Message: "Node.js project initialized successfully",
@@ -105,43 +102,6 @@ func (i *InitializerNodeJs) runAppkitSetup(ctx context.Context, workDir string)
105102
})
106103
}
107104

108-
// runNpmPostInit runs "npm run postinit" if the script is defined in package.json.
109-
// Failures are logged as warnings and never propagate — postinit is fully optional.
110-
func (i *InitializerNodeJs) runNpmPostInit(ctx context.Context, workDir string) {
111-
if !i.hasNpmScript(workDir, "postinit") {
112-
return
113-
}
114-
err := prompt.RunWithSpinnerCtx(ctx, "Running post-init...", func() error {
115-
cmd := exec.CommandContext(ctx, "npm", "run", "postinit")
116-
cmd.Dir = workDir
117-
cmd.Stdout = nil
118-
cmd.Stderr = nil
119-
return cmd.Run()
120-
})
121-
if err != nil {
122-
log.Debugf(ctx, "postinit script failed (non-fatal): %v", err)
123-
}
124-
}
125-
126-
// hasNpmScript reports whether the given script name is defined in the project's package.json.
127-
func (i *InitializerNodeJs) hasNpmScript(workDir, script string) bool {
128-
packageJSONPath := filepath.Join(workDir, "package.json")
129-
data, err := os.ReadFile(packageJSONPath)
130-
if err != nil {
131-
return false
132-
}
133-
134-
var pkg struct {
135-
Scripts map[string]string `json:"scripts"`
136-
}
137-
if err := json.Unmarshal(data, &pkg); err != nil {
138-
return false
139-
}
140-
141-
_, ok := pkg.Scripts[script]
142-
return ok
143-
}
144-
145105
// hasAppkit checks if the project has @databricks/appkit in its dependencies.
146106
func (i *InitializerNodeJs) hasAppkit(workDir string) bool {
147107
packageJSONPath := filepath.Join(workDir, "package.json")

libs/apps/initializer/nodejs_test.go

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -65,60 +65,3 @@ func TestHasAppkitNoPackageJSON(t *testing.T) {
6565
init := &InitializerNodeJs{}
6666
assert.False(t, init.hasAppkit(tmpDir))
6767
}
68-
69-
func TestHasNpmScript(t *testing.T) {
70-
tests := []struct {
71-
name string
72-
packageJSON string
73-
script string
74-
want bool
75-
}{
76-
{
77-
name: "script present",
78-
packageJSON: `{"scripts": {"postinit": "appkit postinit"}}`,
79-
script: "postinit",
80-
want: true,
81-
},
82-
{
83-
name: "script absent",
84-
packageJSON: `{"scripts": {"build": "tsc"}}`,
85-
script: "postinit",
86-
want: false,
87-
},
88-
{
89-
name: "no scripts section",
90-
packageJSON: `{}`,
91-
script: "postinit",
92-
want: false,
93-
},
94-
{
95-
name: "invalid json",
96-
packageJSON: `not json`,
97-
script: "postinit",
98-
want: false,
99-
},
100-
}
101-
102-
for _, tt := range tests {
103-
t.Run(tt.name, func(t *testing.T) {
104-
tmpDir, err := os.MkdirTemp("", "nodejs-test-*")
105-
require.NoError(t, err)
106-
defer os.RemoveAll(tmpDir)
107-
108-
err = os.WriteFile(filepath.Join(tmpDir, "package.json"), []byte(tt.packageJSON), 0o644)
109-
require.NoError(t, err)
110-
111-
i := &InitializerNodeJs{}
112-
assert.Equal(t, tt.want, i.hasNpmScript(tmpDir, tt.script))
113-
})
114-
}
115-
}
116-
117-
func TestHasNpmScriptNoPackageJSON(t *testing.T) {
118-
tmpDir, err := os.MkdirTemp("", "nodejs-test-*")
119-
require.NoError(t, err)
120-
defer os.RemoveAll(tmpDir)
121-
122-
i := &InitializerNodeJs{}
123-
assert.False(t, i.hasNpmScript(tmpDir, "postinit"))
124-
}

0 commit comments

Comments
 (0)