Don't generate manifest.ts (#127)

This commit is contained in:
Ben Schumacher 2020-09-23 01:14:00 +02:00 committed by GitHub
parent eae9f9826a
commit 18d30b50bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 1 additions and 63 deletions

1
.gitattributes vendored
View file

@ -1,2 +1 @@
server/manifest.go linguist-generated=true
webapp/src/manifest.js linguist-generated=true

View file

@ -5,7 +5,6 @@ import (
"fmt"
"io/ioutil"
"os"
"strings"
"github.com/mattermost/mattermost-server/v5/model"
"github.com/pkg/errors"
@ -32,17 +31,6 @@ func init() {
}
`
const pluginIDJSFileTemplate = `// This file is automatically generated. Do not modify it manually.
const manifest = JSON.parse(` + "`" + `
%s
` + "`" + `);
export default manifest;
export const id = manifest.id;
export const version = manifest.version;
`
func main() {
if len(os.Args) <= 1 {
panic("no cmd specified")
@ -134,28 +122,5 @@ func applyManifest(manifest *model.Manifest) error {
}
}
if manifest.HasWebapp() {
// generate JSON representation of Manifest.
// JSON is very similar and compatible with JS's object literals. so, what we do here
// is actually JS code generation.
manifestBytes, err := json.MarshalIndent(manifest, "", " ")
if err != nil {
return err
}
manifestStr := string(manifestBytes)
// Escape newlines
manifestStr = strings.ReplaceAll(manifestStr, `\n`, `\\n`)
// write generated code to file by using JS file template.
if err := ioutil.WriteFile(
"webapp/src/manifest.ts",
[]byte(fmt.Sprintf(pluginIDJSFileTemplate, manifestStr)),
0600,
); err != nil {
return errors.Wrap(err, "failed to open webapp/src/manifest.js")
}
}
return nil
}

View file

@ -1,30 +1,4 @@
// This file is automatically generated. Do not modify it manually.
const manifest = JSON.parse(`
{
"id": "com.mattermost.plugin-starter-template",
"name": "Plugin Starter Template",
"description": "This plugin serves as a starting point for writing a Mattermost plugin.",
"version": "0.1.0",
"min_server_version": "5.12.0",
"server": {
"executables": {
"linux-amd64": "server/dist/plugin-linux-amd64",
"darwin-amd64": "server/dist/plugin-darwin-amd64",
"windows-amd64": "server/dist/plugin-windows-amd64.exe"
},
"executable": ""
},
"webapp": {
"bundle_path": "webapp/dist/main.js"
},
"settings_schema": {
"header": "",
"footer": "",
"settings": []
}
}
`);
import manifest from '../../plugin.json';
export default manifest;
export const id = manifest.id;